dsh-chat-history:DeepSeek Harness 的 ChatGPT 风格对话历史 Rail

DeepSeek Harness(DSH)采用“一切皆插件”的架构。在处理长对话时,快速定位用户消息往往需要手动滚动,效率较低。下面介绍 dsh-chat-history 插件,它为 DSH 的 Web GUI 添加了类似 ChatGPT 的对话历史侧边栏,将导航操作转化为直观的视觉交互。

插件定位与功能

dsh-chat-history 是一个由维护者 ttmouse 开发的 MIT 许可证插件。它通过一个固定的 Rail 组件,在对话记录的右侧边缘展示每个用户消息的导航点,解决了长会话中查找上下文困难的问题。

核心功能如下:

  1. Rail 导航条:在对话记录的右侧边缘显示一系列水平 Bar,每个 Bar 对应一条用户消息。只要会话中包含两条以上的用户消息,该 Rail 始终可见。
  2. 悬停面板:鼠标悬停在某个 Bar 上时,会弹出一个列表,展示所有用户消息的编号和单行预览。点击列表项可直接跳转到对应消息。
  3. 滚动同步:高亮状态会自动跟随阅读进度,定位到滚动视口顶部边缘之下的第一条用户消息。点击跳转后,高亮状态会“锁定”在跳转的位置。
  4. 点击锁定:当悬停面板处于打开状态时,自动同步会暂停,允许用户自由浏览列表而不被打断。关闭面板后,同步恢复。
  5. Bar 按压跳转:直接点击 Rail 本身,也可以跳转到最近的 Bar,即使中间有间隔也能完成导航。
  6. 数据与样式:插件完全基于会话快照中的 user/steering 节点生成数据,并仅使用 Design Tokens 进行样式渲染。

安装与启用

使用此插件前,请确保你运行的是 DeepSeek Harness 的 Web Profile(即 GUI)。

  1. 进入运行 GUI 的 Profile 目录(例如 ~/.dsh/profiles/web)。
  2. 执行安装命令:
pnpm add @ttmouse/dsh-chat-history
  1. 在该 Profile 的配置文件中,将插件名称添加到 dsh.profile.bundles 数组中。DSH 的 plugin add 流程通常会自动处理此步骤,但也可以手动配置:
{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@ttmouse/dsh-chat-history"
      ]
    }
  }
}
  1. 重启 dsh web 服务并刷新浏览器,右侧边缘的对话历史 Rail 即会出现。

适用场景与注意事项

此插件适合所有需要在 DeepSeek Harness Web GUI 中管理长对话上下文的开发者。

  • 运行环境:插件依赖 Web Profile 环境。它注册到 conversation.session.header.actions 插槽,这意味着它与任何已发布的 @deepseek-ai/dsh-client-ui-conversation 兼容,无需上游接口变更。
  • 布局影响:Rail 组件以 position: fixed 渲染,依附于对话记录的滚动视口,不会占用 Header 的布局空间。
  • 依赖管理:插件通过 npm 依赖管理,安装前建议检查源码与许可证(MIT)。

总结

dsh-chat-history 通过极简的交互设计,将对话历史导航功能无缝集成到 DSH 界面中。它复用了 ChatGPT 的成熟交互模式,降低了长对话的上下文检索成本。

插件地址:GitHub | 社区目录

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

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

小夜