前言¶
在长对话里上下翻找某条输入很痛苦。本插件在对话窗口右侧悬浮一条“目录”:每一次你输入的内容 = 一根横条,按对话顺序纵向排列。悬停看预览、点击即定位、滚动跟高亮,再长的上下文也能一眼跳到想找的那条输入。
功能特性¶
- 右侧悬浮目录条:每条用户输入一根横条,位于距右缘 14px、垂直居中的位置。
- 两级预览:悬停横条显示序号和前 15 字预览;鼠标移入气泡展开到前 40 字。
- 平滑定位:点击横条,聊天区平滑滚动定位到对应消息。
- 滚动高亮:滚动聊天时,当前视口顶部附近的输入对应横条高亮(品牌色)。
- 精准索引:只收录真正的人类输入,压缩记录和插件注入的上下文不会混入目录。
安装与启用¶
本插件为纯客户端插件,无宿主逻辑,无需审批,重启不丢。
- 安装
在 DSH 的 profile 目录(例如C:\Users\<you>\.dsh\profiles\web)下执行:
npm install dsh-chat-index-rail
- 配置
package.json
在 profile 的package.json中,将插件加入dsh.profile.bundles列表:
"dsh": {
"profile": {
"bundles": [ "...existing entries...", "dsh-chat-index-rail" ]
}
}
- 配置
cordis.patch.yml
在cordis.patch.yml中添加条目:
- id: chat-index-rail
name: dsh-chat-index-rail
- 重启
重启 DSH 使配置生效。
典型用法¶
打开任意会话,右侧即出现目录条:
1. 悬停横条查看预览(15 字)。
2. 鼠标移入气泡展开全文预览(40 字)。
3. 点击横条跳转到对应输入。
4. 滚动聊天时,当前位置对应横条高亮。
技术与注意事项¶
- 依赖:依赖 DSH Web UI 的产品稳定锚点(如
shell.overlay、useSession、[data-conversation-scroll]等)。该插件在 DSH Web(rc6 时代)验证通过,大版本更新可能导致锚点变化,需适配。 - 开发:
lib/index.js为空挂载(纯客户端插件),lib/client.js为浏览器束。 - 升级:修改
lib/后覆盖 profile 同名目录,重启生效。