dsh-side-session:DeepSeek Harness 侧边临时会话插件

前言

在 DeepSeek Harness (DSH) 中进行开发或调试时,经常需要在当前会话基础上进行探索性测试,但又不想污染主会话的历史记录或将其放入会话列表。传统的做法是新建会话,但这往往需要手动复制历史上下文,且会话列表会变得冗余。

dsh-side-session 插件解决了这个问题。它通过在 DSH Web 界面创建一个侧边浮层,允许你 fork 主会话的历史和近期动态,进行独立的交互。这个侧边会话与主会话共享权限和工具,但关闭后即刻销毁,不留痕迹。

插件信息

  • 插件名称:dsh-side-session
  • 维护者:Diluka
  • 类别:客户端
  • 许可证:MIT

核心功能

  1. Fork 主会话历史:创建侧边会话时,会 fork 主会话中已完成的回合(作为 seed),并通过读取主会话的内存日志补全当前的进行中动态(用户消息、助手消息、工具调用)。
  2. 权限与工具一致:侧边会话继承主会话的 agent preset,包括工具、技能、提示词、权限行、当前工作目录(cwd)、模型路由以及 sandbox 模式和审批策略。
  3. 边界提示词注入:插件会注入专门的提示词(包含 system prompt 和首条 user 消息),明确告知代理“这是侧边临时会话”、“历史仅供参考”,避免干扰主线程。
  4. 非持久化与延迟创建:侧边会话不会出现在会话列表中。点击按钮仅弹出窗口,不创建 agent;只有发送第一条消息时才真正创建会话。
  5. 关闭即销毁:点击关闭后,agent 被销毁,且落盘文件会被删除,重启进程后无法再次打开该会话。
  6. UI 复用:侧边面板复用主会话的渲染逻辑,支持 Markdown、KaTeX、代码块、思考折叠、工具调用 chip 等显示。

安装与启用

该插件为静态 profile 插件,无需构建步骤。通过 DSH CLI 安装:

dsh plugin --profile web add /path/to/dsh-side-session

安装后需要重启 DSH Web 服务才能生效。

使用方法

  1. 打开 DSH Web 界面,进入任意一个主会话。
  2. 在会话头部点击「侧边会话」按钮,右侧会立即浮出临时会话窗口。
  3. 在窗口中提问。此时代理会以与主会话相同的上下文和能力进行工作。
  4. 使用完毕后,点击「关闭」按钮,侧边会话将被销毁。

技术实现细节

  • 通信机制:Host 进程与浏览器客户端通过 webServer 的 JSON 路由进行通信。
  • 消息发送:侧边会话的消息发送不走 wire 协议的 session.prompt(该接口会拒绝 origin: 'subagent'),而是由 Host 半部直接调用 agent.followup()。
  • 架构:Host 半部(lib/index.js)负责会话 fork、上下文快照和路由处理;Client 半部(lib/client.js)负责 UI 渲染和 RPC 调用。

适用场景与注意

适合在主会话运行过程中进行试错、调试或非破坏性探索的开发者使用。

注意:插件以当前 DSH 进程的权限运行,请在安装前检查源码与许可证(MIT)。

总结

dsh-side-session 为 DSH 用户提供了类似 Claude Code /btw 的侧边会话能力。它通过 fork 主会话的已完成历史和内存日志,结合边界提示词,实现了在共享权限环境下的临时隔离探索,关闭即销毁的特性保证了环境的整洁。

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

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

小夜