# 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): ```bash 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](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](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](https://ai.google.dev/gemini-api/docs/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 | Action | How | |--------|-----| | Check whole note | Ribbon icon or command palette | | Check selection only | Select text, then run spell check | | Apply fix | **수정** (or Enter) | | Skip | **넘기기** | | Ignore word forever | **무시 사전에 추가** | | Edit suggestion | Type in the **수정** field before applying | ### Settings overview | Setting | Description | |---------|-------------| | Spell check engine | Bareun or Gemini | | API key | Key for the selected engine | | Exclude properties | Skip `---` YAML frontmatter on full-note checks | | Correction log | Toggle on/off; folder + note name when enabled | | Ignore dictionary | Words 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 ```bash npm install npm run dev # watch build npm run build # production bundle → main.js ``` --- ## License MIT ## Connect - **YouTube**: [Creative781](https://www.youtube.com/@creative781) - **Blog**: [Creative781 Blog](https://creative781.cafe24.com/) ## Support - **Buy me a coffee**: [Support the developer](https://www.buymeacoffee.com/creative781) --- # 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. 소스에서 빌드: ```bash 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](https://bareun.ai) 가입 2. 로그인 → **내정보**에서 API 키 복사 (`koba-`로 시작) 3. 플러그인 설정 → 엔진 **바른** → **Bareun API 키**에 붙여넣기 개인용 **월 5만 어절 무료** 등 (바른 정책 참고). ### B. Google Gemini **키 발급 방법** 1. [https://aistudio.google.com/apikey](https://aistudio.google.com/apikey) 접속 2. **API 키 만들기** → 복사 (`AIza...` 또는 `AQ....`) 3. 플러그인 설정 → 엔진 **Gemini** → 키 입력 → 모델 선택 맞춤법만 목적이면 **3.5 Flash Lite**가 저렴하고, **한국어 규칙**은 **바른**이 일반적으로 더 낫습니다. --- ## 사용법 | 동작 | 방법 | |------|------| | 전체 검사 | 리본 아이콘 또는 명령 팔레트 | | 일부만 검사 | 텍스트 드래그 후 검사 실행 | | 수정 반영 | **수정** (또는 Enter) | | 건너뛰기 | **넘기기** | | 단어 무시 | **무시 사전에 추가** | ### 설정 요약 | 설정 | 설명 | |------|------| | 맞춤법 검사 엔진 | 바른 / Gemini | | API 키 | 선택한 엔진용 키 | | 속성(프론트매터) 제외 | YAML 블록 제외 (전체 검사) | | 교정 기록 노트 사용 | 켜면 수정 내역 저장 | | 무시 사전 | 검사 제외 단어 목록 | --- ## License MIT ## 소통 - **유튜브**: [Creative781](https://www.youtube.com/@creative781) - **블로그**: [Creative781 블로그](https://creative781.cafe24.com/) ## 후원 - **바이미커피**: [개발자 후원하기](https://www.buymeacoffee.com/creative781) 여러분의 후원이 업데이트를 더 빠르게 하는 데 도움이 됩니다.