dsh-indexbookmark:DSH Web 界面对话问题索引插件

在 DSH Web 界面进行长对话交互时,快速定位历史提问是一个常见痛点。dsh-indexbookmark 插件通过在输入框右侧添加索引按钮,解决这一需求。它由 cuhaitiang0405-collab 维护,开源 MIT 协议。

核心功能

问题索引
插件会列出当前会话中所有的 user 或 message,按时间顺序排列并附带全局序号。

点击定位
点击列表中的任意条目,对话界面会自动滚动定位到对应消息,并闪烁高亮 1.6 秒。

搜索过滤
面板内置搜索框,支持大小写不敏感的子串匹配。标题栏会实时显示当前命中的数量与总数。

视图分页
支持自定义每页显示条数(10 / 30 / 50 条)。翻页控件采用 ‹ 1/3 › 格式,提供全局编号。

懒加载与分页
面板仅在打开时拉取数据,单次最多加载 200 条消息。对于更早的消息,可通过“加载更早的问题”按钮按需加载。

会话级内存缓存
同一会话在 60 秒内重复打开,面板会直接从内存读取,实现零请求、零处理的开屏体验。缓存采用 LRU 策略,上限保留 5 个会话。

交互与适配
面板展开/收起带有淡入淡出动画。点击面板外部或按下 Esc 键可收起面板。面板内的滚轮事件被独占,不会触发页面滚动。主题适配方面,所有样式变量均基于 DSH 主题变量(--dsw-alias-*),支持亮暗色自动切换。界面文案支持中英文随界面语言切换。

安装与启用

在安装前,请确保环境已安装 dsh 命令行工具和 pnpm(dsh plugin 依赖 pnpm)。

dsh plugin --profile web add github:cuhaitiang0405-collab/dsh-indexbookmark

安装完成后,重启网页版 DSH 即可生效。

dsh web

使用步骤

  1. 打开任意包含历史消息的会话。
  2. 点击输入框右侧的 ☰ 按钮,面板向上弹出。
  3. 在搜索框输入关键词过滤问题,点击列表中的条目,对话会自动滚动定位并高亮。
  4. 若消息较多,可在面板底部调整每页条数,或点击“加载更早的问题”。
  5. 点击面板外部区域或按 Esc 键关闭面板。

适用场景与注意

该插件适合需要频繁回顾和跳转长对话中特定提问的开发者。插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。

已知限制

  • 定位使用文本前缀匹配(前 40 字符),若前缀完全相同,可能定位到较早的一条消息。
  • 索引仅收录来源为 append(追加)的消息,与对话实际渲染一致。
  • 搜索功能仅覆盖当前已加载页面的问题。
  • 缓存为浏览器内存级,刷新页面(F5)后缓存会清空。

目录与源码

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜