dsh-session-nexus:DSH 会话生命周期与跨会话消息插件

前言

DSH 的插件生态强调“一切皆插件”。在多会话工作流中,开发者常遇到的问题不只是单次对话效果,还包括会话本身不好操作:冷会话需要重新挂载、归档状态需要临时恢复、删除需要显式确认、一个会话需要把任务或上下文交给另一个会话。

dsh-session-nexus 是一个非官方 DeepSeek Harness 社区插件,由 qiushi-dev 维护,许可证为 MIT。它一次安装提供会话生命周期控制与跨会话消息能力,面向 DSH 智能体开发者。它是社区插件,未经 DeepSeek 审查或背书;社区目录是独立站点,不等同于 DeepSeek / 幻方官方应用商店。

这是什么

dsh-session-nexus 的定位是把 DSH 会话变成可操作、可寻址的对象:

  • 通过斜杠命令管理会话生命周期。
  • 通过命令和模型工具向其他会话投递消息。
  • 通过模型工具获取其他会话的标题、时间线和最近消息摘要。
  • 在 Web UI 中提供 session id 与 /address 结果的展示增强。

下面介绍它的核心能力、安装命令、典型用法和限制。

核心功能

会话生命周期控制

  • /resume <id>:按 id 显式挂载冷会话,不发消息;从日志解析 preset。
  • /unarchive <id>:best-effort 取消归档。
  • /rm-session <id> --yes:降级两步删除,默认关闭,需要 lifecycle.allowDelete: true 开启。

跨会话消息

  • /send-to <地址> <消息>:wakeup 投递,成为目标的下一个 turn;冷会话自动 resume。
  • /notify <地址> <消息>:quiet 投递,进入目标下一步模型上下文,不唤醒。
  • /address [地址]:输出会话的规范地址,包括 URI 与 mention,供复制;无参数时表示当前会话。
  • session_send_message:模型工具,用于向其他会话投递消息。
  • session_overview:模型工具,可获取会话标题、时间线和最近消息摘要。

地址格式

会话地址支持以下形式:

  • composer mention
  • dsh-session: URI
  • session id
  • 标题等

投递呈现

投递呈现支持两种模式:

  • bubble
  • context

Web UI 增强

  • 会话头部显示 session id 芯片。
  • /address 结果以卡片形式展示,方便查看和复制。

安全限制

插件在跨会话消息中加入了以下限制:

  • 发送者归属。
  • 不可信内容提示。
  • 拒绝自投递。
  • 消息长度上限:maxMessageChars16384
  • 循环限制:默认 10 条 / 300 秒。

安装与启用

使用下面的命令安装插件:

dsh plugin --profile web add dsh-session-nexus

安装后,插件提供上文列出的斜杠命令和模型工具。默认情况下 mailbox.enableTool: true,模型会获得 session_send_message 工具。

如果后续需要启用删除会话能力,需要显式开启:

lifecycle:
  allowDelete: true

下面的配置示例展示了常用配置项:

- id: session-nexus
  name: dsh-session-nexus
  config:
    lifecycle:
      allowDelete: false
    mailbox:
      enableTool: true
      maxMessageChars: 16384
      presentation: bubble
      rateLimitCount: 10
      rateLimitWindowSeconds: 300

其中 presentation 可设置为 bubblecontext

典型用法

  1. 重新挂载一个冷会话:
/resume <id>
  1. 尝试取消归档:
/unarchive <id>
  1. 向另一个会话发送唤醒消息:
/send-to dsh-session:... 继续处理失败用例
  1. 只把上下文注入目标会话,不触发立即响应:
/notify dsh-session:... 这里的决策原因是 A,后续不要重复排查 B
  1. 复制当前会话的规范地址:
/address
  1. 让模型查看另一个会话的标题、时间线和最近消息摘要:

使用 session_overview 模型工具。

适用场景

适合以下工作:

  • 多会话并行,需要统一挂载、取消归档或删除会话。
  • 一个会话作为协调者,向其他会话发送任务或上下文。
  • 模型需要获取其他会话的标题、时间线和最近消息摘要。
  • Web UI 中需要快速查看 session id 或复制会话地址。

注意

  • 这是非官方社区插件,未经 DeepSeek 审查或背书。
  • 插件以当前 dsh 进程权限运行。安装前应检查源码、许可证和配置项,确认命令、删除与消息能力符合你的风险边界。
  • /rm-session 默认关闭。它只移除 JSONL session 目录;派生索引、缓存和统计需懒加载对账,正确删除依赖上游 delete 操作。
  • /unarchive 受 workspace registry 私有内存缓存限制,后续 workspace 写入可能在重启前回滚。
  • 从插件向冷会话 quiet 投递不可行,需要上游 mailbox seam 支持。
  • 侧边栏会话行没有复制地址菜单项,需要使用 /address 或 composer mention picker 替代。
  • 许可证为 MIT。

链接

  • GitHub:https://github.com/qiushi-dev/dsh-session-nexus
  • 目录页:https://www.skillhub.cn/plugins/qiushi-dev/dsh-session-nexus
羽毛球分组比赛记分
小程序二维码

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

小夜