发现 DeepSeek Harness(DSH)之后,我习惯开着好几个 session,各管一摊:一个做分析、一个写代码、一个管部署、一个做产品。它们各干各的挺爽,但总有要"接力"的时候——分析结论要交给部署,或者部署干到一半被中断了,后面还得把它喊回来接着干。
DSH 本身没有"会话互聊"的能力。于是我写了个小插件:dsh-s2s。
它是什么
一个 cordis 插件,让同一台宿主上的多个 DSH session 互相按名字对话,并能把已结束(done/idle)的静止会话拉起来再投递。
定位是同宿主、单进程、零端口:不是跨机 mesh,不引入 hub / WebSocket / 网络层,就在进程内直接投递。有参照 @dpskh/a2a(跨机 mesh)的实现,但不是它的 fork——只借鉴了"空闲→followup 、忙碌→inject"的注入习语,没继承它的 hub/网络层。
怎么用
你不需要记任何工具命令——agent 之间就是自然对话,关键只是在话里带个名字:
背后就是几个小工具(s2s_message / s2s_resume 等)在干活,只是在你这边看起来,就是一句自然的话 + 一个名字。发送侧还带了跳数和限速,防止两个会话互相"喊来喊去"打转。
一个场景
把每个会话当成一位同事,各干各的专业活;s2s 就是"按名字喊一声"的协作方式。
产品经理(协调会话)把活儿分给前端、后端、部署三位同事,每人一个会话,各管一段。部署干到一半——发布脚本刚起头,被一通电话打断了,他的会话进入静止(done)。产品经理对着名字喊了一声:"部署,继续。"
s2s 找到名为"部署"的会话,发现它静止了,把它拉起来,并把交接消息投进去。部署醒来,看到上下文和下一步,继续把发布收尾——不用重新开一遍、也不用重新交代背景。
过了一会儿前端要改接口,产品经理见"前端"正闲着,直接一条消息投进去,马上有响应。
整个过程没人开第二个终端、没人跨机器,产品经理按名字点名即可。
边界
开源
MIT,仓库在 github.com/ashuai/dsh-s2s
求拍砖:这种"给 agent 之间搭条内部喊话通道"的路子,你们觉得实用吗?

