ワンクリックで
wiki-query
// 查询 LLM Wiki 知识库内容并基于 Wiki 页面回答问题。当用户的问题涉及知识库中已有内容时使用——技术概念解释、实体信息、主题对比、知识关联等。触发词包括:查询、query、搜索、查找、搜索知识库、查一下、问一下。当用户问的是知识库覆盖的话题(编程、数学、密码学、设计模式、Docker、Git、OAuth2 等已有概念),即使没有明确说"查询知识库",也应考虑使用。不用于摄入新资料或检查 Wiki 健康。
// 查询 LLM Wiki 知识库内容并基于 Wiki 页面回答问题。当用户的问题涉及知识库中已有内容时使用——技术概念解释、实体信息、主题对比、知识关联等。触发词包括:查询、query、搜索、查找、搜索知识库、查一下、问一下。当用户问的是知识库覆盖的话题(编程、数学、密码学、设计模式、Docker、Git、OAuth2 等已有概念),即使没有明确说"查询知识库",也应考虑使用。不用于摄入新资料或检查 Wiki 健康。
翻译 Markdown 文档为中文,并格式化为 Obsidian 兼容的 Markdown。用户指定文件或目录路径,翻译 front matter(title 简化翻译、description 翻译)和正文内容,使用 Obsidian Callout 等语法美化输出。触发词:翻译文档、translate、翻译 markdown、doc translate、翻译文件、translate doc。即使用户只说"翻译这个文件"或"把这个翻译一下"也应该触发此 skill。
删除 Wiki 中的源资料及其关联页面,级联清理索引、引用和元数据。触发词包括:删除、delete、移除、remove、清理 wiki、清理摄入。当用户想删除某个已摄入的资料或清理错误摄入的内容时使用。不用于摄入新资料、查询或健康检查。
摄入新资料到 LLM Wiki 知识库。当用户提供新的文章、论文、笔记、截图等资料要求添加到知识库时使用。触发词包括:摄入、ingest、添加资料、新资料、导入、导入资料、摄入资料、添加到 wiki、加入知识库。即使用户只说"帮我整理这篇资料"或"把这个加入知识库"也应该触发。不用于查询知识库内容或检查 Wiki 健康。无参数调用时自动扫描 raw/ 目录处理未摄入的文件。
检查 LLM Wiki 知识库的健康状况。扫描所有 Wiki 页面,发现矛盾、过时信息、孤立页面、失效链接、缺失摘要等问题。触发词包括:lint、检查、wiki 检查、健康检查、检查 wiki、wiki lint、检查知识库。即使用户只说"检查一下知识库"或"wiki 有没有问题"也应该触发。不用于摄入新资料或查询知识库内容。
通过网络搜索深入研究某个主题,自动将搜索结果摄入知识库。触发词包括:研究、research、深入调查、搜索资料、查资料、调研。当用户想对某个主题进行深入研究或知识库内容不足需要补充时使用。不用于摄入已有文件(/ingest)、查询知识库(/query)或删除内容(/delete)。
Generate Excalidraw diagrams from text content for Obsidian. Use when user asks to create diagrams, flowcharts, mind maps, or visual representations in Excalidraw format. Triggers on "Excalidraw", "画图", "流程图", "思维导图", "可视化", "diagram".
| name | wiki-query |
| description | 查询 LLM Wiki 知识库内容并基于 Wiki 页面回答问题。当用户的问题涉及知识库中已有内容时使用——技术概念解释、实体信息、主题对比、知识关联等。触发词包括:查询、query、搜索、查找、搜索知识库、查一下、问一下。当用户问的是知识库覆盖的话题(编程、数学、密码学、设计模式、Docker、Git、OAuth2 等已有概念),即使没有明确说"查询知识库",也应考虑使用。不用于摄入新资料或检查 Wiki 健康。 |
基于 Wiki 页面内容回答用户问题,通过搜索、排序、综合三个阶段给出精准回答。
基于 Wiki 已有内容回答问题。不摄入新资料(那是 /ingest),不做健康检查(那是 /lint)。
如果用户的问题需要新资料才能回答,提示用户提供资料并使用 /ingest。
首次搜索前,检查搜索工具可用性并自动修复问题:
# 1. 检查 qmd 搜索引擎
qmd-node search "test" --files -n 1
# 2. 检查 qmd 索引目录是否指向本项目 wiki/
qmd-node collection show wiki
qmd 索引路径不正确时,自动修复:
# 移除旧集合,添加指向本项目 wiki/ 的新集合
qmd-node collection remove wiki
qmd-node collection add wiki "<项目根目录>/wiki"
修复后输出一条提示说明已自动修正。
qmd 完全不可用时(命令执行失败),直接使用 Grep 作为搜索工具,输出提示:
⚠️ qmd 搜索引擎不可用,使用 Grep 替代。搜索精度可能降低。
不是所有问题都需要走完整查询流程。快速判断:
qmd 可用时:
# 混合搜索,只返回文件名
qmd-node query "用户的查询内容" --files -n 20
# 如果查询包含精确术语,加 BM25 关键词搜索辅助
qmd-node search "精确术语" --files -n 10
qmd 不可用时,用 Grep 替代:
# 关键词搜索
grep -rl "关键词" wiki/ --include="*.md"
# 从 index.md 快速定位
grep -i "关键词" wiki/index.md
从步骤 1 的搜索结果中,提取每个候选页面包含的 [[wikilinks]],找到 1-hop 邻居。再从这些邻居页面中提取 wikilinks,得到 2-hop 邻居。
将图扩展发现的页面加入候选列表,标记为"图扩展发现"。这些页面可能与查询没有直接关键词匹配,但通过知识网络结构关联。
Grep 快速提取 wikilinks:
# 提取候选页面的所有 wikilinks
grep -oP '\[\[([^\]]+)\]\]' wiki/sources/候选页.md wiki/concepts/候选概念.md
预算分配(基于约 100K token 上下文窗口估算):
| 分配 | 比例 | Token 预算 | 内容 |
|---|---|---|---|
| 全局上下文 | 10% | ~10K | overview.md 前 30 行 + index.md |
| 深入阅读 | 60% | ~60K | 排序后的 top 页面全文 |
| 图扩展 | 15% | ~15K | 2-hop 页面的摘要段落(前 20 行) |
| 系统提示 + 输出 | 15% | ~15K | CLAUDE.md 规则 + 回答 |
执行顺序:
wiki/overview.md 前 30 行(全局上下文)按以下规则对所有候选页面(搜索结果 + 图扩展)排序:
[[页面名]] 出现次数)基于步骤 3 读取的 Wiki 内容(而非原始资料)回答用户问题,遵循以下原则:
[[wikilink]] 语法,方便用户在 Obsidian 中跳转如果回答过程中产生了新的洞察(以下任一情况),创建综合页面:
需要回填的情况:
不需要回填的情况:
回填时,按 CLAUDE.md 中综合页面的格式创建 wiki/synthesis/ 页面,并同步更新 wiki/index.md 和 wiki/log.md。
如果搜索结果不足:
wiki/index.md 手动定位相关页面/ingest)/lint 检查是否有孤立页面未被索引