🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

wuxinzhe/dsh-cyberdog-speech-sherpa

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

DeepSeek Harnessdsh本地离线语音插件,基于 Sherpa-ONNX。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档
综合分
27.8
GitHub 分
27.8
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add wuxinzhe/dsh-cyberdog-speech-sherpa
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 41 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-cyberdog-speech-sherpa

DeepSeek Harness(dsh)本地离线语音插件,基于 Sherpa-ONNX。

- 全本地离线,不联网、不收费、CPU 可运行
- STT:Zipformer 中文流式识别(stt_transcribe)
- TTS:VITS 中文多音色(tts_speak)
- WebUI 按住说话:聊天输入框工具行 🎤 按钮——按住录音、松开发送(最长 120 秒,带倒计时)

架构

dsh-speech-sherpa/
├── index.mjs            # host 插件(Cordis):注册 3 个工具 + HTTP 路由
├── remote.mjs           # HTTP 路由(/speech-api/,浏览器录音按钮直调)
├── http-body.mjs        # HTTP 请求体读取
├── core/                # 平台无关核心(STT/TTS/模型管理/WAV 编解码)
│   ├── index.js         #   createSpeechService() 门面
│   ├── models.js        #   模型管理(状态/下载/断点续传/镜像回退)
│   ├── stt.js           #   语音识别(wav 文件 / data URL)
│   ├── tts.js           #   语音合成(data URL / wav 文件)
│   └── wav.js           #   WAV 编解码 + 8kHz→16kHz 重采样
├── client/              # 浏览器端插件(录音按钮)
│   ├── index.ts         #   源码(TSX)
│   └── dist/client.js   #   构建产物(CJS factory bundle)
├── cordis.bundle.yml    # dsh bundle patch(dsh plugin add 安装)
├── cordis.patch.yml     # --patch 开发加载示例
└── scripts/
├── build-client.mjs # 构建 client bundle(esbuild)
└── verify-dsh.mjs   # 插件契约验证(mock cordis ctx)

安装

dsh plugin --profile  add /path/to/dsh-speech-sherpa
或从 git:dsh plugin --profile  add github:you/dsh-speech-sherpa

开发期用 --patch:
cd
pnpm dsh --profile web --patch C:\Users\Administrator\Documents\dsh-speech-sherpa\cordis.patch.yml --port 3099

工具

| 工具 | 输入 | 输出 |
|:--|:--|:--|
| stt_transcribe | audioPath(wav 文件)或 audioBase64(data URL) | {text} |
| tts_speak | text、speed?、sid?、inline? | {audioPath, text, dataUrl?} |
| sherpa_models_download | kinds?(['stt','tts']) | {results, modelDir} |

模型自愈:stt_transcribe/tts_speak 发现模型缺失会报错并提示调用 sherpa_models_download,agent 可自行下载。

配置(cordis.yml config 字段)

| 字段 | 默认值 | 说明 |
|:--|:--|:--|
| voiceRate | 1.0 | 语速 0.5~2.0 |
| sid | 88 | 音色 88/90/92/94 |
| modelDir | $DSH_HOME/models/sherpa | 模型目录(DSH_HOME 默认 ~/.dsh)|
| outputDir | $DSH_HOME/audio/sherpa | TTS 输出目录 |

WebUI 录音按钮

聊天输入框工具行左侧的 🎤 按钮(conversation.input.left slot):

1. 按住开始录音(getUserMedia + MediaRecorder),按钮变红显示倒计时 120s → ...
2. 松开自动停止 → 浏览器编码 wav → POST host /speech-api/sttTranscribe
3. 转写文本自动填入输入框并发送(inputActions.setDraft + submit)
4. 按住超过 120 秒自动停止发送;按住移出按钮也视为松手

重建 client bundle(改源码后):
node scripts/build-client.mjs   # 产物 client/dist/client.js

模型

| 模型 | 用途 | 体积 |
|:--|:--|:--|
| streaming-zipformer-zh-int8-2025-06-30 | 中文语音识别 | 126MB |
| vits-icefall-zh-aishell3 | 中文语音合成 | 30MB |

下载后存放于 /stt、/tts。下载走国内镜像(ghfast.top → gh-proxy → GitHub)+ 断点续传。

开发

npm install                # sherpa-onnx-node(版本已精确锁定 1.13.4)
node scripts/verify-dsh.mjs   # 插件契约验证(14 项)
node scripts/build-client.mjs # 重建 client bundle

音频规格

- STT 输入 wav 支持 16kHz/8kHz(8kHz 自动上采样到 16k;VITS TTS 输出 8kHz,tts_speak → stt_transcribe 闭环可用)
- TTS 输出 wav 为 8kHz 16bit PCM 单声道

发布

- 遵循 dsh 插件命名惯例:npm 包名 dsh- 前缀(本包 dsh-speech-sherpa)
- GitHub 仓库加 dsh-plugin 话题便于被发现
- 依赖 @deepseek-ai/ 时注意:@deepseek-ai/dsh-tools 的 npm latest tag 是过期线,用 next tag;本插件零 @deepseek-ai 运行时依赖(裸 JSON ToolDefinition)已避开

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群