deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English · 中文
会话代码地图(Conversation Minimap)—— DeepSeek Harness (
dsh) Web 客户端插件。
当前版本:0.1.8
在对话区右侧渲染一条可拖动的会话代码地图,像编辑器的 minimap 一样预览整段会话并快速滚动:
» 收起为 4px 细条;收起后细条顶部常显 « 标签,点击标签或细条展开。缩略图模式(加宽后,整段会话按比例缩微显示):

色块模式(窄条,按消息类型着色,悬停预览):

安装最新版(默认):
dsh plugin --profile web add dsh-conversation-map
安装指定版本(dsh plugin add 直接透传 pnpm 参数,支持任意 npm 版本写法):
# 固定某个版本
dsh plugin --profile web add dsh-conversation-map@0.1.8
# 升级到最新版
dsh plugin --profile web update dsh-conversation-map@latest
验证层已挂载,然后启动:
dsh --profile web --dump-config # 应出现 "# == dsh-conversation-map" 层
dsh --profile web
🗑️ 卸载:dsh plugin --profile web remove dsh-conversation-map
dsh 0.1.x 的 Web 会话 DOM 契约实现:[data-conversation-scroll] 会话滚动容器(注意:切换会话时框架会重建会话列,该容器每次都是新节点,插件通过稳定祖先观察 + 每次计算重解析自动跟随)[data-chat-anchor-key] / [data-chat-flow-kind] 会话节点行[data-composer-seat] 底部输入区localStorage(键 dsh-conversation-map:width / dsh-conversation-map:collapsed),切换会话与刷新页面均保持。shell.overlay 槽位挂载,仅使用平台模块 react 与 slots 服务,无网络请求、无遥测(除上述 localStorage 本地状态外无其他持久化)。pnpm install
pnpm run build # tsdown → lib/client.js(__ModuleLoader__ 工厂包壳)
构建产物契约:CJS + window.__ModuleLoader__.load({ id, factory }) 包装;react 等平台模块保持外部引用,其余依赖全部内联(本插件除 react 外无其他依赖)。
src/client/index.ts 中的 THUMB_MIN_WIDTH(默认 50)thumbScaleFor() 恒定返回「地图宽 / 内容宽」(上限 1),与会话长度无关;超长会话在轨道内随滚动纵向平移,平移由内容框位置反推(src/client/geometry.ts),保证框内所见即屏幕所见WIDTH_MIN / WIDTH_MAX(默认 10 / 320)THUMB_CLONE_INTERVAL(默认 200ms)LOUPE_W / LOUPE_H(默认 854 / 200,整行按面板宽度等比展示)、LOUPE_SCALE(放大上限,默认 1 = 真实比例)MIT
🧰 推荐插件仓库:dsh-market
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。