dsh-plugin-sidebar-views:DSH 侧栏双视图与固定会话管理

前言

DeepSeek Harness 的原生侧栏在处理大量自动化任务时,会话列表容易变得杂乱。插件通过引入双视图切换和固定会话机制,帮助开发者将人工会话与自动化任务区分开,保持侧栏的可读性。

插件介绍

这是一个由 NattoCB 维护的客户端插件,为 DSH Web 界面侧栏增加双视图切换和固定会话分组功能。集成方式为纯客户端注入,依赖 window.__ModuleLoader__ bundle,并通过 localStorage 存储状态。插件声明了 dsh.bundle.patch 和 dsh.client(web)。

核心功能

  • 双视图切换条:列表上方提供“工作区”与“历史会话”两个 Tab。工作区显示原生分组,历史会话将所有会话按最近排序平铺,包含相对时间戳、运行状态点与所属工作区标签。
  • 固定会话分组:两种视图下都会在列表顶部显示固定会话,实时计数并支持折叠。已删除的会话会以置灰行显示,不会消失。
  • 历史会话分组:历史会话视图下,会话分为“工作区”和“外部调用”两组。“外部调用”指无 workspace 的 headless 会话(如直连创建),默认折叠并显示实时计数。归组逻辑基于 workspace 成员资格,若注册滞后则按 cwd 路径前缀兜底。
  • 行级菜单与过滤:每一行提供“复制 Session ID”等操作。历史会话视图内置标题过滤框。原生工作区菜单增加了“在 Finder 中打开”功能。
  • 性能优化:纯 DOM 实现,不使用 React 或 portal。使用 DocumentFragment 批量插入,视口外分组使用 content-visibility 跳过布局重绘,支持 2400+ 行列表的毫秒级渲染。
  • 旧插件平滑迁移:检测到旧插件 dsh-plugin-pin-session 时,启动时一次性合并固定列表,过渡期支持双写,旧插件移除后不影响当前插件运行。

安装与启用

  1. 确保已安装 DeepSeek Harness 并能运行 dsh web。
  2. 执行安装命令:
    dsh plugin --profile web add github:NattoCB/dsh-plugin-sidebar-views
  1. 安装完成后重启 dsh web。侧栏列表上方会自动出现切换条,无需额外配置。

使用说明

  • 切换视图、固定会话、折叠分组的状态均存储在浏览器的 localStorage 中(键名为 dsx2-pins, dsx2-groups),刷新页面后状态不丢失。

注意事项与卸载

  • 状态持久化:Pin 与分组状态存储在浏览器 localStorage,固定关系跟随浏览器 profile,不跟随 DSH host。
  • 卸载安全:卸载时必须从 profile 的 package.json 中同时移除 dependencies 和 dsh.profile.bundles 里的条目,然后重启 DSH。仅删除 node_modules 而不更新配置文件,会导致 boot graph 请求不存在的 client.js,引发致命错误并无法挂载 GUI。

参考

  • 仓库地址:https://github.com/NattoCB/dsh-plugin-sidebar-views
  • 许可证:MIT
  • 生态目录:https://www.skillhub.cn/plugins/NattoCB/dsh-plugin-sidebar-views
羽毛球分组比赛记分
小程序二维码

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

小夜