dsh-multi-session:在 DeepSeek Harness 里并排驱动多个会话

前言

在 Harness 里同时跟进多条对话时,常见做法是反复切换侧边栏里的会话列表:上下文在脑子里对齐,界面却始终只能看一条线程。若要在同一窗口里对照多条回复、并行给不同会话下指令,原生单页对话布局就不够用了。

下面介绍社区客户端插件 dsh-multi-session(维护者 vegetable86):在 DSH 中注册独立的「多会话」主面板,把多个已有会话平铺在同一视图里,每格都是完整的原生对话(消息流与输入框),并支持类似 tmux 的分隔条调整与多套布局标签。插件归类为客户端,当前 GitHub 星标为 0;许可证为 MIT(见仓库 LICENSE)。

这是什么

一句话定位:为 DeepSeek Harness 提供的多会话分屏工作区——侧边栏进入后,在一个面板里并排查看并操作多条会话。

npm 包名(README 写明):@vegataa/dsh-multi-session。package.json 中版本为 0.9.0,描述为 “Multi-session split view panel for DeepSeek Harness”。Host 侧 index.js 为空实现,能力全部在客户端 bundle client.js 中完成。

DeepSeek Harness 的扩展思路是「一切皆插件」;SkillHub 上的插件目录是社区站点,与 DeepSeek / 幻方无官方从属关系。安装与启用前宜自行审阅源码与许可证——插件以当前 DSH 进程权限运行。

核心功能

多会话主面板

  • 只注册一个 main 面板(key multisession)和一个 sidebar.panellist 图标,普通单会话对话页不受影响。
  • 格子数量不设上限;每格通过 <SessionProvider session={reference}> 绑定已有会话,内部用官方 conversation.content 工厂槽(variant: 'embedded')渲染,不是自绘聊天 UI。
  • 格子两两不重叠地平铺;拖动横、竖分隔条可调整相邻格子尺寸,手感类似 tmux;单格可最大化 / 还原、关闭(至少保留一格),工具条「均分」可恢复平均分配。

标签栏与多套布局

面板顶部为类似浏览器的标签栏:每个标签对应一整套独立的多会话布局(格子、分隔条权重、最大化 / 最小化状态)。可 + 新建标签(默认填入最近两个会话)、× 关闭标签(至少保留一个)、双击改名;标签标题默认跟随第一个会话,会话运行时标签上有小绿点。

最小化、新建会话与沉浸全屏

  • 标题栏「最小化」将格子收到面板上方标题条(带运行状态点),不占网格,其余格子自动铺满。
  • 空格或选择器底部的「新建会话」会先选工作区,再在该格内 sessions.create({ workspaceId }),不离开多会话页面;无工作区时退回 Host 默认目录。
  • 工具条「沉浸全屏」让面板铺满窗口并盖住左右侧栏;再点一次或按 Esc 退出,布局保留。

持久化与健壮性

布局、绑定会话、最大化 / 最小化 / 全屏状态会自动记住,刷新或重启后恢复;会话不存在时显示「不可用」并可重选。选择器默认不列子代理会话,也不列空白会话(当前格绑定的空白会话除外)。

实现上对 conversation.content 签名变化、格子内渲染异常等做了错误边界与重试;整面板异常时可一键清布局重置。存储从 v1–v5 单份布局会升级到标签模型的第一个标签。

安装与启用

已抓取 README 与 package.json 未给出 dsh plugin add … 一类官方 CLI 安装原文;请勿仅凭仓库名自行拼接命令。可按以下途径核对:

  1. 打开社区目录页:https://www.skillhub.cn/plugins/vegetable86/dsh-multi-session,按页面说明安装(若提供)。
  2. 查阅 GitHub 仓库发布与说明:https://github.com/vegetable86/dsh-multi-session(npm 发布名见 README:@vegataa/dsh-multi-session)。

package.json 中 dsh.client 配置为 platform: web、immediately: true,并注入会话、布局、侧栏、工作区等相关客户端模块;安装后应在左侧边栏看到「多会话」入口。

典型用法

先做 X:从侧边栏点「多会话」图标进入面板。

  1. 首次打开:自动填入最近两个会话;每格标题栏点会话名可切换(支持搜索);工具条「+ 添加会话格」可增加格子。
  2. 调布局:拖行与行之间的横分隔条调整上下行高度;拖同一行内竖分隔条让左右格互补变宽变窄;需要时可对单格最大化,或用「均分」恢复。
  3. 多布局:用顶部标签切换不同分屏方案;+ 新建、× 关闭(保留至少一个标签),双击改名。
  4. 并行新建:在某一格用「新建会话」,选好工作区后在该格创建,全程留在多会话页。
  5. 大屏对照:点工具条右上角「沉浸全屏」腾出侧栏宽度;Esc 依次退出最大化与全屏。

经过上面的步骤,你可以在同一个 Harness 窗口里并排阅读与输入,而不必在会话列表里来回跳转。

适用场景与注意

适合谁:需要同时盯多条 Agent 对话、对照不同工作区会话输出,或希望用分屏代替频繁切换侧边栏的 Harness 用户。

注意:

  • 依赖 Harness 内部 conversation.content 等客户端 API;上游签名变更时,单格可能短暂显示「此视图暂不可用」,插件侧已做隔离,避免拖垮整个面板。
  • 插件为纯客户端 bundle,无额外构建步骤对外发布形态为 client.js(window.__ModuleLoader__.load(...) 包);开发自测可用仓库内 npm test(注册形态与 jsdom 渲染冒烟)。
  • 安装前请阅读源码与 MIT 许可证;勿在未审阅的情况下在生产环境盲目引入第三方插件。

结尾

dsh-multi-session 把「多会话并排查看与驱动」收进一个独立主面板:原生对话组件、tmux 式分屏、标签化多套布局与状态持久化,适合在 DSH 里做并行对话工作流。

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

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

小夜