dsh-agent-ping:跨会话 @ 呼叫同伴

前言

在 DeepSeek Harness(DSH)里开多个会话时,让一个会话里的智能体把话交给另一个会话,常见做法仍是人工切换、复制粘贴。DSH 生态里插件可以扩展 Host 侧工具与 Web 客户端 UI;若要在「同机多会话」之间建立可控投递,就需要显式的授权与唤醒路径。下面介绍社区插件 dsh-agent-ping(维护者 xk150424):经用户当场授权后,把消息唤醒并送达目标 DSH 会话。

这是什么

dsh-agent-ping 的定位是:跨会话 @ —— 让一个 DeepSeek Harness 会话去呼叫另一个会话;先经用户当场授权,再送达;对方会话若处于睡眠状态则先唤醒再投递。

插件分类为工作流,当前在 SkillHub 目录页 与 GitHub 仓库 均可查阅说明。实现为纯 JavaScript,无构建步骤、无运行时依赖;许可为 MIT(见仓库 LICENSE)。

核心功能

插件向模型暴露两个工具:

工具 作用
who_can_i_call 列出当前能呼叫的会话:在线的,以及名册里已知但睡着(可唤醒)的
call_agent 呼叫指定会话;会先弹出授权卡片,用户同意后才送出

被呼叫方会话中,输入框上方(conversation.input.dock)会浮出授权卡片,示意如下:

from  RE-MK  to  FR-FL            +2 条
─────────────────────────────────────────
帮我看一眼 _plugin_agent_ping 里的 index.js
第 380 行那个 target 参数还要不要。

                    [ 等我一下 ]   [ ✕ ]   [ ✓ ]
  • 允许(✓):消息送达,卡片消失。
  • 拒绝(✕):丢弃;呼叫方会收到结果。
  • 等我一下:不批准也不拒绝,当前条挪到队尾,稍后处理。

授权卡片是唯一闸门:插件不会绕过它做「先斩后奏」或「叫醒了不告知用户」之类操作。

同一时刻可能有多条待批申请,队列语义在 README 中固定为:卡片只显示最新一条;角标 +N 条 中 N = 队列长度 − 1;「等我一下」把当前条挪离显示位;「允许 / 拒绝」按 id 精确摘除对应条目。

送达路径使用 agent.followup(...)(送达并唤醒),而非仅注入不唤醒的 inject。唤醒走 ctx.sessionController.resolveAgent(sessionId),以便补齐 agentOptions 与 setup;认人顺序为:工作区登记表 → 会话标题 → 插件维护的名册(名字 → 会话 id)。

安装与启用

尚未发布到 npm,需从 GitHub 安装。文档要求 DSH 0.2.0-rc.1 或更新(低版本未系统测试;README 注明 0.1.7 已知可用)。package.json 中 peerDependencies 为 @deepseek-ai/dsh-llm 与 @deepseek-ai/dsh-tools 均 >=0.2.0-rc.1,Node 需 >=22。

命令行安装(将 <你的 profile> 换成实际 profile;CLI 用户一般为 web):

dsh plugin --profile <你的 profile> add github:xk150424/dsh-agent-ping

DSH Desktop:侧栏 插件 → 添加插件,粘贴:

github:xk150424/dsh-agent-ping

说明:desktop profile 由桌面端持有,CLI 不会管理;桌面用户请用图形界面,或把仓库网址粘贴进 DSH 由其协助安装。

装完后重启 DSH 或刷新页面均可;若替换已安装的旧版本,需重启 DSH 进程。

插件以当前 DSH 进程权限运行,安装前建议在 GitHub 阅读源码与 MIT 许可证,确认符合本机策略。

典型用法

模型侧调用形态(摘自 README):

who_can_i_call                      → 看看都有谁
call_agent { target: "FR-FL",
             message: "帮我看一眼 index.js 第 380 行" }

流程上可先 who_can_i_call 确认目标是否在可呼叫列表,再 call_agent 填写 target 与 message;被呼叫方在卡片上点选后,呼叫方才会得到投递结果。

适用场景与注意

适合:同一 DSH 实例、本机多会话协作——例如 A 会话请 B 会话帮忙看某文件某行,又不想手动切会话粘贴。

已知限制(均来自 README):

  • 只在本机:操作的是同一 DSH 实例内的会话,不是跨机器网络服务。
  • 需要有人点授权:属产品设计,非实现疏漏。
  • 唤醒依赖名册:名册由历次调用积累;从未在本机「活过」且当前不在线的名字,无法唤醒。
  • 无已读回执:只能确认消息已送入目标会话,不能确认对方是否已理解。

SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;选用插件时以仓库文档与源码为准。

结尾

dsh-agent-ping 在 DSH「一切皆插件」的思路下,用 call_agent / who_can_i_call 与浮层授权卡,把跨会话 @ 从手工搬运变成可审计、可队列的用户闸门流程。进一步了解请见 SkillHub 目录页 与 GitHub:xk150424/dsh-agent-ping。

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

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

小夜