前言¶
用 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__)加载:
- 在侧边栏底部
sidebar.footer.action槽位注册搜索按钮(文案为「搜索会话」;侧边栏收起时仅图标)。 - 点击后在
shell.overlay槽位弹出全局搜索层:输入关键字 → 回车 → 列出命中会话(标题 + 最佳片段,关键字高亮)→ 点击某会话可展开该会话内逐条命中。
搜索模式(DSH 会话)¶
| 模式 | 数据来源 | 说明 |
|---|---|---|
| 按会话搜索(默认) | sessionQuery.searchSessions() |
全文检索所有会话标题与内容,返回每个会话的最佳命中片段 |
| 会话内搜索 | sessionQuery.searchEvents() |
在单个会话内逐条列出命中事件片段(带序号与类型) |
标题取自 readTitleSnapshots()(官方标题折叠结果);搜索覆盖进行中的会话与已持久化会话。
外部 Agent 会话¶
勾选 Claude / Codex / ZCode 等选项后,Host 会扫描本机目录中的会话日志(标题 + 内容):
~/.claude/projects~/.codex/sessions~/.zcode/cli/db
勾选状态会持久化保留。
内置 MCP(agent-session-search)¶
插件目录下 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 会话¶
- 点击侧边栏底部的搜索按钮,打开全局搜索层。
- 输入关键字并回车,浏览按会话聚合的结果。
- 需要看某会话内每条命中时,点击该会话展开详情。
若需脚本或集成调用,可使用上文 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