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
W

@local/dsh-whisper-local

Whisper Local

使用 whisper.cpp 的完全本地化多语言语音识别:支持 99 种 Whisper 语言,默认自动检测,不会向互联网发送数据。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Linj1k/dsh-whisper-local#db22ee30961b945eaffaa4d40cbbb3659ece1366
README兼容性版本

兼容性与来源证明

Whisper Local 以 @local/dsh-whisper-local 发布,当前版本为 1.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/4

版本

1.3.0stable
2026/11/4

相关插件

正在加载相关插件…

最新版
1.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
未声明
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/11/4
查看源码 ↗
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 提供支持Image Gendsh-image-gen将类似 ChatGPT 的图像生成功能带到 DeepSeek Harness——支持 Gemini、OpenAI、Seedream、DashScope、本地 ComfyUI 等。Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---

README

Whisper Local for DeepSeek Harness

Local, offline speech recognition for the DeepSeek Harness Web GUI, powered by whisper.cpp. It plugs into the Harness voice-input pipeline as a host-local speech provider: audio is recorded by the browser, transcribed on the Host machine, and never sent over the network.

  • No OpenAI account, no API key.
  • 99 Whisper languages plus automatic language detection.
  • Model selector built into the Harness UI.
  • Managed runtime and model downloads with size + SHA-256 verification.
  • Agent tool whisper_model so the assistant can inspect and change the model.

This is a community bundle, not an official DeepSeek plugin.

Table of contents

  • Features
  • How it works
  • Requirements
  • Installation
  • Usage
  • Models
  • Configuration
  • Agent tool
  • Data and privacy
  • Troubleshooting
  • Development
  • Limitations
  • Acknowledgements

Features

  • Fully local dictation | whisper-cli.exe runs on the CPU; the model and audio stay on the machine.
  • Automatic language detection by default | language: auto lets Whisper identify each recording's language; any of the 99 Whisper languages can still be forced from the voice settings.
  • Model selection in the UI | pick tiny, base, small, medium or large-v3-turbo from the plugin page; the change is persisted and applied immediately.
  • Managed setup | the Windows x64 whisper.cpp runtime and GGML model are downloaded on demand, verified (size + SHA-256), cached, and reused offline.
  • No microphone data retention | each recording is written to a temporary WAV, transcribed, then deleted.
  • Agent integration | the assistant can list models, download one in the background, or switch the active model through whisper_model.

How it works

Browser (Harness composer)
  └─ microphone button records 16 kHz mono PCM WAV
       └─ speech Remote sends the recording to the Host
            └─ whisper-local SpeechProvider
                 ├─ writes a temporary WAV
                 ├─ spawns whisper-cli.exe with the selected GGML model
                 ├─ reads the text output
                 └─ deletes the temporary files and returns the transcript

The provider registers through ctx.speechToText.register() and advertises itself as location: 'host-local', so the voice UI shows preparation state and lets the user download the model when needed.

Requirements

RequirementDetails
DeepSeek HarnessDesktop/Web build with the experimental Voice Input bundle enabled
OSWindows 10/11 x64 (the pinned runtime is a Windows CPU build)
Runtimetar.exe (built into Windows 10/11) for extracting the runtime archive
Disk~90 MB for the extracted runtime + 31–547 MB per model (see table)
CPUAny x64 CPU; more cores and threads improve speed. GPU is not used
MicrophoneOS + browser microphone permission

No Node.js, Python, compiler, or CUDA installation is required at runtime.

Installation

  1. Make sure the official Voice Input bundle is enabled: Plugins → Voice Input.
  2. Install this bundle from a local directory: Plugins → Add plugin → Install a third-party plugin, then enter the absolute path to this folder (.../dsh-whisper-local). Alternatively, use the plugin manager's local-directory install target.
  3. The bundle's patch selects whisper-local with language: auto for the voice module and registers the whisper_model tool.
  4. If the Host module was added while Harness is running and the provider does not appear, restart the Harness application once. Browser-only UI changes are hot-reloaded.

The first dictation may show the voice setup prompt when the selected model is missing; Go to setup opens the Voice Input details where preparation runs. Selecting a model on the plugin page starts its preparation automatically. Once prepared, recognition works fully offline.

Usage

Dictation

  1. Click the microphone button in the composer, between the model selector and Send.
  2. Allow microphone access the first time.
  3. Speak, then press Stop.
  4. The transcript is inserted into the draft; review and send it normally.

Choosing a model

Open Plugins → Whisper local. The bundle page offers:

  • a model dropdown with sizes and speed/accuracy hints;
  • the currently active model;
  • a Save model button.

The selection is written through the Harness Settings service into the profile configuration, so it survives restarts. If the chosen model is not downloaded yet, preparation starts automatically; progress is shown in the Voice Input bundle details (Download and prepare).

Language selection

Whisper local advertises 99 languages plus auto. Change the language in Plugins → Voice Input → bundle details → Language. The official selector displays translated labels for auto, en, zh, ja, ko; other languages appear as ISO codes such as fr, de, es, ja.

The default is auto (automatic detection), not a fixed language. French is not forced: a recording is detected on its own unless a specific language is selected. Automatic detection is a good default for mixed-language use; forcing the exact language improves reliability on short or noisy recordings.

Models

All models are multilingual Whisper GGML builds, hosted by ggerganov/whisper.cpp.

KeyFileSize (binary)Notes
tiny-q5_1ggml-tiny-q5_1.bin~31 MBFastest, lowest accuracy
base-q5_1ggml-base-q5_1.bin~57 MBFast, basic accuracy
small-q5_1ggml-small-q5_1.bin~181 MBDefault; good balance
medium-q5_0ggml-medium-q5_0.bin~514 MBMore accurate, slower
large-v3-turbo-q5_0ggml-large-v3-turbo-q5_0.bin~547 MBBest multilingual accuracy

Measured on an AMD Ryzen 9 9950X3D with 8 threads, for roughly 10 seconds of speech:

ModelFrenchJapanese
small-q5_1~1.3 s~1.2 s
large-v3-turbo-q5_0~3.3 s~4.0 s

The pinned whisper.cpp runtime is the official nightly b5454 Windows x64 OpenBLAS build, verified by its release SHA-256.

Configuration

The bundle patch (cordis.patch.yml) supplies defaults:

- insert:
    - id: whisper-local
      name: '@local/dsh-whisper-local'
      config:
        dataRoot: !!js dshHomePath('speech-to-text', 'whisper-local')
        model: small-q5_1
        threads: 8
        timeoutMs: 180000

- id: speech-to-text
  config:
    defaultProvider: whisper-local
    language: auto
FieldDefaultMeaning
dataRoot%USERPROFILE%\.dsh\speech-to-text\whisper-localManaged location for runtime, models and diagnostics
modelsmall-q5_1One of the model keys above; also editable from the UI
threads8CPU threads passed to whisper-cli
timeoutMs180000Per-transcription deadline
modelPathunsetUse an existing GGML model file instead of a managed download
whisperCliunsetUse an existing whisper-cli.exe instead of the managed runtime

User overrides are stored in the profile's patch layer and take precedence over the bundle defaults. The model selected from the UI is written there as well.

Agent tool

The bundle registers the whisper_model tool:

ActionDescription
listModel catalogue, downloaded state, active model, preparation phase, active downloads
downloadDownload a model in the background without changing the active model
setSelect a model and persist it through Settings; downloads it unless prepare=false
preparePrepare/download the currently selected model

Example: switch to the large model after downloading it in the background.

{ "action": "download", "model": "large-v3-turbo-q5_0" }
{ "action": "set", "model": "large-v3-turbo-q5_0", "prepare": false }

Data and privacy

  • No network calls during dictation. The only network traffic is the one-time runtime/model download performed by the explicit preparation step.
  • No API keys. The plugin never asks for or stores an OpenAI key.
  • Temporary audio. Each recording becomes a temporary WAV under the OS temp directory and is removed in a finally block after transcription.
  • Managed data lives in dataRoot:
    • runtime/ | extracted whisper.cpp build and runtime.json marker;
    • model/ | downloaded GGML models;
    • cache/ | downloaded runtime archive;
    • status.json | diagnostic snapshot (provider, model, languages, selected language, readiness). No audio or transcript content is stored there.
  • Settings persistence uses the profile's cordis.patch.yml; the model choice contains no sensitive data.

Troubleshooting

The microphone says the provider is not ready. Open Plugins → Voice Input → details and use Download and prepare. The setup card downloads the runtime and model and shows progress.

The model selector shows "settings unavailable". The Harness Settings service or configForms client service is not mounted in this profile. Use the voice bundle's preparation page or edit model in the profile patch.

No audio is recognized. Check the OS microphone permission, that a model is prepared, and the selected language. Try auto, or force the spoken language. For quiet/short recordings, a larger model helps.

The plugin row is failed after an update. The bundled provider.js is plain JavaScript and needs no build, but Host modules are loaded once per process. Toggling the row or restarting Harness reloads the module. Check the row's diagnostic in Plugins.

Diagnostics. dataRoot/status.json reports the active model, advertised language count, selected provider/language and readiness. The agent can also call whisper_model with action: "list".

Development

No build step. The bundle is plain ESM/JavaScript.

FileRole
package.jsonBundle manifest (dsh.bundle.patch, dsh.client, exports)
cordis.patch.ymlCordis rows: the provider and the voice selection override
index.jsCordis entry; loads Schemastery from the dsh installation and declares the volatile model Config field
provider.jsSpeech provider: preparation, downloads, verification, whisper-cli execution, whisper_model tool
client.jsBrowser page: model selector through ctx.configForms
locale/*.jsonPlugin-manager display metadata (en, fr, zh)
tests/*.mjsProvider and client tests
tests/fixtures/*.wavSmall multilingual TTS fixtures for the integration tests

Tests

The provider tests run real transcription with the prepared model in the default dataRoot, so prepare the runtime/model first (or point WHISPER_LOCAL_DATA_ROOT at a prepared directory):

node tests/local-provider.test.mjs
node tests/client.test.mjs

The provider suite covers: provider registration and language list, idempotent preparation, real French transcription, unprepared-state errors, explicit English/German/Spanish/Japanese transcription, automatic detection, model listing through the agent tool, persistence through Settings and invalid model rejection.

Limitations

  • Windows x64 only for the managed runtime. The provider logic is portable, but the pinned download is a Windows build; other platforms need a different whisperCli/runtime and extraction path.
  • CPU inference only in this configuration; no GPU acceleration.
  • Complete recordings only | no streaming captions, wake word or automatic send; those are capabilities of the voice subsystem, not this provider.
  • Accuracy varies by model and language. Low-resource languages may need a larger model.
  • The official Voice Input selector shows ISO codes for languages without a translated label.
  • large-v3-turbo needs roughly 1–2 GB of RAM during inference and is slower than small; choose based on your hardware.

Acknowledgements

  • whisper.cpp | MIT, runtime and GGML model format.
  • OpenAI Whisper | model weights and language set.
  • DeepSeek Harness | plugin, voice-input and settings APIs.

The plugin code itself is provided as part of this repository; add or adapt the license notice to match the repository's licensing before publishing. "# dsh-whisper-local"