grammar-watch
Health Warn
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 5 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
監看 Claude Code 與 Codex 的 session,即時用繁體中文講評你打的英文 prompt
grammar-watch
監看 coding agent(Claude Code、OpenAI Codex)的 session 紀錄,偵測到新打的 prompt 就送給 LLM,然後在終端機印出「你打了什麼 / 建議怎麼打 / 文法或單字的改進點」。
推薦在另一個 tmux window 或 Herdr pane 執行,工作時瞄一眼即可。

安裝
不需要 Rust 工具鏈,依平台擇一即可:
# macOS / Linux:Homebrew
brew install xavierforge/tap/grammar-watch
# macOS / Linux:安裝腳本(自動偵測平台,含 Apple Silicon 和 Linux aarch64)
curl -LsSf https://github.com/xavierforge/grammar-watch/releases/latest/download/grammar-watch-installer.sh | sh
# Windows:PowerShell
powershell -ExecutionPolicy Bypass -c "irm https://github.com/xavierforge/grammar-watch/releases/latest/download/grammar-watch-installer.ps1 | iex"
有 Rust 的人也可以從原始碼裝:
cargo install --git https://github.com/xavierforge/grammar-watch
使用說明
export ANTHROPIC_API_KEY=sk-...
# 不帶參數:互動式選單(推薦)
grammar-watch
# 或直接指定 session 檔,兩家的 JSONL 格式會自動辨識,不用擔心
grammar-watch ~/.claude/projects/<專案編碼>/<uuid>.jsonl
grammar-watch ~/.codex/sessions/YYYY/MM/DD/rollout-xxx.jsonl
互動式選單
不帶參數啟動時,會列出偵測到的專案(實際路徑、session 數、最近活動時間,最新的排最前面)。
若同時有在用 Claude Code 和 Codex 的話,選單最上面會有分頁列、使用 Tab 能進行切換(預設停在最近有活動的那家),若只用一家的人則不會看到分頁列。
選了專案之後就能選 session(顯示時間、識別碼、第一句 prompt 的預覽)。
操作方法:↑↓ 移動、Tab 換工具、Enter 或 → 確認、← 或 Esc 回上一層(← 在專案層沒作用,Esc 在專案層是離開)、打字過濾、Ctrl-C 離開。
另外,session 清單的第一個選項是「等待下一個新 Session」,它存在的理由是因為 session 檔得等使用者打出第一句話才會建立,如果等到建立之後再附著既有檔案,就會漏掉第一句話。
這時候選這個選項、再去開新的 Claude Code 或 Codex,新檔一出現就能自動接上並從頭讀,讓第一句不會被漏掉。
供應商與模型
預設 Anthropic(haiku)。用 --provider 換供應商、--model 換模型,金鑰一律讀環境變數:
| provider | 環境變數 | 預設模型 |
|---|---|---|
anthropic |
ANTHROPIC_API_KEY |
claude-haiku-4-5 |
openrouter |
OPENROUTER_API_KEY |
anthropic/claude-haiku-4.5 |
gemini |
GEMINI_API_KEY |
gemini-2.5-flash |
openai |
OPENAI_API_KEY |
gpt-4.1-mini |
export OPENROUTER_API_KEY=sk-or-...
grammar-watch --provider openrouter --model google/gemini-2.5-flash
設定檔(選用)
~/.config/grammar-watch/config.toml(如果有設定 XDG_CONFIG_HOME 則以它為準)。
全部欄位都可省略,優先級是 CLI 旗標 > 設定檔 > 內建預設:
provider = "openrouter" # anthropic / openrouter / gemini / openai
model = "anthropic/claude-haiku-4.5" # 省略就用該供應商的預設
log = "~/gw-journal.md" # 等同 --log:講評日誌
# extra = """講評改用英文""" # 等同 --extra:補充講評偏好(語言、語氣)
講評語言與風格(選用)
講評預設用繁體中文。想換語言或調整語氣,用 --extra 旗標或設定檔的 extra 欄位補充偏好:
# 臨時:加旗標
grammar-watch --extra "講評改用英文"
# 常駐:寫進設定檔
echo 'extra = "講評改用日文,語氣輕鬆一點"' >> ~/.config/grammar-watch/config.toml
0.4 以前的 preamble 欄位(完全自訂 system prompt)已移除,設定檔如果還有會直接報錯。現行的 extra 只能調整語言和風格。
講評日誌
把每則講評附時間戳追加到一個本地檔案,可以拿來回顧自己常犯的錯。
開啟方式如下:
# 臨時:加旗標
grammar-watch --log ~/gw-journal.md
# 常駐:寫進設定檔,之後每次自動記
mkdir -p ~/.config/grammar-watch
echo 'log = "~/gw-journal.md"' >> ~/.config/grammar-watch/config.toml
有成功生效的話,啟動時「模型:」下面會多一行「日誌:~/gw-journal.md」。
檔案是純文字(markdown 風格),每則講評一段:
## 2026-08-21 14:03:21
原文:<實際打的字,多行照原樣保留>
建議:<建議句>
講評:<講評,含另一種說法>
等日誌累積一段時間後,直接餵給任何 LLM 就可以整理出屬於自己的「常犯錯誤週報」,例如:
cat ~/gw-journal.md | claude -p "歸納這份英文講評日誌最常見的錯誤模式:每類給出現次數、兩三個原文與建議的對照例句、一句針對性的改進建議"
再搭配 cron 每週一早上跑一次,就能有全自動的學習回顧。
其他行為
- 預設只看「啟動之後」的新 prompt。若要從頭檢討整個 session 的過往對話,請加
--from-start(--from_start也可);「等待下一個新 Session」模式一律從頭讀。 - 自動跟隨:按
/clear(或 Codex 的/new)開出新 session 時會自動切換過去從頭講評,不用重開;Codex 跨午夜換日期資料夾也會跟上。 - 閒置提醒:整個監看範圍超過 15 分鐘沒動靜會提示一聲(工具可能已關閉),之後間隔翻倍再提醒。session 被 resume 的話會自動接續講評。
- 純中文或純指令(沒有英文字母)的行會自動跳過。
session 紀錄在哪
- Claude Code:
~/.claude/projects/<專案路徑編碼>/<session-uuid>.jsonl - Codex:
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl
互動式選單會幫你翻這些資料夾,不用手動撈檔名。
License
依 Rust 生態慣例採 MIT / Apache-2.0 雙授權,可任擇其一使用:
除非你另有明確聲明,你提交到本專案的任何貢獻(依 Apache-2.0 授權中的定義)都視為同意以上述雙授權釋出,不附加其他條款。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found