Communitygithub.com

VoiceLens

音声ファイルを文字起こしするAIエージェントスキル(Groq / OpenAI / whisper.cpp対応)

VoiceLens とは?

VoiceLensは、AIエージェント(Claude Code、DeepSeek Harness、Codex、Pi、OpenClaw、OpenCodeなど)に音声入力・文字起こし機能を追加するスキルです。ユーザーが音声ファイルのパスやURLを指定すると、エージェントが自動的に文字起こしを実行し、結果をテキストとして返します。内部ではGroq、OpenAI互換エンドポイント、またはローカルのwhisper.cppのいずれかを使用し、環境変数や設定ファイルで柔軟に切り替えられます。DeepSeek Harness環境では組み込みの`transcribe_audio`ツールを直接呼び出し、その他のホストでは`voicelens transcribe`CLIコマンドを実行します。出力は常に`{ "text", "language", "provider" }`形式のJSONで統一されており、エージェントが簡単に結果を利用できます。また、`voicelens doctor`で診断も可能です。

対応✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add EthanHuangEbor/VoiceLens

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

voicelens 音声文字起こし / 音声入力

トリガー条件

  • ユーザーが音声ファイルのパスまたはURLを指定し、「文字起こし / 書き起こし / 音声をテキスト化 / 音声内容を抽出」を依頼する。
  • ユーザーがvoicelensのASRエンジン(OpenAI互換エンドポイント / Groq / whisper.cpp)の設定方法を尋ねる。
  • (DSHのみ)ユーザーが入力欄のマイクボタンを押して話す — このパスはクライアントプラグインが自動的に処理するため、本スキルは介入不要。

コアルール

音声ファイルが存在するが現在のモデルが「聞こえない」場合、ffmpeg / OCR / 文字起こしスクリプトを独自に作成せず、まず文字起こしを実行し、返された text を証拠として引用する。

実行(ホスト別)

  1. DeepSeek Harness(transcribe_audio ツールあり)→ そのツールを直接呼び出し、path または url を渡す。
  2. その他のホスト(Claude Code / Codex / Pi / OpenClaw / OpenCode …)→ CLIを実行:
    voicelens transcribe <file-or-url> [--lang zh] [--provider groq]
    
    JSONを出力:{ "text", "language", "provider" }、text を証拠として引用する。
  3. 診断(任意のホスト):
    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(キー不要)

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 に依存(設定不要);その他のブラウザでは切り替えを促す。

関連スキル