dsh-agent-hub:微信主控与多设备 Harness 固定会话任务插件

前言

DeepSeek Harness(DSH)采用「一切皆插件」的架构。在使用 Harness 进行多设备任务编排时,主会话通常需要等待所有子任务完成才能继续,导致长时间阻塞。同时,将任务结果通过微信通知主 Agent 并整理,需要额外的通信与状态同步逻辑。DSH Agent Hub 针对这些场景提供了一套从设备连接、任务派发到结果通知的完整方案。

插件定位

dsh-agent-hub 是一个 Harness 插件,提供主机、从机两种角色。主机负责与微信会话同步并派发任务,从机在固定 Session 中执行任务并将结果返回。结果持久保存,插件独立通知微信,主 Agent 按需读取并确认。插件独立运行,不依赖 DeepSeek 官方服务。项目采用 MIT License,由维护者 810535323 维护。

核心功能

设备配对与会话绑定

设置页面生成一次性配对码,用于主机与从机建立连接。主机选择主机角色,配置监听地址、端口和 TLS 文件,绑定微信同步目标对应的主 Session 后生成配对码。从机选择从机角色,填写 https://你的公网IP:端口、配对码、设备名称和项目目录,点击「绑定并自动连接」。IP 直连支持 HTTPS/WSS,不需要域名;证书 SAN 必须匹配该 IP。私有 CA 需要额外提供公开 CA 证书。

任务调度与结果通知

主 Agent 使用 agent_hub_devices、agent_hub_dispatch、agent_hub_task、agent_hub_cancel 等接口。派发立即返回任务编号,离线设备直接拒绝。固定会话首次创建,后续任务和重启复用;仅明确不存在时重建。任务结果到达后,插件直接向绑定微信发送结束通知,不等待主会话当前轮次。未读结果保留在「待处理任务结果」中。主 Agent 调用 agent_hub_pending_reports 读取,再以 agent_hub_ack_reports 确认对应修订号。微信发送结果不明时显示待核查,不自动重发。

并发与恢复

同一会话串行执行,不同设备并行执行。断线后对账,持久回执确认后才停止重传。执行结果、主 Agent 阅读确认、微信投递分别保存;忙碌的主会话不会阻塞完成通知。从机保留自己的模型、凭据和权限;需要 Codex 时由对应机器的 Harness 通过 sub agent 调用。

安装与启用

在安装了 dsh CLI 的机器上,使用原生插件管理器安装公开仓库:

dsh plugin --profile desktop add github:810535323/dsh-agent-hub

重新打开 Harness,进入 设置 → Agent Hub 设备。源码安装默认为待配置状态,在页面选择角色。

  1. 主机选择主机角色,配置监听地址、端口和 TLS 文件,绑定微信同步目标对应的主 Session,再生成一次性配对码。
  2. 从机选择从机角色,填写 https://你的公网IP:端口、配对码、设备名称和项目目录,点击「绑定并自动连接」。私有 CA 需要额外提供公开 CA 证书。
  3. 检查设备在线、通信正常、固定 Session 就绪后,通过微信让主 Agent 查询设备并派发任务。

文档与测试

项目提供以下文档:
- 安装、配对与解绑 · Installation
- 架构、恢复与隐私 · Architecture
- 部署与迁移 · Deployment
- 开发与 DSH 插件规范 · 安全报告

本地开发需要执行:

pnpm install --frozen-lockfile
pnpm run check
pnpm run check:public
pnpm test

测试需要 OpenSSL 1.1.1+;Windows 可使用 Git for Windows 自带的 OpenSSL,或设置 AGENT_HUB_OPENSSL。

适用场景与注意事项

适合需要在多个 Harness 设备间共享任务、通过微信通知结果、或使用固定 Session 执行持久化任务的场景。

插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。公开包不预置运营主机、证书或凭据。

总结

dsh-agent-hub 在 Harness 生态中提供了微信主控与多设备固定会话任务的能力。通过配对码与会话绑定、串行/并行调度、持久回执与独立通知,可以在保持主会话不阻塞的前提下,完成跨设备任务编排与结果整理。项目采用 MIT License,由维护者 810535323 维护,欢迎查阅目录页和GitHub 仓库获取更多细节。

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

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

Xiaoye