dsh-call-session:DeepSeek Harness 跨会话通信与共享黑板插件

前言

DeepSeek Harness (DSH) 的会话默认是隔离的,子任务在完成后通常会退出。当需要在长期运行的会话之间传递指令、共享上下文或协调任务时,这种隔离性会带来阻碍。dsh-call-session 插件为 DSH 增加了进程内跨会话通信和工作区共享黑板的能力,使得多会话协作成为可能。

插件定位

  • 名称:dsh-call-session
  • 定位:工作流插件
  • 维护者:popu2do
  • 核心价值:在同一个 DSH 进程中实现跨会话的点对点通信(unicast)与共享状态存储(blackboard),支持可视化的会话拓扑观察。
  • 开源协议:MIT

核心能力

该插件主要提供以下能力:

  1. 会话间单播通信:通过 session_call 工具,向指定的会话发送指令或移交任务。
  2. 共享黑板:通过 board_post 发布数据,通过 board_list 检索数据,通过 board_clear 清理数据,避免上下文窗口膨胀。
  3. 可视化画布:在 DSH Web UI 的 Canvas 标签页中,以拓扑图形式展示会话状态、黑板条目及调用轨迹。
  4. 会话创建:通过 session_create 工具在当前工作区创建新的对等会话。

安装与启用

该插件默认以内置配置运行,无需复杂配置即可启用。添加到目标 Profile 的命令如下:

dsh plugin --profile web add dsh-call-session

安装后,可以通过 dsh plugin --profile web list 查看已安装插件,或使用 remove 命令卸载。

典型用法

插件通过工具调用实现功能,以下是三种典型场景:

场景一:任务移交

用户在当前会话中发出指令,要求将任务摘要传递给名为 “audit-session” 的会话。
* 动作:Agent 调用 session_call。
* 结果:如果目标会话正在运行,执行会被引导;如果处于空闲状态,会话会被唤醒。

场景二:结果发布

用户要求将审查结论发布到黑板上,并通知相关会话获取。
* 动作:Agent 调用 board_post 存储详细报告并获取 postId。
* 结果:其他会话可通过 board_list 按需获取内容,避免将大量历史数据塞入当前对话上下文。

场景三:创建会话

用户需要创建一个新的长期运行会话来处理特定角色。
* 动作:Agent 调用 session_create。
* 结果:在当前工作区生成一个新的对等会话,自动继承模型规格和预设。

配置

插件开箱即用,但也支持通过配置文件进行微调。

配置文件位置:~/.dsh/profiles/web/cordis.patch.yml

- id: dsh-call-session
  config:
    debounceMs: 500
    maxCapacity: 500

主要配置项包括:
* debounceMs:原子磁盘写入防抖延迟,默认 300。
* maxCapacity:黑板最大条目数,默认 200。
* telemetryCapacity:画布数据缓冲区保留的最大调用轨迹数,默认 200。
* locale:交互语言偏好,支持 'auto', 'zh', 'en',默认 'auto'。

适用场景与注意

  • 适用场景:适用于多个独立顶层会话之间需要直接协调、传递指令或同步状态;或需要在不增加上下文窗口负担的情况下共享大型输出结果(如报告、代码库状态)。
  • 对比内置工具:对于隔离的、一次性任务(如代码搜索、脚本执行),建议优先使用 DSH 内置的 subagent;仅在需要多会话长期协作时使用本插件。
  • 注意:
    • Web UI 中的 Canvas 仅提供观察功能,不具备控制输入;所有状态变更均由 Agent 触发。
    • 插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。

生态背景

DeepSeek Harness 的设计理念是“一切皆插件”。社区目录(如 SkillHub)提供了插件索引,但请注意,该目录与 DeepSeek 或幻方官方无从属关系。插件开发者需自行维护代码质量与安全性。

链接

  • GitHub 仓库:https://github.com/popu2do/dsh-call-session
  • 社区目录:https://www.skillhub.cn/plugins/popu2do/dsh-call-session
羽毛球分组比赛记分
小程序二维码

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

小夜