README
DeepSeek Harness Voice Context
English | 中文
DeepSeek Harness Voice Context is a voice-enabled distribution of DeepSeek Harness. It adds first-party browser recording, trusted Host-side transcription routing, an OpenAI-compatible local speech-to-text server, and a first-use settings flow for choosing cloud or offline models.
This project inherits DeepSeek Harness's developer-preview status. Interfaces and configuration may change before a stable release.
Highlights
- Record speech from the Web composer and insert the transcript into the draft without sending a message automatically.
- Choose a cloud API or a fully local offline backend from the Voice-Context settings page.
- Use FunASR
iic/SenseVoiceSmallfor fast Chinese transcription or faster-whispersmall,medium, andlarge-v3for multilingual workloads. - Route browser audio through the existing Typert Remote and
/apitrust boundary; the browser cannot supply an arbitrary upstream URL. - Store the cloud API key through the credentials service instead of browser storage or client responses.
- Expose an OpenAI-compatible
POST /v1/audio/transcriptionsendpoint for DeepSeek Harness and other compatible clients. - Keep one local model resident at a time so switching model sizes does not retain every model in memory.
- Preserve ordinary DeepSeek Harness sessions, plugins, tools, and Web UI behavior.
Architecture
Voice Context follows the repository's “everything is a plugin” design. The browser owns recording and the user's backend/model preference; the Host owns trusted URLs, credentials, payload limits, and upstream requests.
flowchart LR
A["Browser microphone"] --> B["16 kHz mono WAV"]
B --> C["Typert Remote over /api"]
C --> D["VoiceContextService"]
D -->|"local"| E["Local STT server"]
D -->|"cloud"| F["SiliconFlow API"]
E --> G["Transcript"]
F --> G
G --> H["Composer draft"]
The Host package is documented in the Voice Context package README, while the client package README owns browser recording and settings behavior. The selectable-backends Agent Note records the architectural decision.
Model choices
| Backend | Model | Primary use | Weight handling |
|---|---|---|---|
| Local FunASR | iic/SenseVoiceSmall |
Fast Chinese-first transcription on CPU | Downloaded by FunASR on first use |
| Local faster-whisper | small |
Faster multilingual transcription | Download with download_models.py |
| Local faster-whisper | medium |
Higher multilingual accuracy | Download with download_models.py |
| Local faster-whisper | large-v3 |
Highest-quality multilingual Whisper option | Download with download_models.py |
| Cloud | FunAudioLLM/SenseVoiceSmall |
No local model storage; SiliconFlow-hosted inference | Requires SILICONFLOW_API_KEY |
Model weights are deliberately excluded from Git. A clone contains the server and download helper, not multi-gigabyte .pt, .bin, or cache files.
Quick start
Prerequisites
- Node.js
^22.19.0or>=24.0.0and Corepack/pnpm11.7.0. - Python 3.9 or newer for local transcription.
- A microphone-capable browser for voice input.
- A DeepSeek API key for agent conversations; a SiliconFlow key is required only for cloud transcription.
1. Clone and build
git clone https://github.com/CharlesLiuZC/deepseek-harness-voice-context.git
cd deepseek-harness-voice-context
corepack enable
corepack prepare pnpm@11.7.0 --activate
pnpm install
pnpm run build
2. Configure agent credentials
Copy .env.example to .env, then add DEEPSEEK_API_KEY. Add SILICONFLOW_API_KEY only when you plan to use the cloud transcription backend.
Copy-Item .env.example .env
cp .env.example .env
The .env file is ignored by Git. Never commit real credentials.
3. Start the local transcription server
Windows:
cd packages\voice\voice-context\local\funasr
start.bat
Linux or macOS:
cd packages/voice/voice-context/local/funasr
bash start.sh
The first run creates .venv, installs FunASR, CPU torch, and faster-whisper, then starts http://127.0.0.1:8000. SenseVoiceSmall downloads through FunASR on its first transcription.
To install one or more faster-whisper models, run the download helper in a second terminal after the virtual environment exists:
.venv\Scripts\python download_models.py small
.venv\Scripts\python download_models.py medium large-v3
# Or download every supported Whisper model:
.venv\Scripts\python download_models.py all
.venv/bin/python download_models.py small
.venv/bin/python download_models.py medium large-v3
# Or download every supported Whisper model:
.venv/bin/python download_models.py all
Downloaded files stay under local/funasr/models/, which is ignored by Git. See the local server guide for the API, environment variables, storage, and security details.
4. Start DeepSeek Harness Web
From the repository root:
pnpm dsh web
Open http://127.0.0.1:3080, enter Settings → Voice-Context, choose Local offline or Cloud API, select a model, and save the voice configuration. The microphone button then uses that selection for each finished recording.
Configuration
更多「語音」外掛
vox-director
作者 alisa0808
將主題自動生成 Vox 拼貼風解說或廣告影片的智慧體技能,全流程在 Atlas Cloud 與 ffmpeg 上自動完成。
dsh-voice-ai-girlfriend
作者 beiyege-01
語音 AI 女友(Voice AI girlfriend for DeepSeek Harness):Whisper 語音輸入 + Qwen3-TTS 聲音克隆 + 句子級流式朗讀 + 數字人動畫窗。插話/排隊雙模式,說話即打斷。
dsh-voice-prompt-enhancer
作者 fishsb
DeepSeek-Harness (DSH) 外掛:✨ 提示詞一鍵增強(5 模式·模型鏈·記憶鏈)+ 💬 語音輸入增強(熱鍵·說完自動停·口水詞清理·語音糾錯)
dsh-plugin-tts
作者 1624318455
Edge TTS 語音朗讀外掛:朗讀回覆、自動朗讀開關,免費無需 API key
