mcpField
W
wiki-query

wiki-query

github.com/rohitg00生产力2.9k140 次安装5 周前更新
代码仓库

关于 wiki-query

wiki-query 使用 SQLite FTS5 BM25 检索 wiki-builder 页面,帮助用户和 Agent 查找已有资料、浏览相关页面,并引用检索内容以避免重复研究。

主要功能

  1. 01BM25 全文检索
  2. 02跨所有维基或指定维基搜索
  3. 03查找相关页面
  4. 04提供便于处理的 JSON 结果
  5. 05SessionStart 按主题注入提示

适用场景

  1. 01新增页面前检查维基是否已有相关内容
  2. 02查找领域问题的现有答案
  3. 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