Nice Korean Spell Checker

approved

by creative781

Simple Korean spell checker for Obsidian using Bareun.ai or Google Gemini API - This plugin has not been manually reviewed by Obsidian staff.

195 downloadsUpdated 1mo agoMIT

Nice Korean Spell Checker

A simple Obsidian plugin for Korean spell checking. Review errors one by one in a modal, apply fixes directly in your note, or skip and keep writing.

Supports two backends:

  • Bareun.ai — Korean spell-check API (recommended; free tier available)
  • Google Gemini — LLM-based checking (requires your own Gemini API key)

Features

  • Ribbon icon and command palette: Run spell check
  • Sequential review modal: original → suggested fix → explanation
  • Edit the suggestion before applying
  • Context preview with scroll (surrounding lines visible)
  • Selection-only check: drag text to check just that part
  • Exclude YAML properties on full-note checks (default: on)
  • Ignore dictionary: words you add are skipped in future checks
  • Correction log note (optional toggle): auto-append a table of fixes you apply
  • Two engines: Bareun or Gemini (same UI)

Installation

Manual

  1. Copy this folder into your vault:
    .obsidian/plugins/nice-korean-spell-checker/
    
  2. Required files: main.js, manifest.json, styles.css
  3. Build from source (optional):
    npm install
    npm run build
    
  4. Enable Nice Korean Spell Checker in Obsidian → Settings → Community plugins.

Quick start

  1. Open Settings → Nice Korean Spell Checker
  2. Choose an engine (Bareun recommended)
  3. Paste your API key (see below)
  4. Open a note → click the languages ribbon icon or run 맞춤법 검사 실행

API keys (important)

This plugin does not include API keys. Each user must sign up and paste their own key. Keys are stored only locally in Obsidian plugin data (data.json in the plugin folder). They are sent only to the provider you choose (Bareun or Google) when you run a spell check.

Option A: Bareun.ai (recommended for Korean)

Best for formal Korean spelling, spacing, and grammar. Free tier: 50,000 eojeol (word units) per month for personal use.

How to get a key

  1. Go to https://bareun.ai and create an account.
  2. Log in → open My info / 내정보 (or API settings).
  3. Copy your API key. It usually starts with koba-, for example:
    koba-XXXX-XXXX-XXXX-XXXX
    
  4. In Obsidian plugin settings:
    • Engine: Bareun (Bareun.ai)
    • Paste the key into Bareun API key

Notes

  • Without a valid key, spell check will not run.
  • Usage limits depend on your Bareun plan; see bareun.ai for current quotas.

Option B: Google Gemini

Uses Google's Generative Language API. You need a Gemini API key from Google AI Studio.

How to get a key

  1. Go to https://aistudio.google.com/apikey.
  2. Sign in with your Google account.
  3. Click Create API key.
  4. Copy the key (format varies), for example:
    AIzaSy...
    
    or
    AQ....
    
  5. In Obsidian plugin settings:
    • Engine: Gemini
    • Paste into Gemini API key
    • Choose a Gemini model from the dropdown (default: Gemini 3.6 Flash)

Notes

  • Gemini may charge per token on paid tiers; AI Studio also offers a free tier with rate limits — see Google's pricing.
  • For spell checking only, Gemini 3.5 Flash Lite is cheaper; Bareun is usually better for Korean rules.
  • You do not need to create a GCP project manually for basic AI Studio keys.
  • If you see 404 errors, pick a newer model (older models like gemini-2.0-flash have been retired).

Usage

ActionHow
Check whole noteRibbon icon or command palette
Check selection onlySelect text, then run spell check
Apply fix수정 (or Enter)
Skip넘기기
Ignore word forever무시 사전에 추가
Edit suggestionType in the 수정 field before applying

Settings overview

SettingDescription
Spell check engineBareun or Gemini
API keyKey for the selected engine
Exclude propertiesSkip --- YAML frontmatter on full-note checks
Correction logToggle on/off; folder + note name when enabled
Ignore dictionaryWords excluded from future checks

Privacy & security

  • API keys stay in your vault's plugin data on your device.
  • Note text is sent to Bareun or Google only when you run spell check.
  • No analytics or third-party servers beyond the API provider you choose.

Development

npm install
npm run dev    # watch build
npm run build  # production bundle → main.js

License

MIT

Connect

Support


Nice Korean Spell Checker (한국어)

Obsidian용 간단한 한국어 맞춤법 검사 플러그인입니다. 틀린 부분을 하나씩 보여 주고, 노트에 바로 반영하거나 넘길 수 있습니다.

지원 엔진:

  • 바른(Bareun.ai) — 한국어 맞춤법 전용 API (권장, 무료 한도 있음)
  • Google Gemini — LLM 기반 검사 (본인 Gemini API 키 필요)

기능

  • 리본 아이콘·명령 팔레트: 맞춤법 검사 실행
  • 순차 교정 모달: 원문 → 수정안 → 설명
  • 수정안 직접 편집 후 반영
  • 앞뒤 맥락 미리보기 + 스크롤
  • 드래그 선택 영역만 검사
  • 속성(프론트매터) 제외 (전체 검사 시, 기본 켜짐)
  • 무시 사전: 등록한 단어는 이후 검사에서 제외
  • 교정 기록 노트 (켜기/끄기): 적용한 수정을 표로 자동 기록
  • 바른 / Gemini 엔진 선택 (UI 동일)

설치

  1. 이 폴더를 볼트에 복사:
    .obsidian/plugins/nice-korean-spell-checker/
    
  2. main.js, manifest.json, styles.css 필요
  3. 소스에서 빌드:
    npm install
    npm run build
    
  4. Obsidian → 설정 → 커뮤니티 플러그인에서 활성화

빠른 시작

  1. 설정 → Nice Korean Spell Checker
  2. 엔진 선택 (바른 권장)
  3. API 키 입력 (아래 참고)
  4. 노트 열기 → 리본 아이콘(🌐) 또는 맞춤법 검사 실행

API 키 안내

플러그인에 API 키가 포함되어 있지 않습니다. 사용자마다 직접 발급받아 설정에 입력해야 합니다. 키는 내 컴퓨터의 Obsidian 플러그인 데이터에만 저장되며, 맞춤법 검사를 실행할 때 선택한 서비스로만 전송됩니다.

A. 바른(Bareun.ai) — 한국어 맞춤법에 권장

키 발급 방법

  1. https://bareun.ai 가입
  2. 로그인 → 내정보에서 API 키 복사 (koba-로 시작)
  3. 플러그인 설정 → 엔진 바른Bareun API 키에 붙여넣기

개인용 월 5만 어절 무료 등 (바른 정책 참고).

B. Google Gemini

키 발급 방법

  1. https://aistudio.google.com/apikey 접속
  2. API 키 만들기 → 복사 (AIza... 또는 AQ....)
  3. 플러그인 설정 → 엔진 Gemini → 키 입력 → 모델 선택

맞춤법만 목적이면 3.5 Flash Lite가 저렴하고, 한국어 규칙바른이 일반적으로 더 낫습니다.


사용법

동작방법
전체 검사리본 아이콘 또는 명령 팔레트
일부만 검사텍스트 드래그 후 검사 실행
수정 반영수정 (또는 Enter)
건너뛰기넘기기
단어 무시무시 사전에 추가

설정 요약

설정설명
맞춤법 검사 엔진바른 / Gemini
API 키선택한 엔진용 키
속성(프론트매터) 제외YAML 블록 제외 (전체 검사)
교정 기록 노트 사용켜면 수정 내역 저장
무시 사전검사 제외 단어 목록

License

MIT

소통

후원

여러분의 후원이 업데이트를 더 빠르게 하는 데 도움이 됩니다.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.