dsh-voice-inject:本机 HTTP 注入语音识别结果到 DSH 会话

前言

在 DeepSeek Harness(DSH)里和智能体对话,常见做法是切到 DSH 窗口再输入或说话。若你正在玩游戏、全屏应用或其它软件占着前台,按热键(例如 F9)触发语音识别后,如何把识别出的文字送进当前 DSH 会话,又不必抢焦点、也不必用键盘模拟?外部 ASR 工具往往能输出文本,但缺少一条稳定、只在本机生效的投递通道。

下面介绍的 dsh-voice-inject 是社区维护者 nanchen8888 提供的 DSH 客户端类插件:在本机 127.0.0.1:8790 上提供 HTTP 接口,把外部语音识别结果直接写入目标会话,宿主侧完成注入,不依赖前台焦点切换。

这是什么

  • 定位:把外部语音识别结果注入 DSH 会话的本地 Cordis 插件(bundle)。
  • 维护者:nanchen8888。
  • 仓库与目录:GitHub、SkillHub 目录页(社区插件站点,与 DeepSeek / 幻方无官方从属关系)。
  • 当前 package 版本:0.1.0(以仓库 package.json 为准)。
  • 许可证:MIT。

核心功能

插件启动后仅监听本机地址,不对外网开放。README 中列出的 HTTP 能力如下。

文本注入

  • 端点:POST /inject
  • 作用:把一段文本投递到 DSH 会话。
  • Body 可带可选字段 sessionId;若不传,按「最近更新的会话 → voice-target.json 中钉住的会话」选择目标。

TTS 开关

  • 端点:POST /tts/toggle 或 POST /tts
  • 作用:翻转 TTS 开关,并写回 <DSH_HOME>/tts/config.json。

状态查询

  • 端点:GET /state
  • 作用:返回当前 TTS 状态与目标会话信息。

运行环境要求(来自 package.json):Node >=22,DSH >=0.2.2-rc.1;入口为 lib/index.js,仅依赖 Node 内置模块。

路径约定

插件按 Windows 本机环境将 DSH 数据目录写死为 D:\dsh-home(其下使用 sessions/、tts/、pet-lan/ 等)。若你的实际目录不同,需在 lib/index.js 顶部修改 HOME 常量后再使用。

日志写入 <DSH_HOME>/tts/inject.log;文件超过 200 KB 时会清空重写。

安装与启用

README 未给出 dsh plugin add github:... 一类的一行命令,安装方式为把本仓库作为 DSH bundle 挂到 profile,或在 profile 的 node_modules 中链接本目录,并在 cordis.patch.yml 中完成注册。

典型步骤可归纳为:

  1. 获取插件源码目录(例如从 GitHub 下载或解压到本机路径,勿在不明环境直接运行未审阅的脚本)。
  2. 将该目录作为 bundle 安装到当前 DSH profile,或把目录链接进 profile 对应 node_modules。
  3. 确认 cordis.patch.yml 已注册;插件入口为 lib/index.js。
  4. 若 D:\dsh-home 不是你的 DSH 主目录,先改 lib/index.js 中的 HOME 再启动 DSH。

package.json 中声明对 @deepseek-ai/cordis 的 peer 依赖(optional),与 Cordis patch 机制一致。

权限说明:插件随当前 DSH 进程运行,具备该进程所能访问的本机文件与网络绑定能力。安装前应阅读源码与 MIT 许可证,确认路径与安全策略符合你的环境。

典型用法

外部语音识别或其它本机程序在得到文本后,向本机 HTTP 服务投递即可。以下为 README 所描述接口的示意(具体 body 字段以仓库文档为准)。

向默认/自动选择的会话注入文本(请求体字段名以仓库 README / 源码为准;README 明确提到 body 可带可选 sessionId):

POST http://127.0.0.1:8790/inject
Content-Type: application/json

{}

指定会话时,在 JSON body 中设置 sessionId。

切换 TTS:

POST http://127.0.0.1:8790/tts/toggle

查询状态:

GET http://127.0.0.1:8790/state

典型链路是:全屏场景下由外部工具完成拾音与识别 → 本机 POST /inject → DSH 会话收到用户侧文本,全程无需把 DSH 窗口提到前台。

适用场景与注意

适合谁

  • 需要在游戏、全屏应用前台使用语音输入,又不想频繁 Alt+Tab 或模拟按键的 DSH 用户。
  • 已有本机 ASR 流水线,只需一个稳定的「文本进会话」注入点。

安全与部署

  • 服务只绑定 127.0.0.1,没有鉴权;同一台机器上的其它进程理论上可调用这些接口。不要反向代理或暴露到公网。
  • 非 Windows 或 DSH 主目录不在 D:\dsh-home 时,必须改 HOME 常量,否则会话与 TTS 配置路径会对不上。

生态背景

DSH 奉行「一切皆插件」;本插件属于社区目录中的客户端类扩展,星标与热度以目录站展示为准(当前 GitHub 星标为 0),选用时以自身需求与代码审阅为准。

结尾

dsh-voice-inject 用本机 127.0.0.1:8790 把外部语音识别结果送进 DSH,并附带 TTS 切换与状态查询,面向「不抢焦点」的语音输入场景。更多信息见 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye