dsh-conversation-nav

August 23, 2026 · View on GitHub

Awesome DSH Plugin CI

Codex 桌面版风格的 DeepSeek Harness Web GUI 对话轮次导航插件。

对话区最左侧一条钢琴键导轨,每条用户消息一个刻度——悬浮查看详情,点击精准跳转;在还原 Codex 交互的基础上,额外提供发出时间显示轮次耗时/token 指标多色轮次标记

功能

  • 🎹 钢琴键导轨:对话区左缘垂直刻度列,每条用户消息(含 steering)一个刻度,垂直居中聚簇,长对话自动压缩间距
  • 🪜 悬浮阶梯:悬停刻度伸长变色,上下相邻刻度呈三级阶梯衰减(26/20/14/10px),完全还原 Codex 动效
  • 💬 详情悬浮卡:用户消息摘要(单行)+ 模型回复预览(最多 3 行)+ meta 行(发出时间(今天 HH:mm / 今年 M月d日 HH:mm / 跨年全日期,与官方格式一致)· 轮次耗时 · 输出 token 数)
  • 🖱 点击跳转:平滑滚动至该轮(顶对齐),目标行短暂高亮;虚拟滚动未挂载的行按比例预估 + 有界重试兜底
  • 📍 当前轮追踪:滚动时正在阅读的轮次刻度自动深色高亮
  • 🏷 多色轮次标记:悬浮卡「☆ 标记」按钮或右键刻度循环换色(琥珀/红/蓝/绿),已标记刻度恒显标记色;标记后可写备注;按会话持久化(localStorage),刷新不丢
  • 🌗 明暗主题自适应,支持 prefers-reduced-motion

安装

dsh plugin --profile web add github:Jaeger0624/dsh-conversation-nav

本地开发:

dsh plugin --profile web add link:<本仓库路>

技术说明

纯客户端插件(host 半面 no-op),零依赖手写单文件 bundle,无构建步骤:

  • 数据源:官方 ctx.sessions 会话快照(ConversationSnapshot,含每条用户消息的 data.time epoch 毫秒)
  • 挂载:shell.overlay 官方槽位(点击穿透层,刻度与悬浮卡自行恢复 pointer-events)
  • 锚点:官方 data-chat-anchor-key 行属性定位跳转
  • 性能:事件驱动(scroll 捕获 / resize / ResizeObserver / 快照订阅),无常驻定时器、无全文档 MutationObserver
  • 标记存储:localStorage["dcn:marks:<sessionId>"],数据结构预留 color/note 扩展字段

需求分析与架构决策见 docs/REQUIREMENTS.md

License

MIT