wanglijie34/dsh-session-jump

wanglijie34★ 1TypeScript最后同步: 2026-08-16

在 GitHub 打开

README 摘要

dsh-session-jump DeepSeek Harness (DSH) 的 Web 插件: 会话内消息跳转 —— 在一个会话的众多对话中快速定位并跳转到任意一条消息。 在侧边栏底部( sidebar.footer.action 槽位,设置按钮旁)注册「会话内跳转」按钮;点击弹出面板,列出 当前会话 的全部消息,点击任意条目平滑滚动到对应位置。 功能特性 - 🔘 侧边栏底部「会话内跳转」入口(定位图标) - 📜 列出当前会话全部真实消息(用户「我」+ 助手,自动跳过 tool-call、turn-tail 等辅助节点), 最新在前 - 🏷️ 每条显示角色徽标 + 消息序号 + 文本预览(从 text 块提取,截断 100 字) - 🔍 输入框本地筛选当前会话消息 - 🎯 点击条目 → 平滑滚动( scrollIntoView )到该消息,并自动关闭面板 - 🔄 实时订阅会话快照,新消息发出后列表自动更新 实现原理 - 通过 sessions.binding(currentId).session ( SessionFace ,即 ObservableSnapshot )读取当前会话快照 - 遍历 snapshot.chat.order + snapshot.chat.nodes ,提取 user / assistant 节点的文本 - 跳转时按 data-chat-anchor-key 属性值匹配 DOM 锚点(ChatNodeSeat 渲染),遍历匹配避免 CSS 转义问题 安装(web profile) 1. 将插件链接到 profile 的 node modules(junction,Windows): 2. 在 profile 组合文件 cordis.patch.yml 追加: 3. 重启 DSH 桌面应用 / 刷新 Web 界面(客户端 bundle 仅在重启时重新加载)。 使用 1. 打开任意会话 2. 点击侧边栏底部的定位图标「会话内跳转」 3. 面板列出当前会话所有消息,可输入关键词筛选 4. 点击任意一条,会话即滚动到该消息位置 构建 在 deepseek-harness 仓库内(本插件依赖其 workspace 构建链): 目录结构 说明 - 本插件在 deepseek-harness 仓库内开发, package.json 使用 workspace:^ 的 peer 依赖、 tsdown.config.ts 引用仓库内的 clientBundle 工具;脱离该仓库独立使用时需相应调整。 - 依赖会话数据模型: ConversationSnapshot.chat.order/nodes 与 data-chat-anchor-key DOM 锚点,随 DSH 版本演进可能变化。 License MIT

在 GitHub 查看完整 README →
工具/开发dsh-pluginsidebar

分类