DeepSeek Harness(DSH)采用“一切皆插件”的架构。在处理长对话时,快速定位用户消息往往需要手动滚动,效率较低。下面介绍 dsh-chat-history 插件,它为 DSH 的 Web GUI 添加了类似 ChatGPT 的对话历史侧边栏,将导航操作转化为直观的视觉交互。
插件定位与功能¶
dsh-chat-history 是一个由维护者 ttmouse 开发的 MIT 许可证插件。它通过一个固定的 Rail 组件,在对话记录的右侧边缘展示每个用户消息的导航点,解决了长会话中查找上下文困难的问题。
核心功能如下:
- Rail 导航条:在对话记录的右侧边缘显示一系列水平 Bar,每个 Bar 对应一条用户消息。只要会话中包含两条以上的用户消息,该 Rail 始终可见。
- 悬停面板:鼠标悬停在某个 Bar 上时,会弹出一个列表,展示所有用户消息的编号和单行预览。点击列表项可直接跳转到对应消息。
- 滚动同步:高亮状态会自动跟随阅读进度,定位到滚动视口顶部边缘之下的第一条用户消息。点击跳转后,高亮状态会“锁定”在跳转的位置。
- 点击锁定:当悬停面板处于打开状态时,自动同步会暂停,允许用户自由浏览列表而不被打断。关闭面板后,同步恢复。
- Bar 按压跳转:直接点击 Rail 本身,也可以跳转到最近的 Bar,即使中间有间隔也能完成导航。
- 数据与样式:插件完全基于会话快照中的
user/steering节点生成数据,并仅使用 Design Tokens 进行样式渲染。
安装与启用¶
使用此插件前,请确保你运行的是 DeepSeek Harness 的 Web Profile(即 GUI)。
- 进入运行 GUI 的 Profile 目录(例如
~/.dsh/profiles/web)。 - 执行安装命令:
pnpm add @ttmouse/dsh-chat-history
- 在该 Profile 的配置文件中,将插件名称添加到
dsh.profile.bundles数组中。DSH 的plugin add流程通常会自动处理此步骤,但也可以手动配置:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@ttmouse/dsh-chat-history"
]
}
}
}
- 重启
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 的成熟交互模式,降低了长对话的上下文检索成本。