dsh-multi-session:在一个视图里总览并排多个 DSH 会话

前言

DeepSeek Harness(DSH)默认界面只展示当前这一个会话。当你同时开着多个会话并行跑任务时,想知道别的会话在聊什么、谁已经跑完、谁卡在等你回话,往往只能一个个点开再切回来。社区插件 dsh-multi-session(维护者 good-saltfish,分类:客户端)把总览、并排对话流和发消息收进同一页,减少来回切换。

下面介绍它是什么、能做什么、如何安装,以及使用时需要留意的限制。

这是什么

dsh-multi-session 的定位是:在一个会话视图里同时盯住多个会话——左侧(或总览区)是会话卡片列表,右侧可钉住最多三列,直接显示「我 ↔ 助手」的对话正文,并支持发消息、打断、转发。

与 DSH 原生「单会话 UI」相比,它额外提供按工作区分组、运行态排序、全文搜索(不激活会话、不烧 token)、以及 Host 侧读取任意会话对话摘要等能力。插件为纯 Web 客户端 + Host 路由组合,MIT 许可证,当前 package 版本为 0.5.3(以仓库 package.json 为准)。

核心功能

总览面板

在任意会话顶部视图切换条里进入 「多会话」 页签,即可看到总览面板。面板会:

  • 按 运行中 → 刚完成 → 其余 排序,卡片带状态点、轮数、子代理数、token、模型与相对时间;
  • 对卡在等你回话或等你批准的会话,用琥珀色标出 「等你回话 / 等你批准」(依据未决 approval/asked、未返回的 ask_user_question 等事件,不做超时猜测);
  • 按工作区(cwd)分组;子代理会话与归档会话默认折叠;
  • 顶部搜索框 跨全部会话全文搜索;优先走 sessionController.search,索引禁用时退化为读磁盘日志扫描面板可见会话;
  • 运行中或刚完成的卡片可显示该会话最后一句助手结论,以及本轮 改了哪些文件(依赖 workspaceChanges.summary(),仅有 workspace/changes 事件时才有数据)。

并排钉住与对话流

卡片底部有 + 并排看(已钉住时为 − 移出并排),最多并排 3 个会话。钉住选择保存在 localStorage,关闭面板再打开仍保留。整张卡片本身不可点击,避免误触跳转;要进入该会话请点同一行的 打开。

并排每列展示过滤后的 user/assistant 对话(Markdown 渲染;工具调用、系统注入等已在 Host foldDigest 与客户端二次过滤)。气泡布局为 助手靠左、你靠右,消息旁有 「转发」 可选目标会话,语义为 queue 排进对方收件箱。

直接操控

每列底部有输入框:

  • Enter:发送并排进收件箱,不打断当前回合;
  • Shift+Enter:插话,立刻打断当前回合;
  • 运行中的列另有 「停止」 按钮(对应 Host prompt 的 cancel)。

运行中列约 1.2 秒 刷新一次;停下后降频到 8 秒 继续跟,避免刚结束仍停在旧结果。

安装与启用

从 DSH 插件市场安装,或本地安装 bundle。官方 README 给出的命令形式如下(target 填插件目录或包名,勿自行拼接未在文档出现的 dsh plugin add 形式):

plugin_manager action=install_bundle target=<插件目录或包名>

运行环境要求 Node.js >= 20。业务 HTTP 路由均过 connection.requestRejection 鉴权;浏览器同源 fetch 带 cookie 可用,直接用 curl 会得到 unauthorized,属预期行为。

开发期诊断(/probe、/stamp、/reload 等)默认关闭。开启方式二选一:在 profile patch 里为本插件设置 dev: true,或设置环境变量 DSH_MULTI_SESSION_DEV=1 后重启 DSH。

典型用法

  1. 打开任意 DSH 会话,在顶部视图切换条进入 「多会话」。
  2. 在总览里按工作区找到目标会话;需要同时盯正文时,点卡片上的 + 并排看(最多 3 列)。
  3. 需要跳转完整会话界面时,点 打开,而不是点卡片空白区域。
  4. 在并排列底部输入框发消息:普通发送用 Enter,要打断当前回合用 Shift+Enter。
  5. 要把某条结论交给另一个会话:点消息旁的 「转发」,选择目标会话。
  6. 跨会话找关键词:用面板顶部搜索框,无需逐个激活会话。

Host 侧对话数据经 GET /plugins/dsh-multi-session/digest 等路由提供;客户端列表与会话元数据来自插槽 standardProps 的 useWorkspaces / useSessions。

适用场景与注意

适合谁: 经常在 DSH 里并行开多个会话、需要一眼看清谁在跑、谁在等、并想在同一屏读正文或插话的智能体 / 开发者用户。

权限与安全: 插件以当前 DSH 进程权限运行,安装前请自行审阅源码与 MIT 许可证,确认符合你的部署策略。

已知限制(摘自 README):

  • 并排最多 3 列;每列默认最近 20 条,可「载入更早」,Host 上限 600 条;单条用户/助手正文有字数上限(为控制轮询载荷)。
  • 子代理会话默认折叠,避免列表被淹没。
  • 纯 Web 插件,关掉页面即无界面;关页仍要收通知需另接 webhook 等机制。
  • 会话间转发固定为 queue,不提供打断式转发。
  • 跨会话搜索在索引 openAt: "never" 时会退化扫描,面板可见会话较多时可能需数秒。

SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;星标等统计以各站点展示为准(GitHub 上该仓库当前为 1 star)。

结尾

dsh-multi-session 把多会话的状态总览、并排对话与操控集中在一个视图里,针对「多点开、难分清谁在等、切会话只为说一句话」等痛点做了针对性设计。若要进一步了解或提 issue,可访问 SkillHub 目录页 与 GitHub 仓库。

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

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

小夜