dsh-mqtt:为 DeepSeek Harness 提供 MQTT 协议驱动与 Agent Worker 网关

前言

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 连接,支持 TCPTLSWebSocket、secure WebSocket;
  • broker 认证,支持直接提供或从环境变量提供 username/password 凭证,支持自定义 CA,以及可选 mutual TLS;
  • 持久 MQTT session、重连、retained presence、Last Will;
  • node-scoped 的 submitsteerinjectcancel 命令;
  • 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_publishmqtt_subscribe 这类 model tool。也就是说,它随 DSH 进程运行,而不是作为单次模型工具被临时调用。

安装与启用

先确认环境。资料中列出的前置条件为:

  • Node.js ^22.19.0>=24
  • pnpmPATH 中可用。

下面介绍安装步骤。

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;
  • 需要执行 submitsteerinjectcancel 等 node-scoped 控制;
  • 需要 broker 认证、自定义 CA、mutual TLS、persistent session、Last Will 等连接与可用性能力;
  • 需要 QoS 1 去重、持久终态结果、中断请求恢复;
  • 需要默认安全的事件暴露,同时保留显式 full-event opt-in 的空间。

需要注意的边界:

  1. dsh-mqtt 是 long-running host plugin,不是 mqtt_publishmqtt_subscribe model tool。
  2. 当前版本 0.1.6 目标是 DSH 0.1.0-rc.8。资料说明 DSH 是 developer preview,可能引入 breaking changes。
  3. 该插件会以当前 dsh 进程权限运行。安装前建议检查源码与许可证;本项目许可证为 MIT
  4. 配置文件路径解析依赖 Node.js。资料明确 ~ 和环境变量不会在这些路径值中展开。
  5. 资料中给出的 category: 工作流stars: 2 来自插件行信息;抓取的 README 与 package.json 未展示这些字段,因此不应作为已核实事实引用。

链接

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

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

Xiaoye