DeepSeek Harness 插件:dsh-session-pin

前言

在 DeepSeek Harness 的日常使用中,管理多个工作区与大量会话是常见场景。当对话列表过长时,快速定位正在进行的对话或关键参考内容会变得耗时。为了解决这个问题,需要一种能够将特定会话固定在侧边栏顶部的机制,以便在切换工作区时依然保持即时访问。

插件定位

dsh-session-pin 是由 OpenSaozi 维护的 DeepSeek Harness 网页版插件。它的核心功能是提供全局会话置顶能力,允许用户将重要的对话“钉”在侧边栏顶部,形成一个独立的置顶区域,从而在所有工作区中保持可见。

核心功能

该插件通过以下方式优化会话管理体验:

  1. 跨工作区持久化:置顶的会话会保持在侧边栏顶部区域,无论用户如何切换工作区,该列表始终可见。
  2. Codex 风格交互:提供类似 Codex 的快速操作,点击会话菜单即可执行“置顶/取消置顶”。
  3. 归档生命周期集成:置顶状态会随会话的归档操作保留。当会话被取消归档时,置顶位置会自动恢复。
  4. 轻量级本地存储:数据存储在 $DSH_HOME/settings.yaml 的 ui-session-pin.pinnedSessionIds 字段中,仅记录会话 ID,无需手动编辑配置文件。
  5. 干净卸载:移除插件不会修改对话记录、工作区路径或凭据,卸载后所有会话将恢复到默认的列表顺序。

安装与使用

此插件不运行在标准的 Harness 上,安装前必须满足特定条件。

前置条件

需要将 patches/harness-session-pin.patch 应用于 dsh-v0.1.1-rc.2 的检出版本。未打补丁的安装会导致入口挂起且 Web UI 无法加载。

安装步骤

使用官方安装命令将审核过的版本添加到 Web 配置文件中:

dsh plugin --profile web add github:OpenSaozi/dsh-session-pin#<commit-sha>

使用方法

  1. 安装完成后刷新页面。
  2. 在左侧侧边栏的任意对话行上悬停,会出现操作菜单。
  3. 点击菜单中的“Pin Session”即可将该会话置顶,新置顶的会话会自动移动到列表顶部。

兼容性与隐私

兼容性要求

  • 宿主环境:主机所有者需要通过设置 API 暴露 ui-session-pin 配置项。如果未暴露,插件将不显示置顶控制,且不会在本地存储副本。
  • DeepSeek Harness 版本:需要 @deepseek-ai/dsh-client-ui-workspace 包暴露 ctx.sessionPins 提供者注册表。

隐私与模型交互

  • 数据存储:插件仅持久化会话 ID 列表。它不会存储提示文本、模型响应、凭据、工作区路径或提供者请求。
  • 模型可见性:模型无法感知置顶状态。请求组装过程不会读取 pinnedSessionIds 字段。
  • 资源消耗:该插件不产生令牌消耗,也不会影响 KV 缓存效果。

限制与注意事项

  • 排序限制:置顶区域内部不支持手动拖拽排序。置顶操作会自动将会话移动到列表最上方;普通的拖拽排序仅适用于工作区文件夹和普通列表行。
  • 依赖特定版本:由于涉及底层 UI 的注入,插件对 Harness 版本有特定要求,升级 Harness 可能需要重新检查兼容性。

总结

dsh-session-pin 通过轻量级的方式解决了多项目、多会话管理中的定位问题。它专注于 UI 层面的辅助,不干扰模型推理过程,适合需要频繁在特定对话间切换的用户。

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

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

小夜