← 返回列表
未验证
点麦克风说话,本地转写成文字填入输入框
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/30 · 已提供中文文档
安全版本地语音输入插件 for DeepSeek Harness:同源宿主代理 + 127.0.0.1 + token,SenseVoice-Small INT8 ONNX 本地转写,音频不出网。
综合分
28.2
GitHub 分
28.2
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Lanzgale/dsh-listener该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-listener — 本地安全语音输入插件 在 DSH 对话输入框右侧添加麦克风按钮:录音 → 本地 SenseVoice-Small INT8 ONNX 转写 → 文本填入输入框。音频全程本地处理,不出网。 fork/参考:@opensquad/dsh-voice-input(MIT,已克隆 ~/file/dsh/plugin/dsh-voice-input),重写为安全架构,详见下方「与原版的差异」。 架构 浏览器(输入框 conversation.input.right) └─ 同源 POST /plugins/dsh-listener/*(宿主代理,无 CORS) └─ 宿主:生命周期管理 + 20MB 上限 + 语言头透传 └─ Python 后端(单进程,仅 127.0.0.1:7103 + 随机 token) ├─ /health /download /download/status /start └─ /v1/audio/transcriptions(SenseVoice-Small INT8 ONNX) 目录 - lib/index.js — 宿主:路由代理、后端生命周期(懒启动/崩溃重启/dispose 清理)、依赖检查与安装(钉版本) - lib/client.js — 浏览器:麦克风按钮、录音(120s 上限)、进度/错误弹窗、inputActions.setDraft 追加填入 - backend/server.py — 合并后端(下载网关 + 推理服务单进程) - backend/lib/inference.py — SenseVoice ONNX 推理(MIT 复用,未改动) - backend/lib/model_store.py — 模型下载 + sha256 落盘校验 - backend/requirements.txt — 钉版本依赖(onnxruntime==1.29.0 等) 存储 | 数据 | 位置 | |---|---| | 模型(4 文件,~240MB) | ~/.local/share/dsh-listener/model/(环境变量 DSH_LISTENER_MODEL_DIR 可改) | | sha256 清单 | 同目录 .sha256.json(首次下载建立信任锚点,启动时校验,损坏自动重下) | | Python 依赖 | ~/.local/lib/python3.14/site-packages/(--user --break-system-packages,PEP 668) | | token | 每进程随机,命令行注入,不落盘 | | 后端日志 | backend/server.log | 与原版的差异(安全修复清单) | 原版 | dsh-listener | |---|---| | 浏览器直连 127.0.0.1:7101/7102 + CORS 全开 | 浏览器只访问同源宿主路由;后端无 CORS | | 后端绑 0.0.0.0、零鉴权 | 只绑 127.0.0.1 + 回环来源校验 + 随机 token | | 网关 + 推理两进程 | 合并单进程,生命周期一条清理链 | | /uninstall 可远程删模型 | 删除该端点 | | 无大小/时长限制 | 20MB / 120s 上限(宿主+后端双重) | | 自动 pip 装未钉版本 | 钉版本 + 首次安装前 UI 确认 | | 模型无校验 | sha256 落盘 + 启动校验 + 损坏自动重下 | | 无 dispose 清理 | 宿主 dispose / 进程退出统一 kill | 使用 1. 首次点击麦克风:确认后自动安装依赖(约 250MB)+ 下载模型(约 230MB),进度条显示 2. 就绪后:点击开始录音,再点停止 → 转写 → 填入输入框(已有内容则追加) 3. 输入框已有草稿时追加在末尾;识别失败显示角标 ! 开发 - client 改动:Ctrl+Shift+R 刷新即可(curl http://127.0.0.1:3080/plugins/dsh-listener/client.js 验证服务端已更新) - host / 后端改动:重启 DSH - 模型重下:rm -rf ~/.local/share/dsh-listener/model 后重新走下载流程
扫码进群