dsh-session-nav

English | 中文
DeepSeek Harness Web 插件:在对话左侧叠加 Codex 风格的回合导航。

只做叠加,不替换聊天、侧栏或 Trajectory。
你会得到什么
- 空闲: 对话列左缘一叠短横线,每条用户 / 插入 / 斜杠命令回合一根。
- 悬停: 邻近横线延迟波浪变长,然后是提示气泡、可选 Worked for 时长、可选 Edited N files +X −Y 卡片。
- 跳转: 点击刻度(或在轨道上按 ↑ / ↓)滚到该回合。
- 整段日志: 即使 Chat 还没加载更早的页,轨道也会从
session.history列出那些回合。点未加载刻度会连续loadOlder,直到能滚到那一行。 - 开关: 会话标题栏的刻度按钮。状态写在
localStorage的dsh-session-nav:enabled。
轨道在左侧垂直居中,最高为对话列的 66%,过长时在轨道内滚动。
安装
等 DSH 空闲再装。plugin add 会重建 web profile,正在跑的任务会被打断。
dsh plugin --profile web add github:karmiy/dsh-session-nav从 Git 安装的插件会在安装时构建。pnpm ≥10 会拦截 prepare,第一次 add 会失败并提示 allowBuilds。把打印出的 key 写进 ~/.dsh/profiles/web/pnpm-workspace.yaml:
allowBuilds:
dsh-session-nav: true再执行一次同样的 add,然后重启 web profile。
不想被后续推送悄悄改掉运行内容时,锁定 commit 或 tag:
dsh plugin --profile web add github:karmiy/dsh-session-nav#v0.1.0本地开发(先 pnpm install):
dsh plugin --profile web add link:/absolute/path/to/dsh-session-nav更多社区插件见 dsh-plugin topic。
和会话数据的对应
| 界面 | 数据 |
|---|---|
| 一根刻度 | 已加载窗口里的 user / steering / command / manual-compaction Chat Node,加上 session.history 里更早的人类 user/message |
| 空闲长度 | 短横;悬停时以指针为中心做高斯包络变长 |
| 滚动标记 | [data-conversation-scroll] 上三分之一附近的横线略亮,不拉长 |
| Worked for / 气泡 / 文件卡片 | 仅指针在时间线上时出现 |
| Worked for | turn/start 到 turn/end(进行中的回合会走表) |
| 气泡 | 该条用户 / 插入 / 斜杠命令正文 |
| 文件卡片 | 该回合 diff / edit 工具卡片(locations + 行增减) |
开发
需要 Node ^22.19 || >=24。pnpm typecheck / pnpm build 需要旁边有 DeepSeek Harness 仓库(通过 ../deepseek-harness 解析类型)。单元测试和 prepare 不依赖它。
../deepseek-harness
../dsh-session-navpnpm install
pnpm test
pnpm typecheck
pnpm buildprepare 只跑 tsdown、不做类型检查,因此 dsh plugin add github:… 可以在没有 harness 源码的机器上构建。
不要对正在跑任务的 profile 执行 dsh plugin add。
许可证
MIT