为 DeepSeek Harness Web UI 添加 Codex 风格的消息导航轨道,方便在长会话中快速定位历史提问。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-message-nav
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:foooold/dsh-message-nav
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
Codex 风格的左侧消息导航轨道,用于在 DeepSeek Harness Web UI 的长会话中快速定位历史提问。
本项目 fork 自 wx-yss/dsh-message-rail。感谢原作者及所有贡献者为项目奠定的基础。
交互灵感来自 Codex 的消息导航栏。本项目与 OpenAI 无关联。
效果预览
将鼠标悬停在刻度上,可以查看对应的用户消息及回答摘要;点击刻度可跳转到该消息。

轨道位于会话区左侧,并自动跟随 DeepSeek Harness 的明暗主题。

功能特性
- 消息导航:为普通提问和运行中插话生成等距刻度,快速浏览长会话。
- 悬停预览:当前刻度及相邻刻度形成波纹效果,右侧显示单行用户消息和最多四行回答摘要。
- 点击跳转:平滑滚动到对应消息,并以中性灰描边短暂高亮目标位置。
- 完整索引:在后台逐页加载会话历史,无需手动翻页。
- 当前位置提示:滚动会话时,高亮最接近视口阅读位置的消息刻度。
- 虚拟滚动:仅渲染轨道可见区域附近的刻度,在长会话中保持流畅。
- 自动跟随:默认定位到最新消息;手动滚动轨道后停止跟随,方便查看较早内容。
- 无障碍适配:支持键盘聚焦,并在系统启用“减少动态效果”时关闭过渡动画。
会话中少于 4 条可索引的用户消息时,导航轨道不会显示。
环境要求
- DeepSeek Harness
0.1.0-rc.6或更高版本 - Node.js 22+
- pnpm(需已加入
PATH;未安装时可运行npm install -g pnpm) - 最新版 Chrome、Edge、Safari 或 Firefox
安装
安装完成后请完整停止并重新启动 DSH Web UI。打开至少包含 4 条可索引用户消息的会话后,左侧会显示导航轨道。
从 npm 安装(推荐)
# 方式一:已全局安装 DSH CLI
dsh plugin --profile web add dsh-message-nav
# 方式二:使用 npx,无需全局安装
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add dsh-message-nav
从 Github 安装
# 方式一:已全局安装 DSH CLI
dsh plugin --profile web add github:foooold/dsh-message-nav
# 方式二:使用 npx,无需全局安装
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:foooold/dsh-message-nav
从本地源码安装:
git clone https://github.com/foooold/dsh-message-nav.git
cd dsh-message-nav
# 方式一:已全局安装 DSH CLI
dsh plugin --profile web add .
# 方式二:使用 npx,无需全局安装
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add .
更新与卸载
从 npm 更新插件:
# 已全局安装 DSH
dsh plugin --profile web update dsh-message-nav
# 使用 npx
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web update dsh-message-nav
卸载插件:
# 已全局安装 DSH
dsh plugin --profile web remove dsh-message-nav
# 使用 npx
npx --yes -p @deepseek-ai/dsh dsh plugin --profile web remove dsh-message-nav
更新或卸载后,也需要完整停止并重新启动 DSH Web UI。
使用方式
安装并启动 DSH Web UI 后,轨道的主要交互如下:
- 悬停或键盘聚焦刻度:展开波纹并显示消息预览。
- 点击刻度:跳转到对应的用户消息。
- 在轨道上滚动滚轮:浏览更早或更晚的刻度。
- 滚动会话:当前位置对应的刻度自动高亮。
已知限制
- 历史索引依赖 DSH 的
loadOlder分页,每页加载 50 条消息,最多加载 400 页;超出范围的消息不会进入索引。 - 千条级长会话完成全部索引可能需要数秒。
- 仅索引普通提问(
kind === 'user')和运行中插话(kind === 'steering'),不索引助手回复、工具调用、命令或注入上下文(kind === 'context')。 - 配色跟随 DSH 运行时主题,不提供独立的主题配置。
- 功能依赖 DSH 内部的会话数据和 DOM 锚点契约,后续 DSH 版本变化可能影响兼容性。
开发说明
当前仓库保留客户端实现和 DSH bundle patch,供阅读与后续开发:
├── package.json # 包元数据、DSH 客户端与 bundle 声明
├── cordis.patch.yml # DSH bundle patch
├── lib/
│ ├── index.js # Host 端入口占位
│ └── client.js # 轨道 UI、历史加载、虚拟滚动与消息跳转
├── assets/ # README 功能截图
├── LICENSE # MIT License
└── README.md
实现概要:
- 通过
shell.overlay为每个会话挂载独立轨道实例。 - 从会话快照读取消息顺序与节点,筛选普通提问和运行中插话。
- 通过 DSH 会话接口加载更早历史,并使用 DOM 锚点定位消息。
- 使用固定间距和缓冲窗口虚拟化轨道刻度,避免消息数量直接增加 DOM 规模。
License
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8488
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8488
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4217
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 4167
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4045
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1432
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。