前言¶
DeepSeek Harness (DSH) 0.1.5-rc.1 引入了架构变动,原有的 dsh-session-pin 插件因插槽(slot)限制和渲染逻辑差异,无法在当前版本正常工作(如无法在浏览器侧边栏体现会话重排)。dsh-sidebar-pins 旨在完全替代旧版插件,提供一个自包含的侧边栏固定会话块。
插件简介¶
名称:andreytepaykin/dsh-sidebar-pins
定位:为 DeepSeek Harness 左侧边栏提供独立的固定会话管理面板。
作者:Andrey Tepaykin
许可证:MIT
核心价值:
- 将固定会话从弹窗改为侧边栏内的固定区块。
- 解决了旧插件在 DSH 0.1.5-rc.1 中因核心 API 变更导致的失效问题。
- 使用独立的设置命名空间,并支持从旧插件一次性迁移数据。
核心功能¶
-
侧边栏固定面板
在侧边栏底部的 “Settings” 行上方显示 “📌 PINNED” 区块。面板高度最高可达 30vh,内容可滚动;在 Rail 模式下仅显示图标和数量。 -
多种固定方式
- 点击固定会话行:点击面板内的会话项打开会话;右侧的
×按钮用于取消固定(默认隐藏,悬停显示)。 - 会话行悬停:鼠标悬停在普通会话列表的行上时,显示
📌按钮进行固定/取消。 - 会话头部切换:在当前打开的会话头部栏中提供固定开关。
- 点击固定会话行:点击面板内的会话项打开会话;右侧的
-
数据存储与迁移
- 固定状态存储在插件自身的设置命名空间
sidebar-pins中(持久化到~/.dsh/settings.yaml)。 - 首次安装时,会自动从
session-pin命名空间迁移一次数据,无需手动操作。
- 固定状态存储在插件自身的设置命名空间
安装与启用¶
在终端执行以下命令安装插件:
dsh plugin --profile web add github:AndreyTepaykin/dsh-sidebar-pins
安装后需要重启 DSH 客户端并刷新 GUI 页面才能生效。
使用方式¶
- 管理固定会话:
在侧边栏底部,点击 “📌 PINNED” 头部即可手动折叠/展开面板。 - 操作会话:
- 在固定面板中,点击会话条目直接打开。
- 在普通会话列表中,将鼠标悬停在任意行上,点击出现的
📌按钮将其固定到上方面板。 - 在当前打开的会话头部,使用操作栏中的按钮进行固定。
- Rail 模式:
当侧边栏处于 Rail 模式(仅显示图标)时,固定面板会自动适应,仅保留图标和固定会话数量显示。
限制与注意事项¶
-
主列表不重排
插件不会修改主会话列表的顺序。固定的会话会保留在常规列表中,仅通过上方面板进行管理。这是受限于 DSH 核心架构,插件无法访问浏览器渲染层的数据。 -
会话行识别依赖
在会话行悬停固定功能中,会话行的识别依赖于 React Fiber (__reactFiber$...),并回退到具有唯一title的嵌套span。如果存在标题重复的会话,该按钮可能不会显示。 -
Rail 模式下的行按钮
在 Rail 模式下,侧边栏 DOM 中不存在会话行元素,因此行内的悬停固定按钮不会出现。固定功能仅通过固定面板和头部按钮可用。 -
面板高度与位置
面板高度是动态的(最高 30vh),不会挤压 “Settings” 行。位置由锚点标记自动计算,不再支持用户手动配置位置。
结尾¶
该插件完全兼容 DSH 0.1.5-rc.1,并作为 dsh-session-pin 的继任者提供稳定的固定会话管理能力。如需查看源码或提交问题,可访问:GitHub | SkillHub 目录