dsh-conversation-map:DeepSeek Harness 会话地图插件

DeepSeek Harness (dsh) 目前处于开发者预览阶段,接口可能发生破坏性变更。在进行智能体开发时,面对较长的会话记录,快速定位上下文往往比较困难。dsh-conversation-map 是一个用于 DeepSeek Harness Web 客户端的插件,旨在对话区右侧渲染一条可拖动的会话地图,提供类似代码编辑器 minimap 的导航体验。

功能特性

该插件通过 Web 会话 DOM 契约实现,核心功能包括:

  1. 双模式切换:宽度小于 50px 时显示色块模式,按消息类型着色(用户、助手、工具调用、命令、错误),悬停可查看内容预览;宽度大于等于 50px 时自动切换为缩略图模式,展示会话的真实结构。
  2. 拖动调整宽度:按住地图左侧把手可左右拖动调整宽度,范围在 10 至 320px 之间,右缘固定。拖动过程中会显示实时宽度徽标。
  3. 快速滚动与定位:点击地图任意位置可跳转至对应内容,按住拖动可连续滚动。在缩略图模式下,按住当前会话内容框可跟随滚动。
  4. 悬停放大预览:在缩略图模式下,悬停地图任意位置,光标左侧会弹出放大预览窗口,完整展示该行内容。
  5. 收起与展开:悬停地图顶部点击 » 可收起为 4px 细条;收起后细条顶部常显 « 标签,点击标签或细条即可展开。
  6. 实时同步:消息流式输出、工具调用、切换会话时地图会自动刷新。侧栏、详情面板的开合以及窗口缩放都会触发地图更新。
  7. 高度自适应:地图高度随会话内容实时伸缩,缩略图缩放比例恒由宽度决定,与会话长度无关。

安装与启用

安装该插件需要使用 DeepSeek Harness 的插件命令:

dsh plugin --profile web add dsh-conversation-map

安装后,可以通过以下命令验证插件层是否已挂载:

dsh --profile web --dump-config

随后启动 Web 客户端:

dsh --profile web

技术与注意事项

该插件当前基于 dsh 0.1.x 的 Web 会话 DOM 契约实现,依赖 react 平台模块和 slots 服务。Host 半身为空实现,浏览器半身通过 shell.overlay 槽位挂载。插件本身不包含网络请求或遥测(除使用 localStorage 进行状态持久化外无其他持久化)。

状态持久化于浏览器的 localStorage,键名为 dsh-conversation-map:width 和 dsh-conversation-map:collapsed。这意味着调整后的宽度和收起状态会在刷新页面或切换会话后保持。

总结

dsh-conversation-map 为 DSH Web 客户端提供了可视化的会话导航能力,适合需要在长对话中快速定位上下文的开发者使用。更多细节与源码可参考 GitHub。

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

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

小夜