dsh-conversation-nav
Codex 桌面版风格的 DeepSeek Harness Web GUI 对话轮次导航插件。
对话区最左侧一条钢琴键导轨,每条用户消息一个刻度——悬浮查看详情,点击精准跳转;在还原 Codex 交互的基础上,额外提供发出时间显示与轮次标记。
功能
- 🎹 钢琴键导轨:对话区左缘垂直刻度列,每条用户消息(含 steering)一个刻度,垂直居中聚簇,长对话自动压缩间距
- 🪜 悬浮阶梯:悬停刻度伸长变色,上下相邻刻度呈三级阶梯衰减(26/20/14/10px),完全还原 Codex 动效
- 💬 详情悬浮卡:用户消息摘要(单行)+ 模型回复预览(最多 3 行)+ 用户消息发出时间(今天
HH:mm / 今年 M月d日 HH:mm / 跨年全日期,与官方格式一致)
- 🖱 点击跳转:平滑滚动至该轮(顶对齐),目标行短暂高亮
- 📍 当前轮追踪:滚动时正在阅读的轮次刻度自动深色高亮
- 🏷 轮次标记:悬浮卡「☆ 标记」按钮或右键刻度即可打/取消标记;已标记刻度恒显琥珀色(明暗主题各一套),按会话持久化(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