证据快照复核于 2026-09-10GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle搜索、视觉与数据Web Profile

dsh-voice

为 DeepSeek Harness 网页界面提供语音听写和按住说话转写功能。

快速了解

它能做什么

为 DeepSeek Harness 网页界面提供语音听写和按住说话转写功能。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
搜索、视觉与数据UImedia-capture集成
适配技术
deepseek-harnessWebspeech-to-text
兼容性

Web Profile
Not declared in supplied evidence

可信度与状态

证据已验证
核对日期 2026/9/6 UTC 13:52

有代码证据的贡献

它为 DSH 增加什么

语音输入控件

为 DeepSeek Harness 网页编辑器添加浏览器听写和按住说话语音消息控件。

机制证据
音频转写工具

注册 transcribe_audio 工具,让智能体转写磁盘中的音频文件。

机制证据

选择前先看

dsh-voice 为 DeepSeek Harness 的网页 profile 添加按停顿分段的听写、语音消息以及鼠标或键盘按住说话。它支持浏览器语音识别、云端转写服务和可选本地语音转文字回退链,并提供供智能体使用的音频转写工具。

适合谁

希望通过语音撰写提示词,或需要让智能体转写本地音频文件的 DeepSeek Harness 网页用户。

常见任务

  • 在网页编辑器中按自然停顿实时听写文字。
  • 录制语音消息,并在已配置的发送倒计时内取消。
  • 将云端和本地转写服务配置为回退链。
  • 让智能体通过 transcribe_audio 转写音频文件。

权限与数据

语音采集需要浏览器麦克风权限;音频如何处理取决于所选的服务商链。

权限
  • 听写和语音消息需要浏览器麦克风访问权限。
  • 智能体调用 transcribe_audio 时需要访问已配置的本地音频路径。
  • 本地转写可选运行 whisper.cpp 和 ffmpeg。
数据处理
  • 文档称 Chrome 中的浏览器识别在本地运行。
  • 云端服务商模式可能会将录制音频提交给所配置的服务商。
  • 文档称凭据引用在主机端解析,不会传给浏览器客户端。
外部服务
  • 可选 Deepgram、Groq、Hugging Face、OpenAI 兼容服务及其他已配置的转写服务。
  • 可选本地 whisper.cpp 或 SenseVoice/Sherpa-ONNX 服务。
凭据
  • 所选云端服务商需要配置相应的 API 密钥凭据引用;浏览器和文档所述的本地模式不需要凭据。

局限

  • 提供的证据未执行安装或运行时行为验证。
  • 提供的证据未声明 DeepSeek Harness 版本范围。
  • 本地 whisper 配置需要用户提供 whisper.cpp 服务端和模型的绝对路径。
  • 服务可用性、转写准确性、隐私条款和回退行为取决于用户配置,尚未独立验证。

DSHub 已核对

  • 已验证固定 Git 源和 DSH bundle 结构。
  • 已采集包版本 0.8.17、MIT 许可证、web 客户端平台及声明的 peer dependencies。
  • 已验证 npm 包身份,但未审计包内容。

DSHub 未核对

  • 未测试安装成功、浏览器麦克风行为、转写质量、服务商回退和本地进程执行。

固定版本安装

安装 dsh-voice

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit febfe7b 对应的 README
维护者编写的上游内容原文于 2026/9/6README.md 获取,正文和仓库相对媒体固定到 commit febfe7b42e84,内容哈希为 01132861bb03。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

📦 @goodandready/dsh-voice

<div align="center"><h3>Zero-Latency Streaming Dictation & Multi-Provider Voice Input for DeepSeek Harness</h3><p align="center"> <a href="https://www.npmjs.com/package/@goodandready/dsh-voice"><img src="https://img.shields.io/npm/v/@goodandready/dsh-voice.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-10b981.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a> <a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a> <a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a> </p><p align="center"> <a href="https://goodandready.app/"><img src="https://img.shields.io/badge/All_Author_Projects-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="All Author Projects"></a> </p><p align="center"> <a href="README.md"><b>🇬🇧 English</b></a> • <a href="README.ru.md"><b>🇷🇺 Русский</b></a> • <a href="README.zh.md"><b>🇨🇳 中文说明</b></a> </p></div>

⚡ Overview

dsh-voice brings voice superpowers to the DeepSeek Harness Web UI. Whether you need hands-free real-time streaming dictation segmented on natural breath pauses or crisp voice notes with keyboard/mouse Push-to-Talk gestures, dsh-voice ensures your audio is never lost thanks to automatic multi-provider fallback chains.

graph LR
    subgraph Client [Browser Web UI]
        Mic[🎙️ Dictation Mic] -->|VAD Cut on Pause| Stream[Audio Chunks]
        Wave[🌊 Voice Message] -->|Hold / Release| PTT[Push-to-Talk]
    end

    subgraph Host [DSH Host Backend]
        Stream --> FFMPEG[ffmpeg 16kHz Transcoder]
        PTT --> FFMPEG
        FFMPEG --> Chain{Fallback Chain}
        
        Chain -->|1st Priority| P1[Deepgram / Nova-2]
        Chain -.->|On Rate Limit / 429| P2[Groq / Whisper Turbo]
        Chain -.->|On Failure| P3[Local whisper.cpp / Offline]
    end

    subgraph Output [Target]
        P1 --> Composer[💬 Web Composer / Chat]
        P2 --> Composer
        P3 --> Composer
    end

    style Client fill:#1e1e2e,stroke:#89b4fa,stroke-width:2px,color:#cdd6f4
    style Host fill:#181825,stroke:#cba6f7,stroke-width:2px,color:#cdd6f4
    style Output fill:#11111b,stroke:#a6e3a1,stroke-width:2px,color:#cdd6f4

✨ Key Features

  • 🎙️ Streaming Dictation with VAD: Speech is automatically sliced at natural pauses (vadSilenceMs, default 700ms) and typed into the composer in real time.
  • 🌊 Voice Notes with Cancel Window: Record your thought and have it automatically dispatched to the agent after a safety countdown (autoSendMs, default 4000ms).
  • 🎮 Tactile Push-to-Talk:
    • Mouse: Hold the wave button — releasing sends the message; dragging pointer away discards.
    • Keyboard: Hold <kbd>Ctrl</kbd> (or custom hotkey) for hands-free speaking; press <kbd>Esc</kbd> to cancel.
  • Zero-Latency In-Browser Captions (browser): Chrome Web Speech API recognition runs 100% locally with live floating captions as you speak.
  • 🛡️ Ironclad Multi-Provider Fallbacks: If your primary cloud provider runs out of credits or hits a 429 rate limit, requests seamlessly fail over down the chain.
  • 🧠 Context Glossary Injection: Automatically extracts code variables and identifiers from your composer draft to steer STT model accuracy on technical jargon.
  • 🎵 Embedded Audio Player: Preview, scrubber, and playback of your recorded voice message directly in chat and the composer dock.
  • 🔇 Hardware Noise Suppression Toggle: Configurable in settings to toggle browser-level noise suppression, echo cancellation, and auto gain control.
  • 📊 Provider Latency & Health Dashboard: Live visual telemetry of provider latency (ms), success rates, and errors directly within the settings UI.
  • 🔒 Zero API Key Leakage: Keys are resolved on the host via ctx.credentials (credentialRef) and never transmitted to browser clients.
  • 🖥️ Offline Local Whisper Server: Automatically boots and manages whisper.cpp (whisper-server) with on-the-fly ffmpeg transcode.
  • SenseVoice-ONNX / Sherpa-ONNX (0.8.11): Ultra-fast (~50–100ms) non-autoregressive local STT engine with automatic emotion/event tag stripping. Supports both Sherpa-ONNX HTTP and OpenAI-compatible endpoints.
  • 🌐 Realtime Audio Streaming (0.8.11): Low-latency WebSocket bridge (/dsh-voice/realtime) for OpenAI Realtime API or local Sherpa-ONNX streaming. API keys stay securely on the host.
  • 🌊 Liquid Wave & Dynamic Orb Visualizer (0.8.12): Smooth animated audio visualization in the recording pill with real-time mic volume reactivity. Switch between organic multi-layer liquid waves, pulsating radiant orb, classic bars, or off.

🎮 Four Ways to Speak

Mode Gesture / Trigger Behavior
Dictation Click <kbd>🎙️ Mic</kbd> Speech is sliced on pauses (vadSilenceMs) and typed live into composer
Voice Message Click <kbd>🌊 Wave</kbd> Records until stopped, then sends after cancel window (autoSendMs)
Mouse PTT Hold <kbd>🌊 Wave</kbd> Records while held; release sends message, drag off button to discard
Keyboard PTT Hold <kbd>Ctrl</kbd> Hands-free recording; release sends message, press <kbd>Esc</kbd> to discard

[!TIP] You can customize the keyboard modifier in settings (hotkey: Control, Alt, Shift, or any KeyboardEvent.code).


🛠️ Supported Providers Matrix

Provider Key Service Backend Default Model Credential Ref Features & Notes
browser Web Speech API Native Browser None Zero latency, floating live captions in Chrome
deepgram Deepgram API nova-2 DEEPGRAM_API_KEY Ultra-fast cloud transcription
groq Groq Whisper whisper-large-v3-turbo GROQ_API_KEY Near-instant inference speed
hf HuggingFace Inference openai/whisper-large-v3 HF_TOKEN High-accuracy open Whisper
local-whisper Local whisper.cpp Server defined None 100% private, offline, no internet needed
sensevoice SenseVoice-ONNX / Sherpa-ONNX SenseVoiceSmall None Ultra-fast (~50ms) local non-autoregressive STT

🚀 Ready-Made Presets (Plug & Play)

Just specify the name in your fallback chain and add the corresponding API key:

  • openai (whisper-1) → OPENAI_API_KEY
  • siliconflow (SenseVoiceSmall) → SILICONFLOW_API_KEY
  • mistral (voxtral-mini-latest) → MISTRAL_API_KEY
  • openrouter (google/gemini-2.5-flash) → OPENROUTER_API_KEY
  • deepinfra (whisper-large-v3-turbo) → DEEPINFRA_API_KEY
  • fireworks (whisper-v3-turbo) → FIREWORKS_API_KEY

📦 Quick Installation

dsh plugin --profile web add @goodandready/dsh-voice

[!IMPORTANT] Restart DSH Web UI after installation (systemctl --user restart dsh-web) and refresh your browser tab.


⚙️ Configuration

Open Settings → Plugins → Plugin settings → Voice in the Web UI:

- id: dsh-voice
  config:
    dictation:
      language: ru
      vadSilenceMs: 700
      chain:
        - provider: deepgram
        - provider: groq
        - provider: local-whisper
    message:
      language: ru
      autoSendMs: 4000
      chain:
        - provider: openai
        - provider: local-whisper
    hotkey: Control
    autoStart: true
    whisperModel: /models/ggml-medium-q8_0.bin

🤖 Agent Tool & HTTP API

Agent Tool (transcribe_audio)

Registers transcribe_audio(file_path, language?) in ctx.tools, allowing agents to analyze audio files, interview recordings, and voice notes directly from disk.

Internal HTTP Endpoints

  • POST /dsh-voice/transcribe{ dataBase64, mimeType, mode }{ ok, text, provider, tookMs }
  • POST /dsh-voice/polish{ text }{ ok, text }
  • GET /dsh-voice/status — Returns daemon status, active chains, SenseVoice and realtime config.
  • GET /dsh-voice/realtimeWebSocket upgrade for low-latency audio streaming (OpenAI Realtime API / Sherpa-ONNX). Accepts binary audio chunks, returns JSON text deltas.

📄 License

MIT © GooDAnDReaDY

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — GooDAnDReaDY/dsh-voice#febfe7b42e8400084acfe8d030c6cea9695731aa

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

DeepSeek Harness web profile with declared peer dependencies Not declared in supplied evidence

检查兼容性证据

风险事实

microphone-and-audio

Uses browser microphone input and may send audio to the transcription provider selected in its fallback chain.

证据
local-processes

Optional local-whisper mode is documented to run whisper.cpp and transcode audio with ffmpeg.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

README 描述了较多界面和转写能力;在独立测试前,应将这些运行时说法视为发布者文档。

AI 审查于 2026/9/10 UTC 11:36GitHub 事实核对日期: 2026/9/10 UTC 11:36

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: dsh-voice