UlaBe/dsh-conversation-nav

UlaBe★ 0JavaScriptLast synced: 2026-08-16

Open on GitHub

Conversation position navigator plugin for DeepSeek Harness: right-edge floating button + drawer listing every user message (auto-loads full history), click to jump. Install via dsh plugin add @ulabe/dsh-conversation-nav

README excerpt

@ulabe/dsh-conversation-nav DeepSeek Harness (DSH) 客户端插件: 对话位置导航 。 右侧悬浮按钮打开一个 暗黑大纲式 导航抽屉,列出当前会话的 全部用户消息 (打开时自动加载完整历史)。点击任意条目平滑滚动(ease-out)定位到对应消息; Scroll Spy 随对话滚动实时高亮当前可视位置对应的导航项(品牌蓝 + 呼吸动效)。实时更新:AI 生成新内容时底部自动追加条目。 目录结构 安装(唯一方式: dsh plugin ) 插件是标准 DSH bundle ( package.json 声明 dsh.bundle.patch ),通过官方 CLI 安装: dsh plugin add 会把包加进 profile 的 dsh.profile.bundles (自动 reconcile),随后加载本包的 cordis.patch.yml 层激活插件条目,并通过 dsh.client 声明向浏览器服务 UI bundle。 装完重启 dsh 生效 。 卸载: 兼容性与已知限制 - API 版本耦合 :使用 DSH 客户端 API ctx.slots ( shell.overlay 注入)、 ctx.sessions.binding() 、 Session.loadOlder() 、 ConversationSnapshot.nodes 。DSH 大版本升级后若这些 API 变化,插件可能失效,需按新版本适配。 - 事件窗口 :快照只包含已加载的事件窗口,插件会在抽屉打开时自动 loadOlder() 直到加载完整历史。 - 跟随当前会话 :导航仅反映当前打开的会话;切换会话自动跟随。 - 无需构建 : lib/client.js 是手写的 bundle( window. ModuleLoader .load 格式),改完直接生效(重启)。 常见问题 问题 处理 改了代码/样式但重启后没变化 完全退出 Harness(含托盘)再启动;或 Ctrl+Shift+R 强刷 dsh plugin add 后按钮没出现 确认包声明 dsh.bundle 且已进入 profile bundles; dsh --profile web --dump-config 应看到插件层;重启 需要 dsh CLI npm install -g @deepseek-ai/dsh 或源码版 pnpm dsh ;桌面打包版不内置 CLI DSH 升级后按钮消失 检查控制台错误;确认 dsh-client-runtime API 未变,必要时适配 lib/client.js 想要不跟随当前会话/调整样式 编辑 lib/client.js (样式在文件顶部 css 数组,逻辑在 makeNavPanel ),重装后重启

View full README on GitHub →
Terminal / TUIdsh-plugin

Category