前言¶
在 DeepSeek Harness (DSH) 中,用户通常在工作区组内进行会话置顶,但这些置顶会话仍会随工作区切换、折叠列表或列表滚动而消失。dsh-pinned-sessions 插件在侧边栏创建了一个专门的“置顶”会话组,位于工作区分组上方,将所有工作区的置顶会话集中展示,并提供原地搜索功能。
核心功能¶
该插件在侧边栏创建一个置顶会话组,其结构包括:
* 头部: 34px 高度,包含轮廓钉图标、计数和搜索按钮。
* 列表: 下方为 32px 的会话行,对应每个置顶会话。
* 信息展示: 显示会话所属工作区,以及运行(蓝色)或完成(绿色)的状态。
* 搜索过滤: 支持在组内原地搜索,过滤会话标题(不区分大小写)。
* 折叠与开关: 支持折叠/展开列表;可通过“设置 -> 通用 -> 置顶会话区”开关控制显示。
* 子会话过滤: 隐藏存档的子代理会话。
安装¶
使用以下命令安装插件:
dsh plugin --profile <your-profile> add @vfvrpq/dsh-pinned-sessions
使用方式¶
- 置顶/取消置顶: 悬停会话行即可进行置顶或取消置顶。
- 打开会话: 点击置顶会话行可打开会话。
- 折叠/展开: 点击置顶组标题可折叠或展开列表。
- 搜索: 在搜索框输入关键词,支持不区分大小写的标题匹配。
技术细节与注意¶
- 状态管理: 插件不维护独立状态,完全依赖宿主的
workspaces.pinSession能力,置顶操作在任一位置生效,状态即时同步。 - DOM 结构: 采用 portal 挂载方式,不会破坏原生组件的 DOM 结构。
- 错误处理: 若锚点消失,插件会渲染空内容而非报错。
- 本地开发: 本地开发时,不要同时将插件添加到
dsh.profile.bundles和cordis.patch.yml,否则会导致重复安装。
生态背景¶
DeepSeek Harness 遵循“一切皆插件”的理念。此插件由社区维护,与 DeepSeek 或幻方官方无从属关系。