本地识别语音输入并朗读回复,还能克隆音色
30.2/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chenmzh/dsh-voice该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 51 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@nn12138/dsh-voice @ 0.2.6
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/6 14:18:32
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
- 写入本地文件tools/download-models.cjs:30
fs.mkdirSync(job.dest, { recursive: true }) - 读取本地文件tools/download-models.cjs:33
if (fs.existsSync(destPath) && fs.statSync(destPath).size > 0) { - 执行外部命令固定命令tools/download-models.cjs:41
execFileSync('curl', args, { stdio: 'inherit' }) - 写入本地文件tools/download-models.cjs:42
fs.renameSync(tmp, destPath) - 执行外部命令固定命令lib/core/tts-manager.js:600
execFile('nvidia-smi', ['--query-gpu=memory.used', '--format=csv,noheader,nounits'], { timeout: 5000 }, (error, stdout) => { - 读取本地文件lib/core/ref-wavs.js:74
return statSync(path).isFile(); - 读取本地文件lib/core/ref-wavs.js:211
return readFileSync(path, 'utf8'); - 发起网络请求lib/core/python-tts.js:259
const msg = await this.request(payload); - 发起网络请求lib/core/python-tts.js:271
const msg = await this.request({ cmd: 'voices' }, 30000); - 发起网络请求lib/core/python-tts.js:275
const msg = await this.request({ cmd: 'setVoice', voice }, 60000); - 发起网络请求lib/core/python-tts.js:284
return this.request({ cmd: 'stats' }, 30000); - 发起网络请求lib/core/python-tts.js:313
this.request({ cmd: 'unload' }, this.killTimeoutMs).catch(() => undefined), - 读取本地文件tools/check-privacy.mjs:8
return readdirSync(path.join(root, dir), { withFileTypes: true }).flatMap(entry => { - 执行外部命令固定命令tools/check-privacy.mjs:17
files = execFileSync('git', ['diff', '--cached', '--name-only', '--diff-filter=ACMR', '-z'], { cwd: root, encoding: 'utf8' }).split('\0').filter(Boole - 执行外部命令固定命令tools/check-privacy.mjs:34
const bytes = process.argv.includes('--staged') ? execFileSync('git', ['show', `:${name}`], { cwd: root, maxBuffer: 10 * 1024 * 1024 }) : readFileSync - 读取本地文件tools/check-privacy.mjs:34
const bytes = process.argv.includes('--staged') ? execFileSync('git', ['show', `:${name}`], { cwd: root, maxBuffer: 10 * 1024 * 1024 }) : readFileSync - 读取本地文件tools/lib.cjs:6
const buf = fs.readFileSync(path)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-settings-file@deepseek-ai/dsh-api-session-controller给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 本地识别语音输入
- 朗读回复
- 克隆命名音色
DSH Web 的本地语音输入、朗读和命名声音克隆
README
由 DeepSeek 最新模型翻译生成DSH Voice
DSH Web 的本地语音输入、回复朗读和命名音色克隆插件。本仓库基于 MIT 许可的 @nn12138/dsh-voice 扩展,保留原插件标识,方便替换安装。
- 语音输入:支持 Qwen ASR、faster-whisper、Zipformer;识别结果写入输入框草稿,由你确认发送。
- 语音输出:Kokoro、CosyVoice 2/3、IndexTTS;支持自动朗读新回复、手动朗读历史回复、选中段落朗读和停止。
- 音色克隆:在设置面板录音、命名、保存多个音色,回放原录音并试听合成示例。
- 主题适配:语音设置下拉框和选段按钮跟随 DSH 的暗色/亮色主题。
- 文本完整性:保留加粗正文、法语重音和撇号,清理装饰表情,避免截断单词;自动朗读排队,合成失败有提示。
安装
需要 Node.js 22.19+ 或 24+、Python 3.10+,以及已安装的 DSH。Web 接口适配 DSH 0.1.5 系列;其他宿主版本需验证槽位和会话事件兼容性。
展开完整文档(README 剩余 1 节)
DSH Voice DSH Web 的本地语音输入、回复朗读和命名音色克隆插件。本仓库基于 MIT 许可的 @nn12138/dsh-voice 扩展,保留原插件标识,方便替换安装。 - 语音输入:支持 Qwen ASR、faster-whisper、Zipformer;识别结果写入输入框草稿,由你确认发送。 - 语音输出:Kokoro、CosyVoice 2/3、IndexTTS;支持自动朗读新回复、手动朗读历史回复、选中段落朗读和停止。 - 音色克隆:在设置面板录音、命名、保存多个音色,回放原录音并试听合成示例。 - 主题适配:语音设置下拉框和选段按钮跟随 DSH 的暗色/亮色主题。 - 文本完整性:保留加粗正文、法语重音和撇号,清理装饰表情,避免截断单词;自动朗读排队,合成失败有提示。 安装 需要 Node.js 22.19+ 或 24+、Python 3.10+,以及已安装的 DSH。Web 接口适配 DSH 0.1.5 系列;其他宿主版本需验证槽位和会话事件兼容性。 git clone https://github.com/chenmzh/dsh-voice.git cd dsh-voice npm ci npm test npm run test:textnorm mkdir -p /tmp/dsh-voice-pack npm pack --pack-destination /tmp/dsh-voice-pack dsh plugin --profile web add /tmp/dsh-voice-pack/nn12138-dsh-voice-0.3.0.tgz 仓库是私有的,克隆时需要具有访问权限的 GitHub 身份。插件安装不包含模型、Python 推理环境或个人音色;请按 安装与运行时配置 配置所需引擎。 本仓库设置了 private: true,防止意外发布到 npm;仍可本地打包并安装到 DSH。不要与原插件重复安装到同一 profile。 使用 1. 打开 DSH 的“设置 → 语音”,选择已配置的语音输入后端、语言、朗读引擎和音色。 2. 点击麦克风录入草稿;确认内容后自行发送。 3. 点击回复的小喇叭朗读,或启用“自动朗读新回复”。选中回复的一部分后点击“朗读所选”。 4. 使用克隆引擎时,在设置中录制参考音频,命名并保存。录音需至少 3 秒,最长 20 秒;可录制多个音色。 整条回复朗读会略过 Markdown 代码块和表格;选段朗读读取选中的可见正文。模型仍可能出现发音或个别词错误,文本完整性检查不能替代语音质量验证。 开发与隐私 npm run build:client npm test npm run test:textnorm npm run check:privacy node tools/check-privacy.mjs --staged lib/client/ 和 lib/core/ 是可维护源码;lib/client.js 是生成的 DSH 浏览器入口。文本预处理及兼容辅助代码放在 python/,不依赖某台机器的目录。 本仓库只保存源码、合成测试和说明,不含个人录音、克隆音色、聊天记录、账号配置、密钥或模型权重。隐私检查会拒绝媒体文件和可疑内容;具体数据流与保护范围见 PRIVACY.md。 许可见 LICENSE。引擎源码、模型权重和各自示例音频属于独立项目,需另行获取并遵守其许可。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
chenmzh/dsh-voice
本地识别语音输入并朗读回复,还能克隆音色
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目