在 DSH(DeepSeek Harness)里想把内容送进腾讯 ima,常见的第一反应是“有没有现成的连接器、MCP server 或 skill 插件”。这个问题要拆成两件事:DSH 侧以什么形式接纳外部渠道,以及 ima 侧是否提供了可被调用的接口。

先看 DSH 侧的接入形态

DSH 的渠道集成按渠道分目录放在 /integrations/ 下。IM 类渠道配置在 /integrations/dsh-im/,投递目标写在 /integrations/dsh-<渠道>/workspaces.json 的 deliveryTargets 字段里。

ls <DSH_HOME>/integrations/

只看到 dsh-im、dsh-feishu 这类目录而没有 ima 相关目录,说明当前版本没有内置该渠道,需要走通用投递接口或自行实现适配层。这一步结论确定,不需要猜。

通用投递接口能做什么、不能做什么

curl -X POST http://127.0.0.1:3080/api/dsh-im/delivery/messages \
  -H 'Content-Type: application/json' \
  -d '{"botId":"demo-bot","targetId":"demo-target","text":"hello","format":"plain"}'

请求体字段为 botId / targetId / text / format,format 只接受 plain 或 markdown。接口只监听本机回环,不需要额外鉴权,返回 {"sent": true} 表示受理。

边界很明确:它把消息投给 DSH 已登记的目标,本身不负责和 ima 服务端通信。targetId 不在 deliveryTargets 里就不会成功投递。所以“用这个接口连 ima”成立的前提是 ima 侧已作为某个渠道被 DSH 识别,或由外部程序消费该接口再转发。

MCP 与 skill 插件的位置

素材没有给出 DSH 对 MCP server 的具体注册路径与字段,无法断言某个配置键名。可以确定的是:MCP 能力属于插件层,配置落在 /integrations/ 对应渠道目录内,以当前版本的实际目录结构为准。排查顺序:

  1. 确认 DSH 版本是否声明支持 MCP 客户端;
  2. 在 integrations 下查找该渠道的配置文件,核对是否已有 MCP server 条目;
  3. 若 ima 官方提供 MCP server,按其文档填写启动命令与参数;若未提供,则不存在“装个插件就连上”的路径。

怎么确认哪一步失败

  • 目录不存在:ls 无输出或报 No such file or directory,说明该渠道未安装。
  • 投递失败:接口返回非 {"sent": true},先核对 targetId 是否在 workspaces.json 的 deliveryTargets 中。
  • 格式错误:format 传了 plain / markdown 以外的值,请求会被拒绝。
  • 会话侧无反应:检查 /sessions/ 下的 session.v4.jsonl.zstd 是否有对应记录。

边界

如果 ima 没有公开的 MCP server 或 HTTP 接口,DSH 侧无论怎么配置都无法直接连通,只能由外部程序轮询投递接口再自行转发,代价是多一个常驻进程和额外失败点。投递接口仅限本机回环,跨机调用需要自行处理网络与鉴权,不在 DSH 默认能力内。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注