关于 wiki-query
wiki-query 使用 SQLite FTS5 BM25 检索 wiki-builder 页面,帮助用户和 Agent 查找已有资料、浏览相关页面,并引用检索内容以避免重复研究。
主要功能
- 01BM25 全文检索
- 02跨所有维基或指定维基搜索
- 03查找相关页面
- 04提供便于处理的 JSON 结果
- 05SessionStart 按主题注入提示
适用场景
- 01新增页面前检查维基是否已有相关内容
- 02查找领域问题的现有答案
- 03引用内容前核实维基来源
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill wiki-query安装后在 Claude Code 中输入/wiki-query确认已加载。
附带文件scripts/query.js
详细介绍
Wiki 查询
对 wiki-builder 索引的 Wiki 页面进行 FTS5 BM25 检索。
使用场景
- 编写任何新 Wiki 页面之前 → 先检查内容覆盖情况
- 用户提出的领域问题可能已存在于 Wiki 中
- “询问 Wiki:”
- 引用某项说法前核实出处
- 提示词匹配已知 Wiki 主题时,由
SessionStart自动加载
命令
node $SKILL_ROOT/scripts/query.js search "<query>" [--wiki <slug>] [--limit 10] [--json]
node $SKILL_ROOT/scripts/query.js related <slug> <rel-path> [--limit 5]
node $SKILL_ROOT/scripts/query.js show <slug> <rel-path>
不指定 --wiki 的 search 会对所有 Wiki 排序检索。related 会复用页面标题和摘要作为查询,以查找相关页面。
输出
适合 JSON 使用。每条命中结果:
{
"page_id": 12,
"wiki_slug": "agent-memory",
"rel_path": "wiki/concepts/episodic-memory.md",
"title": "Episodic Memory",
"snippet": "... [time-stamped] traces, distinct from semantic ...",
"rank": -3.21
}
排名越低(越负),BM25 匹配越好。
引用来源
每条 Wiki 命中结果都必须按以下格式引用:
[wiki:<slug>] <title> — `<rel_path>`
展示来源后,才能转述命中结果。
SessionStart 集成
当 pro-workflow 的 SessionStart 钩子检测到用户提示词中包含与 Wiki 相关的术语时,会运行 query.js search "<prompt>" --limit 3,并将排名靠前的命中结果作为提示注入会话:
[wiki-query] 3 relevant pages:
- agent-memory · wiki/concepts/episodic-memory.md
- agent-memory · wiki/papers/park-2023-generative-agents.md
- ...
帮助 Claude 回忆已有知识,而不是重复研究。
限制(Phase 3.3.0)
- 仅支持 BM25。向量搜索将在 3.3.2 通过 sqlite-vec 引入。
- 不支持重排。MMR 多样性将在 3.3.1 随研究循环一同引入。
- 片段窗口为匹配项前后各 16 个 token,可通过
--snippet-len调整。
评论
支持 Markdown