前言¶
DeepSeek Harness (DSH) 采用插件化架构,社区插件生态丰富。在开发或调试智能体时,通常只渲染最近几十条对话,早期的指令记录往往难以回溯。这导致查看长会话上下文或定位历史指令时效率较低。
dsh-command-rail 是一个用于 DSH web 端的插件,它会在会话区左侧边缘生成一列低对比度的指令横条,实现类似 Codex 的指令历史轨道。该插件不依赖当前 DOM 渲染窗口,而是通过官方客户端 API 获取完整的历史数据,确保每一条用户指令都有对应的标记。
核心功能¶
全量历史与数据源¶
插件通过官方客户端 API(如 connection.api.sessions.history)获取全量数据,而非仅读取 DOM。DOM 仅保留最近约 50 个事件的窗口,轨道显示不受此限制。
交互方式¶
- 悬浮查看:鼠标悬停在轨道横条上时,横条变宽变亮,并弹出 Popover 显示当前指令的摘要信息(格式为「第 N / M 条指令」)。即使指令尚未加载进 DOM,只要在历史记录中存在,即可查看摘要。
- 点击跳转:点击横条可平滑滚动定位到该条指令。若目标指令不在当前窗口内,插件会通过
sessions.scope(id).conversation.loadOlder()逐页加载更早历史,直至消息进入 DOM 后再执行跳转并高亮。 - 当前位置高亮:阅读位置对应的横条保持品牌色高亮。DOM 行与历史条目通过文本签名对齐。
健壮性与适配¶
- 会话切换:插件订阅 sessions 列表,自动检测会话切换并重绘历史。
- 降级处理:当历史 API 不可用时,会自动退回 DOM 采集模式,确保轨道不会消失。
- 自适应布局:当指令数量较多时,横条高度与间距会逐级压缩(最低 2px);当指令超过 400 条时,会自动进行均匀采样,避免界面过于拥挤。
安装与启用¶
使用以下命令安装插件:
dsh plugin --profile desktop add dsh-command-rail-0.3.1.tgz
注意事项:
1. 新插件首次安装后需要重启 DSH Desktop 才能生效。
2. 已安装插件的更新支持 HMR(热模块替换),无需重启。
3. 在使用 pnpm 更新时,若版本号未发生变化,pnpm 会跳过重装,此时必须手动升级版本号。
典型用法¶
- 鼠标悬停在左侧的指令横条上,即可查看该条指令的摘要内容。
- 点击对应的横条,页面会平滑滚动并加载该条指令,若指令较旧会自动加载更早的历史记录。
适用场景与注意¶
该插件适合需要在长会话中频繁回溯、查看历史指令上下文的开发者。由于插件以当前 DSH 进程的权限运行,安装前建议查看源码与许可证(MIT)。