前言¶
DeepSeek Harness(DSH)的扩展方式以插件为主。这里的“插件”是接入 DSH 的能力单元;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应理解为官方应用商店。
对于需要在外部系统中调用 DSH Agent 的场景,常见的做法是围绕一个 DSH 进程建立调用通道。UllrAI/dsh-mqtt 做的事情是:让 DSH 进程可以通过 MQTT broker 接收控制请求,并向客户端输出规范化事件与终态结果。下面介绍它的定位、能力、安装启用方式,以及需要注意的边界。
这是什么¶
dsh-mqtt 是一个面向 DeepSeek Harness(DSH)的 MQTT protocol driver and agent worker gateway,由 UllrAI 维护,许可证为 MIT。
它把 DSH 进程变成一个可通过 MQTT 访问的 worker 入口:客户端通过 MQTT 请求控制 DSH,DSH 执行后输出规范化的 session/event、agent status、agent error 与终态结果。当前资料中给出的安装版本为 0.1.6,目标 DSH 版本为 0.1.0-rc.8。
核心能力¶
dsh-mqtt 提供的能力集中在 MQTT 连接、会话控制、结果可靠性和受控输出:
- MQTT 3.1.1 和 MQTT 5 连接,支持
TCP、TLS、WebSocket、secure WebSocket; - broker 认证,支持直接提供或从环境变量提供 username/password 凭证,支持自定义 CA,以及可选 mutual TLS;
- 持久 MQTT session、重连、retained presence、Last Will;
- node-scoped 的
submit、steer、inject、cancel命令; - DSH agent creation 和受控 Session continuation;
- 规范化的
session/event、agent status、agent error 输出; - 跨重连和重启的 QoS 1 request 与 control deduplication;
- durable terminal results 和 interrupted-request recovery;
- 使用 workspace aliases,而不是让调用方直接提供文件系统路径;
- active-request 和 payload limits;
- 默认安全的事件暴露,并支持显式开启 full-event opt-in;
- 面向 ACL 的版本化 topic layout。
需要强调的是,它是一个 long-running host plugin,不是 mqtt_publish 或 mqtt_subscribe 这类 model tool。也就是说,它随 DSH 进程运行,而不是作为单次模型工具被临时调用。
安装与启用¶
先确认环境。资料中列出的前置条件为:
- Node.js
^22.19.0或>=24; pnpm在PATH中可用。
下面介绍安装步骤。
1、使用资料中给出的 npm 安装命令,把插件加入 DSH profile:
npx @deepseek-ai/dsh plugin --profile web add dsh-mqtt@0.1.6
2、编辑 profile 配置文件,调整其中的 mqtt-gateway row:
~/.dsh/profiles/web/cordis.patch.yml
如果使用自定义 $DSH_HOME,也编辑其等价路径下的配置文件。
3、检查配置。资料中提示,配置文件中的路径字段由 Node.js 解析,~ 和环境变量不会在这些值中展开,因此应使用绝对路径。示例配置中出现 requireControllerAuth: true;管理 API 和 standalone page 默认监听 loopback。
4、在不启动完整 DSH 的情况下检查组合后的 profile:
npx @deepseek-ai/dsh --profile web --dump-config
5、设置 provider credential 后启动 DSH。资料中给出的示例如下:
export DEEPSEEK_API_KEY='...'
npx @deepseek-ai/dsh --profile web
6、打开 DSH settings,选择 MQTT Worker。
适用场景与注意¶
适合使用 dsh-mqtt 的情况,通常包括:
- 需要通过 MQTT broker 向 DSH worker 提交请求;
- 需要观察规范化的
session/event、agent status 或 agent error; - 需要执行
submit、steer、inject、cancel等 node-scoped 控制; - 需要 broker 认证、自定义 CA、mutual TLS、persistent session、Last Will 等连接与可用性能力;
- 需要 QoS 1 去重、持久终态结果、中断请求恢复;
- 需要默认安全的事件暴露,同时保留显式 full-event opt-in 的空间。
需要注意的边界:
dsh-mqtt是 long-running host plugin,不是mqtt_publish或mqtt_subscribemodel tool。- 当前版本
0.1.6目标是 DSH0.1.0-rc.8。资料说明 DSH 是 developer preview,可能引入 breaking changes。 - 该插件会以当前
dsh进程权限运行。安装前建议检查源码与许可证;本项目许可证为MIT。 - 配置文件路径解析依赖 Node.js。资料明确
~和环境变量不会在这些路径值中展开。 - 资料中给出的
category: 工作流与stars: 2来自插件行信息;抓取的 README 与package.json未展示这些字段,因此不应作为已核实事实引用。
链接¶
- GitHub:https://github.com/UllrAI/dsh-mqtt
- 资料中给出的目录页:https://www.skillhub.cn/plugins/UllrAI/dsh-mqtt(该链接来自提供的插件信息,未在本次抓取的 README/package.json 中核实)