bilbillm/dsh-conversation-minimap ↗★ 0
@dsh-external/dsh-conversation-minimap
A Codex-style conversation minimap for DeepSeek Harness.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:bilbillm/dsh-conversation-minimap说明文档
阅读完整 README ↗dsh-conversation-minimap
@dsh-external/dsh-conversation-minimap 为 DeepSeek Harness 增加 Codex 风格的
对话小地图。每个标记对应一个由会话引擎维护的轮次;当前阅读轮次会被强调,
悬停或键盘聚焦可以查看摘要,激活标记会直接滚动到该轮内容。
预览内容来自 Harness 的公开 Conversation Snapshot,可显示:
- 用户请求摘要;
- 该轮最后一段助手结果;
- 运行中、完成、失败或停止状态;
- 可选
ui-deliverables功能发布的产出文件。
插件采用附加式接入:在 conversation.session.header.utilities 注册一个不占
布局的入口,通过语义标记定位本会话的 [data-conversation-scroll],再用独立
Portal 渲染轨道。它不会替换会话主体、改变聊天列宽、抓取页面文字或依赖 CSS
Module 哈希。
安装
构建本地源码并安装到隔离的 Harness Web profile:
pnpm install
pnpm run build
cd C:\Users\lumoren\Documents\GitHub\deepseek-harness
pnpm dsh plugin --profile web add C:\Users\lumoren\Documents\GitHub\dsh-conversation-minimap
pnpm dsh web
需要源码热重建时,在第二个终端进入 Harness 仓库运行 pnpm run dev:web。
行为
- 宽聊天列显示左侧窄轨道,窄聊天列收缩为顶栏小地图按钮。
- 悬停和聚焦显示请求、结果、状态以及最多四个产出路径。
- 点击、Enter 或 Space 跳转到该轮首个已挂载节点。
- 更早历史只在用户主动触发时加载,插入旧消息后恢复原阅读锚点。
- 会话打开、加载更早页面以及分页失败会在轨道中显示,不替换宿主会话状态。
- 每个标记都是可访问按钮,当前阅读轮次使用
aria-current。 - 实时遵守
prefers-reduced-motion,减少动效时取消平滑滚动和位移。
应用或主题可以显式关闭某个子树的小地图:
...
兼容性
插件面向 Harness 0.1.0-rc.5 本地源码以及已发布的 0.1.0-rc.6 客户端包,
覆盖默认 light、dark 与 angelina-light、angelina-dark。颜色优先读取
--dsw-alias-* 语义变量,缺失时使用系统颜色回退。
插件与 dsh-motion 相互独立。自身 Portal 使用 data-dsh-motion="off" 防止
重复动画,Harness 的其他界面仍由宿主、主题和 dsh-motion 正常管理。
开发
pnpm run check
pnpm run pack:check
可选 Playwright 验收连接到已经运行的隔离 profile:
$env:DSH_MINIMAP_E2E_URL = 'http://127.0.0.1:3000/'
pnpm run test:e2e
运行时没有轮询、setInterval 或常驻动画帧。MutationObserver 只观察当前会话
滚动容器;会话入口卸载时会释放全部 observer、事件监听、Portal、样式、计时器
和已请求的动画帧。
分发入口
.:供 Harness Loader 挂载的空 Node half。./client:通过__ModuleLoader__注册的浏览器 Cordis 插件。