Skip to content

Latest commit

 

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoiceKey — 語音轉文字

按熱鍵 → 錄音 → API 辨識 → 自動貼上文字到游標位置

三層架構:Grok STT(第一層)→ Cerebras LLM 修正(第二層)→ 拼音詞彙精修(第三層),解決繁簡混用、標點遺漏、人名術語辨識問題。

文件索引:僅本檔(根目錄)使用 README.md;各子資料夾以 INDEX.md 為入口(見 docs/INDEX.md)。
Agent 開工先讀 AGENTS.md

現況(2026-07-22):本機路徑 A 部署完成(VoiceKey-macOS-20260712.dmg/Applications/VoiceKey.app);煙測通過;部署後驗證 #1 多 App 貼上#2 模式切換 已確認。#3–#7 待測見 todo.md。approach-3 與 approach-6 原始碼已移除,歷史摘要見 Windows 方案macOS Python 方案。分發腳本與 INSTALL-zh-TW.md 已就緒;zip/dmg 不進 git,需本機 package 後另傳。


方案一覽

方案 平台 狀態 說明
VoiceKeyvoicekey/ macOS 主力 原生 Swift/AppKit。本機實機跑通全管線;34 單元測試。見 voicekey/INDEX.md

快速開始(VoiceKey,本機開發機)

需求

  • 完整 Xcode(非僅 Command Line Tools)
  • xcodegenbrew install xcodegen
  • API keys:XAI_API_KEY(Grok STT)、CEREBRAS_API_KEY(LLM 修正)

首次:簽章憑證(每台開發機一次)

cd voicekey
bash setup-signing-cert.sh   # 建立 "VoiceKey Self-Signed"

固定 identity 後,rebuild 不會每次掉「輔助使用」授權(ad-hoc 會掉)。詳見 TROUBLESHOOTING-xcode.md

建置 / 測試 / 安裝

cd voicekey
./test.sh       # 單元測試
./package.sh    # Release + self-signed → ~/Library/Developer/VoiceKey-DD/.../VoiceKey.app
# 拖進 /Applications,或 ditto 覆蓋

API Key(本機)

mkdir -p "$HOME/Library/Application Support/VoiceKey"
# 編輯 env.local(chmod 600),至少:
# XAI_API_KEY=...
# CEREBRAS_API_KEY=...

Key 讀取順序:環境變數 → App Support env.local → Keychain → bundle config.json
絕不把 key 提交 git 或打包進 .app

使用

操作 說明
Ctrl+F1 開始 / 停止錄音 → 辨識 → 貼上
Ctrl+F10 循環切換模式
選單列 🎤 模式、詞彙檔、關於、結束

首次需允許:麥克風輔助使用(不需「輸入監控」)。

詞彙與本機覆蓋

路徑(皆在 ~/Library/Application Support/VoiceKey/ 用途
user_vocab.json 三層詞彙;首次啟動由 bundle 種子;存檔即熱重載
config.local.json 本機 deep merge(例如 recording.input_device

跨機部署(其他 Mac,無需 Xcode)

  1. 在開發機產出分發包:
cd voicekey
./package.sh && ./make-distribution.sh
# → voicekey/dist/VoiceKey-macOS-YYYYMMDD.zip 與 .dmg
  1. zip 或 dmg 拷到目標機(AirDrop / USB / 內網)。

  2. 目標機步驟摘要:

    • VoiceKey.app/Applications
    • 右鍵「開啟」(未 notarize,Gatekeeper 提示屬正常)或 xattr -dr com.apple.quarantine /Applications/VoiceKey.app
    • 各機自備 ~/Library/Application Support/VoiceKey/env.local(API keys,chmod 600
    • (選配)config.local.json 指定 recording.input_device
    • 允許 麥克風 + 輔助使用Ctrl+F1 煙測
    • Log:~/Library/Logs/VoiceKey/app.log

也可請目標機上的 AI agent 執行安裝(需你提供 zip/dmg 路徑與 API keys)。

部署後驗證(每台 Mac 建議)

# 項目 本機
1 多 App 貼上(TextEdit / Safari / IDE 等)
2 模式切換(選單打勾 + Ctrl+F10)
3–7 專有名詞、簡體修正、冷啟動、單例鎖、選單列 UI todo.md

辨識模式

ID 顯示 行為
direct 直接轉錄 繁中忠實輸出
zh2en 中翻英 說中文,輸出英文
pro 專業模式 技術術語保留英文
casual 一般對話 口語化

測試 API Key(開發用)

python scripts/test_api_key.py    # OpenAI / xAI / Groq
python scripts/test_cerebras.py   # Cerebras

技術摘要(VoiceKey)

Ctrl+F1
  → Carbon 熱鍵 → AVAudioEngine 錄音(16k mono PCM16)
  → Grok STT(keyterm hint)
  → Cerebras LLM 修正(失敗則用 raw STT)
  → 拼音詞彙 fuzzy(user_vocab.json)
  → NSPasteboard + CGEvent Cmd+V
  → SQLite session log(~/.voicekey_log.db)
項目 說明
簽章 self-signed VoiceKey Self-Signed;未 notarize
DerivedData ~/Library/Developer/VoiceKey-DD(避開 iCloud 專案目錄)
Log ~/Library/Logs/VoiceKey/app.log
Bundle id com.alston.VoiceKey

開發者 / AI Agent

文件 用途
AGENTS.md Governance — 每個 session 先讀
docs/INDEX.md Agent 文件路由
docs/agent-progress.md 近期進度
todo.md 待辦
voicekey/INDEX.md VoiceKey 建置與安裝
voicekey/TROUBLESHOOTING-xcode.md 實機踩坑

授權

本專案供學習與個人使用。各 API 使用需遵守對應服務條款(OpenAI / xAI / Cerebras / Groq)。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages