在 DSH 聊天区右侧添加非等长非等距对话密度地图(历史聊天标签),一轮对话一个刻度,刻度长度与纵向距离反映消息大小,点击刻度可跳转至对应对话,标签繁杂时鼠标悬停会自动拉伸便于点击。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:weien666/dsh-conversation-density-map
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
特此声明:deepseek harness最新版本已内置侧边栏,故此插件停止继续更新,谢谢支持!
安装:dsh plugin --profile web add github:weien666/dsh-conversation-density-map
一个为 DeepSeek Harness 打造的极简 “对话密度地图(右侧历史对话标签)” 插件:在聊天区右侧的固定高度内,用小刻度直观展示整段对话的 分布 、 长短 与 当前位置,点击任意刻度即可 平滑跳转 到对应对话。
纯前端、零依赖、无需构建——真正的插件本体只有 3 个源文件。

特性
- 一轮对话一标签:每轮对话只占一个标签,AI 回复(含工具操作、多段文本)不会被切碎,形成
用户 → AI → 用户 → AI的干净交替; - 密度一目了然:长回答对应更长的刻度,短消息则形成密集的短刻度,可以快速判断整段对话中哪些部分内容较多、哪些部分较碎;
- 窗口自适应布局:
- 常规窗口:刻度横向长度统一,保持简洁;
- 最大化窗口:刻度横向长度会直观展示消息规模与长度;
- 悬停智能疏散:对话较多、刻度密集时,鼠标靠近右侧标签会自动上下拉开,方便点击跳转;少量对话时悬停不移动;
- 悬停预览:鼠标悬停任意刻度可查看预览(第几条 / 约多少字 / 内容开头);
- 当前位置跟随:滚动时自动高亮当前阅读的对话;
- 主题跟随:颜色取自 Harness 现有主题变量,深浅色自动适配。
演示
目录结构
dsh-conversation-density-map/
│
├── client.js ← 插件本体:浏览器半部(对话密度地图实现)
├── index.js ← 插件本体:宿主半部(空实现)
├── package.json ← 插件本体:含 dsh.client / dsh.bundle 声明
├── cordis.patch.yml ← bundle 补丁(dsh plugin 安装时自动应用,无需手动 insert)
│
├── docs/ ← 演示 GIF(仅仓库展示,安装时不会下载)
│
├── README.md
├── LICENSE
└── .gitignore
下载与安装
DSH 静态插件是通过“把插件文件放进 DSH 的 profile + 让它注册生效”两步安装,无需 npm install。以下以 Windows 为例,插件本体是仓库根目录的 3 个源码文件(client.js / index.js / package.json)+ cordis.patch.yml。
方式 A(推荐):一行命令安装(bundle 模式,需要 pnpm)
dsh plugin --profile web add github:weien666/dsh-conversation-density-map
安装会自动把插件追加进 dsh.profile.bundles 并应用内置补丁(cordis.patch.yml),无需手动 insert;只安装源码文件,不会下载 docs 中的 GIF。安装后重启 DSH(dsh web restart)并硬刷新浏览器(Ctrl+Shift+R)生效。
方式 B:从 Releases 下载插件 ZIP
打开本仓库 Releases 页面,下载最新版
dsh-conversation-density-map-vX.Y.Z.zip—— 里面只有 3 个源码文件,无 GIF 杂物;解压到任意目录,例如
D:\plugins\dsh-conversation-density-map(解压后含 3 个源码文件的文件夹就是“插件目录”);在 DSH 配置目录的
node_modules下创建 junction 指向它:mklink /J "C:\Users\<你的用户名>\.dsh\profiles\web\node_modules\dsh-conversation-density-map" "D:\plugins\dsh-conversation-density-map"编辑
C:\Users\<你的用户名>\.dsh\profiles\web\cordis.patch.yml,在末尾追加:- insert: - id: conversation-density-map name: dsh-conversation-density-map重启 DSH(或刷新网页
Ctrl+F5)→ 完成。
方式 C:从 Code 下载整个仓库
- GitHub 仓库页 → Code → Download ZIP(下载的是完整仓库,含源码、文档、GIF);
- 解压后使用仓库根目录的那 3 个源码文件(client.js / index.js / package.json);
- 同方式 B 的第 3~5 步:junction 指向该目录(或把 3 个文件直接复制到
node_modules\dsh-conversation-density-map\),再写注册行。
卸载
方式 A(一行命令)安装的:
dsh plugin --profile web remove dsh-conversation-density-map
自动移除依赖并把它从 dsh.profile.bundles 移除(insert 来自包内补丁,无需手动删除)。
方式 B / C(手动安装)安装的: 反向操作:
- 删除 profile 的
cordis.patch.yml中对应的insert两行; - 删除 junction(或删除 node_modules 里的文件夹);
- 删除解压出来的插件目录。
插件内所有效果都通过 DSH 生命周期管理,卸载后不残留任何样式或监听。
兼容性
- 面向 DeepSeek Harness Web 客户端(当前基于
0.1.x的 DOM 结构:data-chat-flow/data-chat-anchor-key/data-conversation-scroll); - 不依赖任何第三方库,仅使用浏览器原生 API(IntersectionObserver / ResizeObserver / MutationObserver / DOM);
- DSH 升级若变更聊天区 DOM 结构,可能需要小幅适配。
使用提示
- 点击任意刻度:平滑滚动到该对话开头;
- 鼠标靠近右侧边缘:刻度展开(悬停疏散);
- 鼠标悬停刻度:显示内容预览。
协议
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8334
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8334
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 3989
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 3981
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 3944
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1412
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。