DSH Pin-Sessions:固定侧边栏会话以快速访问

在 DeepSeek Harness (DSH) 的日常使用中,频繁重复的工作流需要频繁切换会话。当侧边栏会话列表较长时,快速定位活跃会话变得困难。fallow5/dsh-pin-sessions 插件通过将活跃会话固定到侧边栏顶部并集中管理归档会话,解决了这一导航问题。

插件定位

这是一个 DSH web 插件,允许用户将活跃会话固定到侧边栏顶部,并提供归档面板以管理被隐藏的会话。

核心功能

  1. 固定与取消固定

    • 将会话固定到侧边栏顶部,同时从工作区浏览器中隐藏该会话。
    • 取消固定会将会话恢复到工作区浏览器中。
  2. 归档面板

    • 提供设置面板用于管理归档会话。
    • 支持批量删除、逐行恢复、按工作区分组以及每页 20 条的分页显示。
  3. 上下文菜单集成

    • 通过 @baihejiangnan/dsh-session-context-menu 扩展右键菜单,提供固定/取消固定的操作选项。
  4. 设计逻辑

    • 固定即归档:固定操作调用 workspaceRegistry.archiveSession() 将会话从工作区浏览器中隐藏;取消固定调用 unarchiveSession() 恢复会话。

安装与构建

在安装前,请确保已安装 Node.js (>=20) 和 pnpm。

cd dsh-pin-sessions
pnpm install
pnpm run build

安装命令:

dsh plugin --profile web add /path/to/dsh-pin-sessions

依赖与架构

依赖项

该插件依赖以下包:
* 运行时依赖:@baihejiangnan/dsh-session-context-menu(用于上下文菜单)。
* DSH 核心包:@deepseek-ai/cordis、@deepseek-ai/dsh-storage-domain、@deepseek-ai/dsh-typert-protocol、@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-slots、@deepseek-ai/dsh-client-ui-sidebar、@deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-primitives、@deepseek-ai/schemastery。

架构设计

插件采用标准的 DSH 插件拆分结构:
* 主机侧:负责存储管理(pin_sessions 域)和 TYPERT 远程服务定义(PinsRuntime)。包含 8 个 TYPERT 方法:list、pin、unpin、toggle、isPinned、deleteSessions、listArchived、unarchiveSession。
* 客户端侧:负责 UI 渲染。通过 window.__ModuleLoader__.load 包装器加载,并将 PinnedSection(固定区)和 ArchiveSection(归档区)渲染到侧边栏中。

注意事项

  1. 服务端变更:主机侧代码变更后,需要重启 DSH 服务器才能生效。
  2. 客户端变更:客户端代码变更后,需要刷新浏览器页面才能生效。
  3. 前置依赖:必须安装 @baihejiangnan/dsh-session-context-menu 才能使用右键菜单集成功能。

总结

该插件通过将活跃会话固定到顶部并提供集中的归档管理界面,优化了 DSH 侧边栏的交互体验。适合需要频繁在多个特定工作流之间切换的用户使用。

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

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

小夜