前言¶
在 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 中完成注册。
典型步骤可归纳为:
- 获取插件源码目录(例如从 GitHub 下载或解压到本机路径,勿在不明环境直接运行未审阅的脚本)。
- 将该目录作为 bundle 安装到当前 DSH profile,或把目录链接进 profile 对应
node_modules。 - 确认
cordis.patch.yml已注册;插件入口为lib/index.js。 - 若
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 仓库。