前言¶
在 DeepSeek Harness(DSH)里同时开多个 session,各自跑 agent 做不同任务,是常见做法。每个 session 只能看到自己的对话和工具结果,彼此默认无法查进度、传话或把工作连上下文交给另一个 session。要协作往往只能靠人工复制粘贴,或自己写脚本对接进程间通信。
dsh-session-bridge 是社区维护者 Mizimo 发布的工作流类 DSH 插件(bundle)。装到 profile 之后,一般顶层 session 的 agent 会多一组工具,用于在同机同一 dsh host 进程内发现其他 session、只读查看最近消息、发消息,以及带摘要的 handoff。需要跨机器时,同一套工具名还可按文档对接 HAPI hub。下面介绍它的能力、安装方式与典型用法。
这是什么¶
dsh-session-bridge 的定位是 Cross-session messaging and handoff for DeepSeek Harness:让不同 session 里的 agent 互相传讯、读对方进度、把工作交棒,并与 HAPI hub 互通。
实现上是 Host-only bundle:没有 client 半、没有 build step;通过 Cordis patch 注入工具。维护者为 Mizimo,当前资料中的版本为 v0.2.2,许可证 MIT。插件在 SkillHub 社区目录 归类为工作流;目录与 GitHub 由社区维护,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
安装生效后,agent 可用下表中的工具(名称与用途以仓库 README 为准):
| 工具 | 用途 |
|---|---|
session_list |
列出其他 session:活跃的,以及可唤醒的 stored |
session_inspect |
只读读取最近消息;不唤醒对方,也不消耗对方 token |
session_send |
发送一条消息;对方 idle 会开新 turn,running 则在下一个 step 边界收到 |
session_handoff |
把 summary 和下一步一起交出去,默认要求对方完成后回报 |
补充行为(资料原文):
session_inspect对冷 session 也有效;session_send会将其 resume 为 live agent(回传coldResumed: true)。- 收到的消息在 session log 里带来源
agent-message/relay;[session-bridge]header 下方以<peer-message sender="...">...</peer-message>封装不可信的 peer 正文,正文内的 bridge marker 会转义。 - 默认与 v0.2.1 行为一致:同一 host 上的一般 session 可互相读取与送达。可选 workspace 范围(
scope: same-cwd/same-root,配合allowCwds)与 loop guard(loopGuard: true),见仓库 configuration.md。 - 需要 HAPI 的
list_peers/inspect_peer/ping_peer时,同一组名字可接本机 DSH session,也可接 HAPI hub;模式与限制见 hapi.md。
兼容性(README 写明):
- DSH 0.2.x:
peerDependencies为>=0.2.0-rc.1 <0.3.0;Node >=20。 - HAPI 0.30.x/0.31.x:所用 REST wire 在 0.30.7 与 0.31.2 相同。
- 仅在同一
dshhost process 内的 session 之间直接互通;跨机器需经 HAPI hub。
安装与启用¶
官方安装命令如下(须带 profile 与版本 tag):
dsh plugin --profile web add github:Mizimo/dsh-session-bridge#v0.2.2
装完后 重启该 profile 的 dsh process,再开一个新 session,确认 agent 工具列表里出现 session_list 即表示生效。
DSH Desktop 的
desktopprofile 由 GUI 管理,CLI 会拒绝;Desktop 请从内建插件管理界面安装。
插件以当前 dsh 进程权限运行;安装前建议阅读 GitHub 源码 与 MIT 许可证,并查阅 设定文档 中的 row config、环境变量、kill switch 与凭据安全说明。
典型用法¶
在一个 session 里可以对 agent 说明意图,例如:
用
session_list看看其他 session,挑正在改登录页的那个,用session_inspect读它最近的进度,再问它能不能接手。
双向传讯可理解为:
session A ── session_send ──▶ session B
◀── session_send ──
需要交接工作时改用 session_handoff,把当前状态和下一步一起送出。更细的参数、回传、错误与限制见仓库 tools.md;送达与冷启动等设计见 architecture.md。
适用场景与注意¶
适合:同一台机器、同一 DSH host 上多 session 并行开发或排查时,让 agent 自主发现 peer、只读看进度、发消息或 structured handoff;已有 HAPI hub 时,按文档把 peer 指到 hub 或本机 session。
注意:
- 默认互通范围较宽;若需限制 cwd/root 或防 agent 互 ping 形成环,按 configuration 文档调整。
- peer 消息正文不可信,插件已用 header 与 XML 封装并转义 marker;仍应结合业务策略限制 handoff 内容。
- 仅 Host bundle,无单独 client;跨机不装 HAPI 则无法替代 hub 能力。
文档与链接¶
| 资源 | 链接 |
|---|---|
| 社区目录页 | https://www.skillhub.cn/plugins/Mizimo/dsh-session-bridge |
| GitHub 仓库 | https://github.com/Mizimo/dsh-session-bridge |
经过上面的步骤,dsh-session-bridge 把「多 session 各干各的」补成「agent 可列 peer、只读 inspect、send 与 handoff」,并在需要时与 HAPI 对齐同一套 peer 工具名。DSH 生态强调「一切皆插件」;若你已在 0.2.x 的 web profile 上多开 session,可按官方命令安装 v0.2.2 并在新 session 里验证 session_list 是否可用。