$npx -y skills add owenliang60-ship-it/knowledge-mgmt --skill query搜索 Obsidian vault 中的已有知识来回答问题。CC 主动读取 MOC 索引和相关 Cards,综合 vault 知识 + 模型知识回答,标注来源。当用户说"query"、"查一下 vault"、"vault 里有什么"、"从笔记里找"时触发。
| 1 | # /query — 带 Vault 上下文的知识查询 |
| 2 | |
| 3 | > 让 CC 不只靠模型记忆回答,而是主动搜索 vault 中的已有知识。 |
| 4 | |
| 5 | ## 执行流程 |
| 6 | |
| 7 | ### Step 1: 解析查询意图 |
| 8 | |
| 9 | 从用户问题中提取: |
| 10 | - 关键概念(用于搜索) |
| 11 | - 涉及的 domain(用于定位 MOC) |
| 12 | - 查询类型:事实查找 / 综合分析 / 对比 / 探索 |
| 13 | |
| 14 | ### Step 2: 搜索 Vault |
| 15 | |
| 16 | ```bash |
| 17 | # 1. 读取相关 MOC 索引 |
| 18 | obsidian read path="Cards/MOC-{Domain}.md" |
| 19 | |
| 20 | # 2. 搜索关键词 |
| 21 | obsidian search query="{关键概念1}" |
| 22 | obsidian search query="{关键概念2}" |
| 23 | |
| 24 | # 3. 带上下文搜索(更精确) |
| 25 | obsidian search:context query="{关键短语}" |
| 26 | ``` |
| 27 | |
| 28 | ### Step 3: 读取命中的 Cards |
| 29 | |
| 30 | ```bash |
| 31 | # 批量读取搜索结果 |
| 32 | for card in {搜索结果}; do |
| 33 | obsidian read path="$card" |
| 34 | done |
| 35 | ``` |
| 36 | |
| 37 | 优先读取: |
| 38 | 1. 研究摘要(type/research, type/reading)— 综合信息密度最高 |
| 39 | 2. 概念卡(type/concept)— 定义和关键要点 |
| 40 | 3. 洞察卡(type/insight)— 独特见解 |
| 41 | 4. 原子卡片(type/atomic)— 精炼知识点 |
| 42 | |
| 43 | ### Step 4: 综合回答 |
| 44 | |
| 45 | 回答原则: |
| 46 | - **Vault 知识优先**:vault 中有的信息,标注来源 `[[Card名]]` |
| 47 | - **模型知识补充**:vault 中没有的,用模型知识补充,明确标注"(模型知识,vault 中暂无)" |
| 48 | - **诚实告知**:如果搜索后 vault 中确实没有相关内容,说"vault 中暂无此主题的笔记" |
| 49 | |
| 50 | 回答格式: |
| 51 | ```markdown |
| 52 | ## 回答 |
| 53 | |
| 54 | {综合回答,穿插 [[Card名]] 引用} |
| 55 | |
| 56 | --- |
| 57 | 📚 引用了 {N} 张 Cards:[[Card1]] [[Card2]] [[Card3]] |
| 58 | 💡 模型补充:{有/无} |
| 59 | ``` |
| 60 | |
| 61 | ### Step 5: 回写提议(可选) |
| 62 | |
| 63 | 如果回答产出了有价值的综合分析: |
| 64 | |
| 65 | ``` |
| 66 | 这个回答包含了跨 Card 的综合分析,值得存为新的对比/综合卡片吗? |
| 67 | → 说 "note" 走 /note 流程回写 |
| 68 | → 说 "不用" 跳过 |
| 69 | ``` |
| 70 | |
| 71 | 不自动回写,用户觉得好才走 /note。 |
| 72 | |
| 73 | ## 与普通提问的区别 |
| 74 | |
| 75 | | | 普通提问 | /query | |
| 76 | |---|---------|--------| |
| 77 | | 知识来源 | 模型记忆 | vault Cards + 模型 | |
| 78 | | 溯源 | 无 | 标注来自哪张 Card | |
| 79 | | 搜索范围 | 无 | MOC → Cards → 全文搜索 | |
| 80 | | 沉淀 | 留在对话里 | 可通过 /note 回写 | |
| 81 | |
| 82 | ## 注意事项 |
| 83 | |
| 84 | - 搜索结果多时,先读 MOC 索引缩小范围,不要盲目全文搜索 |
| 85 | - 单次查询读取的 Cards 控制在 10 张以内,避免 context 溢出 |
| 86 | - 如果问题跨多个 domain,先搜索各自 MOC 再综合 |