DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@nibuil/dsh-voice-modes

Voice Modes

为 DeepSeek Harness 编辑器提供语音输入,支持直接、润色、翻译和自定义角色模式,以及通过 URL 路由的 ASR 适配器。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @nibuil/dsh-voice-modes@0.2.0
README兼容性版本

兼容性与来源证明

Voice Modes 以 @nibuil/dsh-voice-modes 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/21

版本

0.2.0stable
2026/10/21
0.1.0stable
2026/10/20

相关插件

正在加载相关插件…

最新版
0.2.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
135 kB
文件数
11
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/21
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Experimental Voice Input Bundle@deepseek-ai/dsh-experimental-voice-input-bundle实验性语音输入,使用本地 SenseVoice;首次使用时下载其运行时Modlens@liustack/modlens面向仅支持文本的 LLM 的插件视觉能力,由免费的 Antigravity CLI 提供支持Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —

README

dsh-voice-modes

Voice input for the DeepSeek Harness composer: a circular microphone button, a mode menu beside the model selector, and URL-routed ASR provider adapters.

Community plugin. Not an official DeepSeek Harness project.

Maintained by bin-r00t. @nibuil is the npm publishing scope only; it does not refer to the GitHub user nibuil.

中文说明

Features

  • Circular microphone button next to the composer's model selector.
  • Four modes:
    • Direct — insert the transcript as-is.
    • Polish — remove filler words, repetitions and pauses while preserving meaning.
    • Translate — polish, then translate into English.
    • Custom role — organize the transcript with a user-defined role prompt.
  • URL-routed ASR adapters:
    • Xiaomi MiMo ASR (chat/completions + input_audio)
    • OpenAI-compatible transcription (/audio/transcriptions multipart)
    • More adapters can be added through one documented interface.
  • Automatic WAV conversion in the browser (16 kHz mono PCM) so providers that only accept WAV/MP3 work.
  • Second provider for text processing (Polish / Translate / Custom role) and as an ASR fallback.
  • Editable roles with built-in examples.
  • Host-side credentials — API keys are stored by the DSH Host and are never returned to the browser.

Install

dsh plugin --profile web add @nibuil/dsh-voice-modes

Or install the bundle through DSH Plugin Manager. Restart the Web Host (dsh web) if DSH reports that a restart is required, then refresh the page.

After installation, click the mode dropdown in the composer and choose Voice settings.

Configure

ASR provider

FieldRequiredNotes
EndpointYesA /v1 base URL or a full provider endpoint.
API keyYesStored on the Host only.
ModelYesAdapter-specific default is used when empty.

The adapter is selected from the endpoint URL:

URL containsAdapterRequest
mimoXiaomi MiMo ASRJSON chat/completions with input_audio
anything elseOpenAI-compatible transcriptionmultipart /audio/transcriptions

To force the MiMo adapter through a proxy URL, append a marker: https://proxy.example/asr#mimo.

Examples:

https://api.xiaomimimo.com/v1
https://api.xiaomimimo.com/v1/chat/completions
https://api.openai.com/v1
https://api.groq.com/openai/v1

Second provider

Optional, but required for Polish, Translate and Custom role. It must expose an OpenAI-compatible chat/completions endpoint. The same provider is also tried as an ASR fallback when the primary ASR fails.

Roles

The settings dialog includes four examples: meeting notes, technical notes, business email and product request. Add, edit or remove roles freely.

Translation

English is the only target language in this release.

How it works

flowchart LR
  A[Browser microphone] -->|WebM/MP4| B[16 kHz mono WAV]
  B -->|POST /voice-modes/process| C[DSH Host proxy]
  C --> D{URL router}
  D -->|contains mimo| E[Xiaomi MiMo adapter]
  D -->|fallback| F[OpenAI transcription adapter]
  E --> G[ASR transcript]
  F --> G
  G -->|Direct| H[Composer draft]
  G -->|Polish / Translate / Role| I[Second provider]
  I --> H

The browser never calls an ASR provider directly and never receives a stored API key. The Host stores settings in ~/.dsh/voice-modes/settings.json with mode 0600 and exposes same-origin routes protected by DSH's connection authentication.

See docs/architecture.md for details.

Development

Requirements: Node.js 20+ and a DSH installation.

git clone https://github.com/bin-r00t/dsh-voice-modes.git
cd dsh-voice-modes
npm test
npm run check

Install the working copy through DSH Plugin Manager or:

dsh plugin --profile web add "file:$PWD"

Restart dsh web after Host-side changes. Client-only changes reload through the Web HMR channel; refresh the page if they do not.

Mock provider

Test the whole flow without a real ASR account:

node debug/mock-provider.mjs

Use http://127.0.0.1:8787/v1 for the generic adapter, or http://127.0.0.1:8787/v1#mimo for the MiMo adapter.

Adding an ASR provider

Read docs/adding-asr-provider.md, add the adapter to providers.js, and extend the tests.

Compatibility

  • Tested with DSH 0.2.1-rc.2.
  • The package declares engines.dsh; incompatible DSH versions are rejected before the plugin is imported.
  • The Client half uses conversation.input.activity, ctx.slots, and ctx.locale. These are current DSH extension points, not a frozen public API.

Security

  • API keys are stored on the Host and are not returned by the settings API.
  • Audio and keys are never intentionally logged.
  • The configured ASR URL is fetched by the Host. Only configure endpoints you trust.
  • Report vulnerabilities privately; see SECURITY.md.

Contributing

Contributions are welcome, especially new ASR adapters, browser compatibility fixes, translations and tests.

  • CONTRIBUTING.md
  • Code of Conduct
  • Open an issue
  • Start a discussion

License

MIT