flyHZJ/dsh-turn-nav

flyHZJ★ 1TypeScriptLast synced: 2026-08-16

Open on GitHub

README excerpt

dsh-turn-nav DSH(DeepSeek Harness)右侧会话轮次导航栏插件。 像 DeepSeek 网页端聊天界面右侧的目录一样,在 DSH 聊天窗口右侧悬浮一条窄导航,让你在多轮长会话中快速定位、跳转到任意一个历史轮次。 功能特性 - 右侧悬浮导航 :默认只显示数字圆点,不遮挡聊天内容。 - 悬停卡片 :鼠标悬停到某个圆点时,左侧弹出该轮次的提示卡片(显示“Q + 用户问题摘要”)。 - 快速跳转 :点击圆点,平滑滚动定位到对应轮次。 - 当前阅读位置高亮 :随滚动自动高亮当前所在轮次(蓝色圆点)。 - 自动刷新 :新消息、流式输出、加载历史时自动重建导航。 - 自动加载更早历史 :自动调用 DSH 的 loadOlder() ,把之前分页未加载的轮次也补全,不需要手动滚动到顶部点“加载更早”。 - 不侵入官方 UI :使用 shell.overlay 全局浮层,不替换、不遮挡 DSH 官方聊天界面。 - DSH Bundle 兼容 :已声明 dsh.bundle.patch ,可通过 dsh plugin add 安装。 界面效果 工作原理 1. 插件通过 DSH 的 shell.overlay slot 注册一个全局浮层组件。 2. 组件扫描当前会话中已渲染的聊天节点: - 优先取 data-chat-flow-kind="user" / "steering" 的行作为“轮次”; - 如果没有用户行,则回退取 assistant-step / turn-tail 。 3. 每个轮次生成一个导航圆点,并提取消息文本作为悬停卡片内容。 4. 使用 MutationObserver 监听聊天 DOM 变化,自动重建导航。 5. 使用 DSH 的 session.loadOlder() 自动向后翻页,把更早的历史轮次也加载进 DOM,从而被导航识别。 6. 点击圆点时,计算目标节点在 [data-conversation-scroll] 滚动容器内的位置,执行平滑滚动。 目录结构 环境要求 - 已安装并运行 DSH(DeepSeek Harness) - Node.js(构建时需要) - 可选:DSH 源码 checkout( deepseek-harness-master ),用于本地构建 安装方法 方法一:DSH Bundle 安装(推荐给普通用户) 因为插件已经声明 dsh.bundle ,用户可以直接用 DSH 插件命令安装: 安装后重启 dsh web ,右侧导航即生效。 方法二:super-injector 运行时注入(适合本地开发调试) 在 DSH 的超级模组注入器环境中执行: 看到类似输出即成功: 重启后 super-injector 的 autoRestore 会自动恢复。 从源码构建 如果 Windows 环境没有 bash…

View full README on GitHub →
Tools / Devdsh-plugin

Category