前言¶
DSH 可以通过插件扩展能力。对多智能体场景来说,难点不只是给每个 agent 写 persona,还要决定谁能向谁发消息、谁只能看到下游、最后由谁输出结果。
DSH Cluster Plugin 提供一套 cluster mode:在 dsh web 中打开画布,用节点表示 agent,用有向边声明允许的消息流,并让 agent 通过 cluster_view、cluster_send、cluster_spawn 进行协作。
这是什么¶
DSH Cluster Plugin 的包名是 @lanxi266/dsh-cluster-plugin,仓库为 https://github.com/Lanxi26/dsh-cluster,维护者为 Lanxi26,许可证为 MIT。
它面向 DeepSeek Harness 的 cluster mode,提供三件事:
- Canvas node-graph
- Agent management
- Flow-constrained message routing
一句话定位:它是一个把多智能体协作画成图、并限制消息可达范围的 DSH 插件。
核心功能¶
画布节点图¶
在 dsh web 的 cluster canvas 中,可以做以下操作:
- 添加节点
- 连接边,边可以是
one-way、two-way或none - 将节点绑定到 agent
- 重命名节点或 agent
这里的“节点”不是普通流程块,而是承载一个 agent 的运行位置。
Agent 管理¶
每个 agent 有:
nameprompt,即 personamode- 可选的
space
agent 数据会自动保存到:
$DSH_HOME/cluster-agents/<id>/agent.json
三种 mode 分别是:
| mode | 行为 |
|---|---|
single |
用 cluster_send 寻址,目标是该 agent 最近运行 session |
multi |
用 cluster_spawn 寻址,每次创建新的实例 |
any |
cluster_send 和 cluster_spawn 都可以 |
信息流约束¶
边是有向的,且 deny-by-default:只有声明过的流可以 cluster_send / cluster_spawn。
如果没有边,图是完全开放的,适合先试流程。
cluster_view 只会显示自己以及自己的下游。所以下游 agent 看不到上游,只能把消息继续往下传。
运行时工具包括:
cluster_view:查看当前可用接收消息的 agent 实例和类别cluster_spawn:创建一个新 agent 实例,并发送第一条消息cluster_send:向某个正在运行的实例 inbox 投递消息
导出 / 加载¶
可以把图和 agent 属性一起导出为 .txt JSON,版本为 v2;在另一个位置加载后,可以恢复 agent 并写回磁盘。
Identity space¶
可以为某个 agent 可选地挂一个磁盘目录。agent 的 persona 会被提示先浏览这个空间。这样 Skills、scripts、long-term memory、personality files、agent.md 等材料可以放在各自 agent 的空间里。
安装与启用¶
前置条件:
- Node ≥ 22.19(official DSH requirement)
- 当前 profile 已包含官方
@deepseek-ai/dsh-base和@deepseek-ai/dsh-web-appbundles
先添加插件:
dsh plugin --profile web add @lanxi266/dsh-cluster-plugin
然后启动 web profile:
dsh --profile web web
也可以写成:
dsh web
插件包本身是 bundle,会引入:
@lanxi266/dsh-cluster-agent-fs@lanxi266/dsh-tool-cluster@lanxi266/dsh-client-ui-cluster
典型用法¶
1、打开 dsh web,点击左下角的 cluster icon,打开 canvas。
2、在 Agents bar 中添加 agent,例如 id math_teacher,填 name、persona,并选择 mode。
3、在 canvas 上双击添加节点,把节点绑定到 agent,然后连接节点;拖拽 A → B 表示 A 可以发消息给 B。
4、进入某个节点:入口 agent 会收到 persona 和 workflow hint,并使用 cluster_view、cluster_send、cluster_spawn 进行协作。
5、最后一个链接的 cluster_view 只显示自己;此时 agent 被提示直接产出最终结果,使流程终止。
适用场景与注意¶
适合:
- 需要在 DSH 中可视化多 agent 协作
- 需要限制 agent 之间谁能向谁发消息
- 需要把 graph 和 agent 配置导出、加载
- 需要给 agent 挂独立目录,让其先读取本地材料
注意:
- 插件会以当前 dsh 进程权限运行;安装前应检查源码、依赖和 MIT 许可证。
- 空图是完全开放的;正式使用前,应明确画出需要的有向边。
- agent 数据会写入
$DSH_HOME/cluster-agents/<id>/agent.json,备份、迁移和清理时要包含这个路径。 cluster_view的可见范围只到下游,不要依赖上游信息在下游出现。- 作者说明项目可能仍有较多 bug;建议先在本地验证关键链路。
链接¶
GitHub:https://github.com/Lanxi26/dsh-cluster
包名:@lanxi266/dsh-cluster-plugin
社区目录页 URL 未在本次资料中确认,可按上述包名检索。