dsh-advancesearch:在 DSH 工作区里搜全会话,并跨 Agent 翻历史

前言

用 DeepSeek Harness 做长会话、多项目并行时,标题列表很快变长,靠肉眼翻找某次讨论过的配置或结论并不现实。若同时还用 Claude Code、Codex、ZCode 等 coding agent,历史分散在本机不同目录,更难统一检索。

下面介绍社区插件 dsh-advancesearch(维护者 wanetcn,分类:工作流):在 Web 工作区提供全局搜索入口,并可选扫描本机其他 agent 的会话日志;同时内置 MCP,让当前会话里的 agent 也能按关键字查这些历史。

这是什么

dsh-advancesearch 是 DeepSeek Harness 的高级搜索插件:按关键字搜索所有 DSH 会话的名称与会话内容,并在 Web 工作区界面提供搜索按钮与结果弹层。

除 DSH 自身会话外,勾选后可同时搜索本机 Claude Code、Codex、ZCode、Gemini CLI 等 coding agent 的历史(标题 + 内容)。插件还内置零依赖 MCP stdio 服务器,安装后自动注册,模型可直接调用工具检索 agent 历史。

  • 目录页:https://www.skillhub.cn/plugins/wanetcn/dsh-advancesearch
  • 源码:https://github.com/wanetcn/dsh-advancesearch
  • 许可证:MIT(README 标明)

架构与核心能力

Host 侧:认证搜索 API

Host 入口为 index.js。插件通过 DSH 官方 sessionQuery 服务(dsh-session-query-sqlite 全文索引)暴露已认证路由:

GET /api/dsh-advancesearch?q=<关键字>[&limit=20]
GET /api/dsh-advancesearch?q=<关键字>&sessionId=<id>[&limit=20]
  • limit 取值 1–50,默认 20。
  • 需要浏览器会话凭据(与 GUI 同源 cookie);不可信来源按 DSH 信任围栏拒绝(与 dsh-host-open-in-app 同类 connection.requestRejection 机制)。
  • 未挂载 session-query 后端的组合会返回 501 SESSION_QUERY_SEARCH_DISABLED。

Client 侧:工作区搜索按钮与弹层

Client 为 client.js,以官方 dsh.client 浏览器插件格式(window.__ModuleLoader__)加载:

  1. 在侧边栏底部 sidebar.footer.action 槽位注册搜索按钮(文案为「搜索会话」;侧边栏收起时仅图标)。
  2. 点击后在 shell.overlay 槽位弹出全局搜索层:输入关键字 → 回车 → 列出命中会话(标题 + 最佳片段,关键字高亮)→ 点击某会话可展开该会话内逐条命中。

搜索模式(DSH 会话)

模式 数据来源 说明
按会话搜索(默认) sessionQuery.searchSessions() 全文检索所有会话标题与内容,返回每个会话的最佳命中片段
会话内搜索 sessionQuery.searchEvents() 在单个会话内逐条列出命中事件片段(带序号与类型)

标题取自 readTitleSnapshots()(官方标题折叠结果);搜索覆盖进行中的会话与已持久化会话。

外部 Agent 会话

勾选 Claude / Codex / ZCode 等选项后,Host 会扫描本机目录中的会话日志(标题 + 内容):

  • ~/.claude/projects
  • ~/.codex/sessions
  • ~/.zcode/cli/db

勾选状态会持久化保留。

插件目录下 mcp/ 为零依赖 MCP stdio 服务器,安装插件后自动注册。工具名带 mcp__agent-session-search__ 前缀;在轨迹页可查看调用参数与结果。

工具 功能
search_agent_sessions 关键字搜索 Claude / Codex / ZCode 会话(标题+内容),返回标题、时间、片段、路径
read_agent_session 读取某个会话的最近消息全文
open_agent_app 唤起对应 agent 桌面应用
reveal_agent_session 在访达中显示会话记录文件

MCP 服务器路径通过 !!js 相对插件根动态解析;command 优先取环境变量 DSH_DESKTOP_NODE_EXECUTABLE,否则使用 node。

不安装 DSH 插件、仅在 Claude Desktop 等 MCP 客户端中使用时,见仓库内 mcp/README.md 的独立接入说明。

搜索语义(README 说明):字面匹配、大小写不敏感、空白灵活(例如 web app 可命中 WebApp 这类连写)。

安装与启用

在 DSH profile 目录(例如 ~/.dsh/profiles/web/)执行:

pnpm add file:/path/to/dsh-advancesearch
# 或发布后:
pnpm add github:<you>/dsh-advancesearch

在同一目录的 cordis.patch.yml 中增加一行启用:

- name: dsh-advancesearch

重启 DSH(若已开启 HMR,保存配置即可生效)后,Web 界面侧边栏底部会出现搜索按钮。

package.json 中 peerDependencies 要求 @deepseek-ai/cordis 约 ~4.0.4;客户端平台为 web(dsh.client.platform = web)。

典型用法

在 Web 工作区里搜 DSH 会话

  1. 点击侧边栏底部的搜索按钮,打开全局搜索层。
  2. 输入关键字并回车,浏览按会话聚合的结果。
  3. 需要看某会话内每条命中时,点击该会话展开详情。

若需脚本或集成调用,可使用上文 GET /api/dsh-advancesearch(须携带有效浏览器会话凭据)。

勾选跨 Agent 历史

在搜索界面勾选要包含的 agent 类型(Claude / Codex / ZCode 等),再执行关键字搜索;勾选状态会在下次打开时保留。

在会话里让 agent 自己翻历史

装好插件并重启后,可直接用自然语言描述需求,由 agent 调用 MCP 工具。README 中的可复现场景包括:

翻 Codex 历史

你: 我记得在 codex 里配置过某个服务,帮我找出来看看当时怎么配的

agent: (调用 search_agent_sessions, query="服务配置", agents=["codex"])
agent: (调用 read_agent_session, 读取最相关会话的消息原文)

跨 agent 找讨论

你: 搜一下所有 agent 里关于这个项目的讨论,把最相关那个会话的原文读给我

agent: (search_agent_sessions, query="项目部署", agents=["claude","codex","zcode"])
agent: (read_agent_session, …)

接续较早任务、或打开应用 / 定位文件

可组合 search_agent_sessions → read_agent_session;也可调用 open_agent_app、reveal_agent_session 唤起桌面应用或在访达中显示记录文件。

适用场景与注意

适合谁

  • 在 DSH Web 工作区长期积累大量会话,需要按内容而非标题回忆的讨论。
  • 同时使用多种 coding agent,希望在一个入口或同一轮对话里检索分散在本机的历史。
  • 希望当前 agent 通过 MCP 自动检索、读取外部 agent 会话,减少手工翻目录。

权限与安全

插件以当前 DSH 进程权限运行;启用后会读取本机 agent 会话目录并通过 Host 路由访问 sessionQuery。安装前应阅读源码与 MIT 许可证,确认路径与数据范围符合你的环境策略。

已知限制(README)

  • 搜索依赖 dsh-session-query-sqlite 全文索引;openAt: "never" 的部署不可用。
  • 弹层使用内联样式与主题变量兜底,未接入官方 locale 体系(界面文案为中文)。
  • 分页游标 nextCursor 暂未在 UI 暴露,默认每会话/每页 20 条。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本插件当前 GitHub 星标为 0,功能与限制以仓库 README 为准。

结尾

dsh-advancesearch 把 DSH 全文会话搜索、工作区搜索按钮,以及 Claude / Codex / ZCode 等本机 agent 历史扫描和 MCP 工具串成一条工作流:人可以在 Web 里快速定位会话,agent 也可以在对话中自行检索并读取历史。

  • 插件目录:https://www.skillhub.cn/plugins/wanetcn/dsh-advancesearch
  • 源码与详细 API、MCP 说明:https://github.com/wanetcn/dsh-advancesearch
羽毛球分组比赛记分
小程序二维码

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

小夜