dsh-sidebar-pins:DeepSeek Harness 侧边栏固定会话管理

前言

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 变更导致的失效问题。
- 使用独立的设置命名空间,并支持从旧插件一次性迁移数据。

核心功能

  1. 侧边栏固定面板
    在侧边栏底部的 “Settings” 行上方显示 “📌 PINNED” 区块。面板高度最高可达 30vh,内容可滚动;在 Rail 模式下仅显示图标和数量。

  2. 多种固定方式

    • 点击固定会话行:点击面板内的会话项打开会话;右侧的 × 按钮用于取消固定(默认隐藏,悬停显示)。
    • 会话行悬停:鼠标悬停在普通会话列表的行上时,显示 📌 按钮进行固定/取消。
    • 会话头部切换:在当前打开的会话头部栏中提供固定开关。
  3. 数据存储与迁移

    • 固定状态存储在插件自身的设置命名空间 sidebar-pins 中(持久化到 ~/.dsh/settings.yaml)。
    • 首次安装时,会自动从 session-pin 命名空间迁移一次数据,无需手动操作。

安装与启用

在终端执行以下命令安装插件:

dsh plugin --profile web add github:AndreyTepaykin/dsh-sidebar-pins

安装后需要重启 DSH 客户端并刷新 GUI 页面才能生效。

使用方式

  1. 管理固定会话:
    在侧边栏底部,点击 “📌 PINNED” 头部即可手动折叠/展开面板。
  2. 操作会话:
    • 在固定面板中,点击会话条目直接打开。
    • 在普通会话列表中,将鼠标悬停在任意行上,点击出现的 📌 按钮将其固定到上方面板。
    • 在当前打开的会话头部,使用操作栏中的按钮进行固定。
  3. Rail 模式:
    当侧边栏处于 Rail 模式(仅显示图标)时,固定面板会自动适应,仅保留图标和固定会话数量显示。

限制与注意事项

  1. 主列表不重排
    插件不会修改主会话列表的顺序。固定的会话会保留在常规列表中,仅通过上方面板进行管理。这是受限于 DSH 核心架构,插件无法访问浏览器渲染层的数据。

  2. 会话行识别依赖
    在会话行悬停固定功能中,会话行的识别依赖于 React Fiber (__reactFiber$...),并回退到具有唯一 title 的嵌套 span。如果存在标题重复的会话,该按钮可能不会显示。

  3. Rail 模式下的行按钮
    在 Rail 模式下,侧边栏 DOM 中不存在会话行元素,因此行内的悬停固定按钮不会出现。固定功能仅通过固定面板和头部按钮可用。

  4. 面板高度与位置
    面板高度是动态的(最高 30vh),不会挤压 “Settings” 行。位置由锚点标记自动计算,不再支持用户手动配置位置。

结尾

该插件完全兼容 DSH 0.1.5-rc.1,并作为 dsh-session-pin 的继任者提供稳定的固定会话管理能力。如需查看源码或提交问题,可访问:GitHub | SkillHub 目录

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

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

小夜