用途
secondbrain-search 用于在 secondbrain 知识库中执行语义搜索(基于含义)和全文搜索。当用户提出“搜索 secondbrain”“在知识库中查找”“查找文档”“搜索笔记/ADR/任务”等需求时使用。
主要能力
- 语义相似度搜索:基于含义而非仅关键词匹配。
- 全文搜索。
- 支持多种过滤条件:实体类型、时间范围、状态、标签、结果数量、输出格式。
- 搜索结果可结合 YAML 记录补充实体专属元数据(如状态、标签、日期等)。
- 支持简要、详细、JSON 三种输出格式。
- 无结果时提供搜索建议与替代操作。
使用方式
前置条件
- 已安装 qmd:使用
which qmd检查;安装命令为bun install -g qmd或npm install -g qmd;首次运行会下载约 1.5GB 模型。 - 搜索已初始化:检查是否存在
.claude/search/目录;若未初始化,建议运行/secondbrain-search-init。
命令示例
/secondbrain-search "your natural language query"
/secondbrain-search --entity=adrs "database migration"
/secondbrain-search --recent=30d "authentication"
/secondbrain-search --status=active --tag=kubernetes "deployment"
支持的过滤参数
| 过滤项 | 语法 | 示例 |
|---|---|---|
| 实体 | --entity=<type> |
--entity=adrs,notes |
| 最近 | --recent=<period> |
--recent=7d、--recent=2w、--recent=1m |
| 起始日期 | --from=<date> |
--from=2025-01-01 |
| 结束日期 | --to=<date> |
--to=2025-12-31 |
| 状态 | --status=<status> |
--status=active、--status=!archived |
| 标签 | --tag=<tag> |
--tag=kubernetes |
| 数量 | --limit=<n> |
--limit=10(默认 5) |
| 格式 | --format=<fmt> |
--format=brief、--format=detailed、--format=json |
工作流程
- 校验环境:检查 qmd 是否安装、搜索是否初始化。
- 解析查询与过滤条件。
- 执行搜索:在项目根目录运行
qmd query "<user_query>" --json --limit=<limit>,并解析 JSON 输出。 - 补充元数据:根据文件路径判断实体类型,从
.claude/data/<entity>/records.yaml加载对应记录,按文件路径匹配并补充状态、标签、日期等。 - 应用后置过滤:按实体、状态、标签、日期范围筛选结果。
- 格式化输出:结果多于 3 条时默认简要格式,少于等于 3 条时默认详细格式,也可指定 JSON 格式。
输出格式
- 简要格式:列出标题、评分、状态/标签/日期等关键信息。
- 详细格式:包含评分、状态、分类、文件链接、摘录、元数据。
- JSON 格式:包含查询、总数、结果数组(实体、ID、标题、文件、评分、摘录、元数据)。
无结果时的提示
提供建议:尝试更宽泛的术语、检查拼写、移除过滤条件、使用相关概念。替代操作包括 /secondbrain-freshness 查看近期内容,或不带过滤条件重新搜索。
结果优化
展示结果后可提供优化选项,如按实体过滤、限制最近时间、排除归档项、使用布尔运算符(如 "kubernetes AND deployment")。
适用场景
- 在项目知识库中查找 ADR、笔记、任务、讨论等文档。
- 按时间、状态、标签等条件筛选知识库内容。
- 需要以结构化格式(JSON)获取搜索结果以便后续处理。
限制
- 依赖 qmd 工具,需单独安装,首次运行下载约 1.5GB 模型。
- 需要项目已初始化搜索(存在
.claude/search/目录)。 - 元数据补充依赖
.claude/data/<entity>/records.yaml文件。 - 其他平台、收费、价格等信息暂未提供。
相关技能
- secondbrain-search-init:为当前项目初始化搜索。
- secondbrain-freshness:按新鲜度/陈旧度查看条目。