voicelens 音訊轉寫 / 語音輸入
觸發條件
- 使用者提供了一個音訊檔案路徑或 URL,要求「轉寫 / 聽寫 / 語音轉文字 / 提取音訊內容」。
- 使用者詢問如何配置 voicelens 的 ASR 引擎(OpenAI 相容端點 / Groq / whisper.cpp)。
- (僅 DSH)使用者在輸入框點麥克風按鈕說話——這條路徑由用戶端外掛自動完成,不需要本技能介入。
核心規則
音訊出現但當前模型「聽不到」時,不要自己寫 ffmpeg / OCR / 轉寫腳本,先轉寫並引用回傳的 text 作為證據。
執行(依宿主偵測)
- DeepSeek Harness(有
transcribe_audio工具)→ 直接呼叫該工具,傳path或url。 - 其他宿主(Claude Code / Codex / Pi / OpenClaw / OpenCode …)→ 執行 CLI:
輸出 JSON:voicelens transcribe <file-or-url> [--lang zh] [--provider groq]{ "text", "language", "provider" },引用text作為證據。 - 診斷(任何宿主):
voicelens doctor
配置(供代理替使用者執行)
配置分層:環境變數 VOICELENS_* > ~/.voicelens/config.json > 內建預設。
方案 A:Groq(免費額度,推薦)
VOICELENS_PROVIDER=groq
VOICELENS_GROQ_API_KEY=<gsk_...>
方案 B:OpenAI 相容端點(任意 whisper 閘道)
VOICELENS_PROVIDER=openai
VOICELENS_OPENAI_API_KEY=<key>
VOICELENS_OPENAI_BASE_URL=https://api.openai.com/v1
VOICELENS_OPENAI_MODEL=whisper-1
方案 C:本機 whisper.cpp(零 key)
VOICELENS_PROVIDER=whisper-local
VOICELENS_WHISPER_CPP=/path/to/whisper.cpp/build/bin/main
VOICELENS_WHISPER_MODEL=/path/to/ggml-base.bin
或寫入 ~/.voicelens/config.json:
{ "provider": "groq", "groqApiKey": "gsk_..." }
輸出契約
{ text, language?, provider } —— 模型側轉寫統一走這個形狀(工具與 CLI 一致)。
已知邊界
- DSH 當前沒有音訊訊息管線(
attachments僅圖片、ModelModality僅 text|image),所以語音攝入端在 DSH 用戶端麥克風按鈕;模型側檔案轉寫走本技能/工具。 - DSH 麥克風按鈕依賴 Chrome/Edge 的
SpeechRecognition(零配置);其餘瀏覽器提示切換。