READMESource: main@afdeb249
DSH 多 Agent 喊话(dsh-cross-session)
让 DeepSeek Harness 里的多个对话像一支队伍一样协作:队长开新对话、分派任务、运行中插话、只读查看进度;worker 有问题直接回问队长。

预告片(1080p / 60s):下载 MP4
这是一个 DeepSeek Harness(DSH)持久化插件,不依赖任何第三方包,直接以本地目录安装。
队长对话 ── new_conversation ──▶ worker 对话 A
│ ◀──── shout / ask_master ────┘
│
└────── get_chat_info(只读看上下文与进度)
它和官方 Super-agent 的区别
| 官方 dsh-superagent | 本插件(多 Agent 喊话) | |
|---|---|---|
| 工作层级 | GitHub / 飞书触发的仓库层自主工人 | 桌面上的对话层协作 |
| 是否接管你的聊天窗口 | 否,工单/会话/PR 在它自己的体系里 | 是,直接在你已有的侧边栏对话之间通信 |
| 适合 | 让 AI 盯仓库、接 issue、开 PR、等审批 | 让多个对话并行推进一个项目,队长随时调度 |
| 是否替代对方 | — | 不替代;两者可叠加:Super-agent 管仓库,本插件管桌面协作 |
一句话:Super-agent 管“活从哪来”,本插件管“活怎么在你桌面上的几个对话之间流动”。
功能
| 工具 | 作用 |
|---|---|
new_conversation |
在当前/指定工作区新建独立对话,命名并下发完整任务;可选 workspace_path 自动创建项目目录与工作区 |
list_conversations |
列出 root 对话:标题、工作区、运行状态(已归档不显示) |
shout |
向另一个对话投递消息:运行中在最近 step 边界收到,空闲时唤醒新 turn |
ask_master |
worker 专用:把问题/阻塞直接交给创建它的主 Agent,而不是问用户 |
get_chat_info |
只读查看对话状态、当前 turn/step、最近消息与工具调用;目标完全无感知 |
rename_conversation |
实时改侧边栏显示名 |
interrupt_conversation |
停止目标当前 turn,保留待处理输入 |
archive_conversation |
归档已完成的 worker |
list_permission_presets / list_models |
查看可选权限预设与模型 |
configure_conversation |
调整目标对话的权限预设 / 模型 / 思考强度 |
设计细节
- 投递:
sessionController.resolveAgent(id)拿到 live Agent(冷会话自动 resume),再agent.steer(createUserMessage({ source: { kind: "agent-message", form: "relay", ... } }))。 - 来源可读:relay 的
senderSessionId写成AI「发送者标题」,UI 显示「来自会话 AI「标题」」;真实 id 保存在senderSessionIdReal。 - 主 Agent 专属上下文:
get_chat_info只注册在非 worker 的 Agent scope;worker 的工具列表里没有它。 - 权限继承:
new_conversation默认把队长的权限预设复制给新对话。 - 安全护栏:创建上限、每分钟限流、消息体积上限、同一对会话交替喊话上限(防 AI 乒乓)、拒绝 subagent 会话。
安装
要求:DSH 0.2.1-rc.x(desktop 或其他 profile 均可),无额外依赖。
方式一:Plugin Manager(推荐)
在 DSH 中把仓库目录作为本地 bundle 安装,例如:
plugin_manager install_bundle
target = <本仓库绝对路径>
方式二:CLI
dsh plugin --profile desktop add "<本仓库绝对路径>"
安装后在 profile 的 bundle 列表中启用 @local/dsh-cross-session,必要时刷新页面。
配置
cordis.patch.yml:
- insert:
- id: cross-session-shout
name: '@local/dsh-cross-session'
config:
maxCreatedConversations: 12
rateLimitPerMinute: 20
maxMessageBytes: 32768
maxShoutChain: 6
inheritPermissions: true
已知限制
agent-message不会触发自动标题/活跃度,插件会显式 rename。- 进程重启后 pending inbox 不会自唤醒;没有跨重启的离线投递通道。
- 喊话目标只支持 root 会话;subagent 会话会被拒绝。
- DSH 在创建时绑定对话工作区,已有对话不能原地迁移;
adopt_workspace会改为在新工作区创建项目对话。
许可证
MIT
No comments yet. Be the first to write one.