DSH Web GUI 的全局搜索插件:侧边栏全局搜索框全文搜索历史会话(走 sessionQuery 全文索引,未启用时降级为逐会话扫描)与设置面板,关键词高亮,点击直达会话或对应设置卡片。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:hyzyn/dsh-plugin-kit#path:/packages/search
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH Web GUI 的 全局搜索插件:在侧边栏注入全局搜索框,点击 / 聚焦后弹出搜索窗,输入关键词即可全文搜索历史会话与设置面板:
- 历史会话:走 DSH 自带的
sessionQuery全文索引,展示命中的会话片段,点击打开会话并尝试自动定位到匹配文字位置; - 设置面板:列出「设置 → 插件」中已安装插件的可配置面板(终端、Agent 循环、网页搜索以及各插件卡片),点击直接跳转到对应设置卡片;
- 关键词高亮:命中的会话片段中的匹配词会高亮显示。
路由
仅限 loopback + 同源访问:
GET /api/dsh-search/query?q=<关键词>—— 返回{ sessions, panels }会话与设置面板搜索结果
安装
pnpm --filter @hyzyn/dsh-search build
dsh plugin --profile web add link:$(pwd)/packages/search
插件自身行由 cordis.patch.yml 的 insert: { id: global-search, name: '@hyzyn/dsh-search' } 挂载;浏览器半体在侧边栏「新建会话」下方添加全局搜索框。
配置
interface Config {
/** 关闭整个插件。默认 false。 */
enabled?: boolean
/** 单次搜索返回的最大结果条数。默认 8。 */
maxResults?: number
/** 是否搜索历史会话。默认 true。 */
includeSessions?: boolean
/** 是否搜索设置面板。默认 true。 */
includePanels?: boolean
/** 是否向 agent 注入插件能力公告。默认 true。 */
announceToAgent?: boolean
}
说明
- 浏览器半体依赖核心客户端
sessions服务(点击会话时打开),并通过 DOM 注入侧边栏搜索框; - 设置面板清单内置在宿主半体:官方恒有的面板(终端、Agent 循环、网页搜索)始终可搜;插件面板按宿主当前已加载的插件过滤,未安装插件的面板不会出现在结果里;
- 如果宿主未安装
sessionQuery服务,会话搜索会返回空数组而不是报错; - 如果
session-query全文索引被配置为openAt: "never",历史会话会自动退化为逐会话扫描原始事件,不会让整个搜索失败; - 会话结果会过滤为当前 DSH 可见 / 可跳转的会话,避免出现“能搜到但点不开”的情况。
链接
同类插件
Anionex/dsh-turn-rewind★ 81
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。
Nwflower/dsh-chat-import★ 61
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
whyihaveyou/dsh-suite#plugin-session-export★ 40
把 append-only 会话日志导出为按轨迹来源分组的可读 Markdown 或 HTML。
Chinesezjc/dsh-interconnect★ 33
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。
Moeblack/dsh-message-edit★ 30
基于分支的消息编辑、reroll、重试与版本时间线。
hellodigua/dsh-share★ 23
一键分享你的对话。