声琢 VoxPolish:DSH 语音输入与表达整理插件

前言

在 DeepSeek Harness(DSH)里用语音打字,常见做法是识别结果直接写进会话输入框。你还没看清错字、口癖和逻辑跳跃,文字就已经和草稿混在一起;专有名词识别错了,也只能在输入框里一遍遍改。若你更关心「说完先审、改完再发」,且希望整理过程不要动你正在写的草稿,社区插件 声琢(VoxPolish) 走的是另一条路径:识别结果落在独立面板,原话与整理后分列,由你选择发送哪一版。下面介绍它是什么、能做什么,以及如何安装与上手。

这是什么

声琢 · VoxPolish(仓库 molanxuan-del/DSH-VoxPolish)由维护者 molanxuan-del 发布,在 SkillHub 社区目录中归类为 模型推理。插件定位是:把「说出来的话」打磨成更清晰、可发送的表达——原话 / 整理后双通道,先说、先改、再发送;全程不读写会话输入框。语音识别复用 DSH 官方语音输入 Bundle 已自带的本地 SenseVoice,README 写明无需为此插件额外下载识别模型。许可证为 MIT;package.json 当前版本为 1.0.0,声明兼容 DSH 0.2.0-rc.2(桌面端与 Web 端均可)。

和常见语音插件的差别

README 用表格对比了典型语音插件与声琢的行为,核心差异可以概括为:

维度 常见语音插件 声琢
识别结果位置 直接改写输入框 独立面板中的「原话」「整理后」
发送时机 识别完即可发 审阅、修改后再发;两个发送入口可选
输入框 被读写 不碰输入框
表达反馈 无结构化提示 一行表达建议 + 最多 3 条信息缺口
专有名词错识别 每次手改 词表纠错,登记后自动纠正
复用 绑定 DSH UI 另提供命令行与本地 HTTP API 的独立服务

核心功能

以下能力均来自仓库 README 与 package.json 说明,未在资料中出现的细节不写。

双通道与整理档位
原话约 1~2 秒内可先出、可先发;整理在后台异步完成,互不阻塞。面板提供六档整理方式:轻度、中度(默认)、深度、更简洁、更正式、更结构化,可随时切换。

发送与续说
除「发原话」「发整理后」外,支持继续说(新内容接到原话后,整理会合并)、撤销上一段、按当前档位重新整理,以及关闭面板且不发送。

表达教练与只读分析
整理结果附带一行「表达建议」和最多 3 条建议补充的缺失信息。另有「需求分析 + 技术科普」块:归纳口述意图,并按 技术名词|效果:…|类似:… 分段列出可选做法;该块只读,不会进入发送文本。

词表纠错与模型选择
词表一行一词登记专有名词或英文,整理时自动纠正识别错误,「原话」仍保留识别原文;数据持久化在本机 ~/.dsh/voice-polish/。整理所用模型可在面板中从 DSH 已配置模型里选择并持久保存;未在面板固定时,按插件配置与会话默认模型的优先级兜底(见下文配置)。

界面与宿主
工具栏提供独立麦克风按钮(与官方语音功能并存);录音时面板显示实时声波。面板优先挂在 DSH 官方右侧栏(sidebarRightTabs);不可用时依次回退到 dsh-better-sidebar(非必需依赖)或输入框上方 dock,三条路径互斥,不会重复出现两个面板。

粘贴整理
可从剪贴板读入,或将文字粘贴进「原话」框;原文不少于 30 字时会触发自动整理。若你手改过「整理后」再继续说话,新内容只追加到整理结果,不覆盖已改部分;需要整体重排时使用「重新整理」。

独立服务
同一套整理内核可通过 service/cli.js 与 service/server.js 在 DSH 外使用(需 Node.js ≥ 20)。云端 ASR 通道已实现;README 注明本地 sherpa-onnx 离线识别「模型齐备但本地推理尚未接入」,--asr-check local 会如实报告状态。

实现与构建
纯 JavaScript,无构建步骤;识别走本机 ctx.get('speechToText'),整理走你在 DSH 中配置的模型 API。README 声明无遥测;除识别(本机)与整理(你所选模型)外不发起额外外部请求。

安装与启用

DSH 生态主张「一切皆插件」;SkillHub 目录页 是社区收录站点,与 DeepSeek / 幻方无官方从属关系。安装插件前,建议你自行查看仓库源码与 MIT 许可证——插件以当前 DSH 进程权限运行。

CLI 版 DSH(一行安装,README 写明不需要 npm):

dsh plugin --profile web add github:molanxuan-del/DSH-VoxPolish

DSH 桌面端:打开 设置 → 插件,点 添加插件,来源填写同一字符串:

github:molanxuan-del/DSH-VoxPolish

安装后 重启 DSH。之后若修改 Host 半(lib/index.js)需再次重启;修改客户端半(lib/client.js)刷新页面即可,面板底部会显示客户端版本戳以便确认加载的代码版本。

语音识别前提:需已安装并可用官方 语音输入 Bundle,否则面板会明确提示识别不可用。

可选固定整理路由时,可在 cordis.patch.yml 对应插件配置中写入 provider、model 等(示例来自 README):

- insert:
    - id: voice-polish
      name: 'dsh-voice-polish'
      config:
        provider: deepseek-official
        model: deepseek-flash
        temperature: 0.2
        maxTokens: 2400

README 说明整理是改写任务,便宜、快的模型通常足够;默认不在配置里写死模型,优先使用面板所选,其次插件配置,再次会话默认模型。

典型用法

在 DSH 里 30 秒流程(与 README「30 秒上手」一致):

  1. 点输入框工具栏上的麦克风按钮,开始录音;按钮变红并计时,面板显示实时声波。
  2. 说完后再点一次停止。
  3. 等待「原话」出现(约 1~2 秒),此时即可发送;「整理后」在后台完成后自动填入。
  4. 在两个文本框中按需修改,选择「发原话」或「发整理后」;不想发送则关闭面板。

录音由插件持有,切换页面不会中断;客户端在 115 秒 自动停止(识别服务单次上限为 2 分钟)。面板内容在浏览器内存中,刷新页面会清空,发送前请确认。

独立服务示例(需自行提供 VP_LLM_API_KEY 等环境变量,见 README 表格):

node service/cli.js --selftest
node service/cli.js "呃那个我想把函数改成异步的……"
node service/cli.js --json "文本"

启动本地 HTTP 服务(默认端口 8787)后,可对 http://127.0.0.1:8787/polish 发送 JSON POST 进行整理。

适用场景与注意

适合谁
经常用语音输入、但希望先对照原话再发、或需要把口语整理成结构化提示词的 DSH 用户;需要在本地工作流或其他项目中复用同一整理逻辑时,可评估独立服务与 HTTP API。

权限与隐私
录音音频送至本机 SenseVoice 识别器;原话文字送至你在 DSH 中配置的模型做整理。词表、模型选择与版本戳等写在 ~/.dsh/voice-polish/。独立服务仅在将 VP_ASR 设为 cloud 时才会把音频发往你配置的 ASR 端点。

已知限制(README「已知限制」)
改 Host 半须重启 DSH;录音需麦克风权限及 HTTPS 或环回地址;报问题时请带上面板底部的客户端版本戳。

结尾

声琢把 DSH 里的语音输入从「识别即写入」推进到「原话与整理分离、你确认后再发」,并附带表达建议、词表纠错与可选的需求分析块;识别侧复用官方 Bundle,不额外拉识别模型。社区目录:DSH-VoxPolish @ SkillHub。源码与完整说明:github.com/molanxuan-del/DSH-VoxPolish。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜