Summary
以只读方式搜索整个 Markdown/Obsidian 知识库或指定模块,检索文件名、正文、frontmatter、标签、反向链接、代码与附件,并按来源层级返回可核验结果。触发:「搜索知识库」「搜索知识库某个模块」「在知识库里找」「从知识库回答」「查需求/代码/PDF/Word/图片」「查反向链接」
soia-team/soia-open-pkm-vault-skills · Archived
以只读方式搜索整个 Markdown/Obsidian 知识库或指定模块,检索文件名、正文、frontmatter、标签、反向链接、代码与附件,并按来源层级返回可核验结果。触发:「搜索知识库」「搜索知识库某个模块」「在知识库里找」「从知识库回答」「查需求/代码/PDF/Word/图片」「查反向链接」
npx skills add soia-team/soia-open-pkm-vault-skills --skill soia-pkm-query-vault
以只读方式搜索整个 Markdown/Obsidian 知识库或指定模块,检索文件名、正文、frontmatter、标签、反向链接、代码与附件,并按来源层级返回可核验结果。触发:「搜索知识库」「搜索知识库某个模块」「在知识库里找」「从知识库回答」「查需求/代码/PDF/Word/图片」「查反向链接」
This repository is archived — consider an actively maintained alternative.
把文章、提纲或主题转换为以可编辑 PPTX 为正式母版的演示媒体?
5 installs将 Obsidian 文章库按?
5 installs为 vault 长文或论文生成独立 AI 解读,帮助判断是否值得深挖,且不改原文或代写用户观点。触发:「解…
5 installs将单条 X/Twitter 推文、thread 或 Article 归档到 Obsidian vault。触发:「归档这条 X」「clip 这条…
5 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybr…
568.2K installsUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or bot…
216.8K installsUse this skill whenever the user wants to do anything with PDF files. This includes reading or …
192.4K installsUse this skill whenever the user wants to create, read, edit, or manipulate Word documents (.do…
184.5K installsUse this skill any time a spreadsheet file is the primary input or output. This means any task …
165K installsOther skills from soia-team/soia-open-pkm-vault-skills · top by installs.
npx skills add soia-team/soia-open-pkm-vault-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
13,102 B
SUMMARY.md
396 B
面向 AI 和用户的 vault 只读查询层。它找证据、排序和引用,不整理目录、不维护索引、不改状态;隐藏配置目录及所有文件/目录 symlink 均跳过,避免越出 vault 读取私密内容。查询结果若涉及入库状态,必须区分 captured、organized 与五段合同的完整回执;搜索命中本身不是整理完成证明。
obsidian-mcp-server 检索,无法连接时才走显式 OCR/转换流程。10 当前 → 20 精选长期知识 → 30 证据 → 40/50/60 专项 → 20 历史导入 → 90 历史 为默认排序,并明确标记来源层;20 区只有 10主题知识/、20规范与手册/、30学习指南/ 标为 stable,90历史导入/ 标为 imported,不因路径自动获得可信度。90系统归档/60整理与迁移记录/ 再细分为 history/evidence:先读该区导航识别 canonical 版本和 superseded_by,旧报告、机器清单和旧路径只用于解释当时过程。提供 vault 路径和问题/关键词。只要求回答时,Agent 不改任何文件。先读取根与命中区规则,再按下面的搜索手册缩小候选,最后只打开足以回答问题的文件。
本地确定性后端只需 Python 3;它不建立持久索引。附件全文后端推荐 Obsidian 的 Omnisearch + Text Extractor;AI 接入可选 obsidian-mcp-server。语义召回可选 QMD,但不能代替精确搜索。
装整个域(Claude Code 与 Codex 共用同一份域插件):
claude plugin marketplace add soia-team/soia-open-skills
claude plugin install soia-pkm-vault@soia
只装这一个技能:
npx skills add soia-team/soia-open-pkm-vault-skills -g -a '*' -s soia-pkm-query-vault -y
WorkBuddy 的装载单位是角色化专家而不是插件,npx skills add -a '*' 覆盖不到它,需要单独安装,见 docs/install/workbuddy.md。
默认跳过所有隐藏目录、.git、.obsidian、凭据/配置目录和二进制正文。附件正文优先报告外部后端的命中;若后端不可用,必须明确回退为文件名/路径命中,再按需在临时运行目录提取并保留来源与哈希。普通结果输出匹配行短片段;历史导入、账号、安全或其他敏感语料先加 --no-snippets,只返回路径与匹配元数据。脚本不写持久缓存。
结果必须包含查询时间、模式、检查文件数、匹配数、截断与不可读数量。最终回答按“当前状态 / 稳定知识 / 历史证据”组织,并给 vault 相对路径或 wikilink。
# 综合搜索(文件名 + 正文 + frontmatter)
python3 scripts/query_vault.py --vault <vault-path> --query '<keyword>' --json
# 文档地址/文件名:先用 filename,避免被正文重复命中淹没
python3 scripts/query_vault.py --vault <vault-path> --mode filename --query '<document-name>' --json
# 标签或字段
python3 scripts/query_vault.py --vault <vault-path> --mode tag --query '<tag>' --json
python3 scripts/query_vault.py --vault <vault-path> --mode frontmatter \
--field status --query active --json
# 入链与清单
python3 scripts/query_vault.py --vault <vault-path> --mode backlinks --query '<note-name-or-path>' --json
python3 scripts/query_vault.py --vault <vault-path> --mode inventory --json
# 只查精选知识并避免输出正文片段
python3 scripts/query_vault.py --vault <vault-path> --query '<keyword>' \
--path-prefix '20_资料库' --exclude-prefix '20_资料库/90_历史导入' \
--no-snippets --json
# 需求:先查精选区,排除历史导入;需要时再进入 90_历史导入
python3 scripts/query_vault.py --vault <vault-path> --mode content --query '<需求关键词>' \
--path-prefix '20_资料库' --exclude-prefix '20_资料库/90_历史导入' --json
# 代码:默认支持常见 UTF-8 代码/配置扩展;罕见扩展用 --include-ext 加入
python3 scripts/query_vault.py --vault <vault-path> --mode content --query '<class-or-symbol>' \
--path-prefix '60_开源项目' --include-ext .feature --json
# PDF / Word / 图片:优先走 Omnisearch/MCP;不可用时再提取/OCR
python3 scripts/query_vault.py --vault <vault-path> --mode filename --query '<file-or-topic>' --json
python3 scripts/query_vault.py --vault <vault-path> --mode content --query '<extracted-keyword>' \
--path-prefix '20_资料库' --exclude-prefix '20_资料库/90_历史导入' --json
--path-prefix 与 --exclude-prefix 可重复使用,且只接受 vault 相对路径;--limit 控制输出上限,超过时 truncated=true。查询强时效事实时,vault 只提供线索,仍要按任务要求核验外部最新来源。
| 问题 | 首选模式 | 首选范围 | 说明 |
|---|---|---|---|
| “文档地址/文件在哪” | filename |
10 → 20 精选 → 90 | 先给路径,再读导航或正文 |
| “规范/怎么做” | all / content |
20 精选 | 稳定知识优先,返回来源与适用边界 |
| “当前进展/下一步” | all |
10 工作台 | 以最新 updated 的控制面为准 |
| “这次执行/审计结论” | all |
30 日志与思考 | 只把日期证据当冻结事实 |
| “需求/验收/接口” | content + frontmatter |
20 精选 → 10 项目 | 识别状态、范围、验收标准和来源 |
| “代码/类/配置/SQL” | filename → content |
60 / 指定项目 | 先查符号或文件名,再读最小上下文 |
| “谁引用了它” | backlinks |
全库或指定范围 | 路径重名时必须使用完整路径 |
| “PDF/Word/图片里有没有这句话” | Omnisearch/MCP → 临时提取/OCR → content |
指定附件目录 | 先区分文件名命中、插件正文命中、提取正文命中、OCR 命中;未连接后端不能声称正文命中 |
10 当前状态 → 20 精选长期知识 → 30 冻结证据 → 40/50/60 专项 → 20 历史导入 → 90 归档。20资料库/90历史导入 默认只作为 imported 线索,不能因为命中次数多就升级为稳定结论;90 区整理记录还要按 canonical/历史版本链排序。
filename/content 精确搜索。.java、.py、.ts、.yaml、.json 等常见 UTF-8 文件默认搜正文;罕见扩展用 --include-ext <.ext>。对“找某组件文档地址并简介用法”这类问题,固定按以下顺序执行:
filename 搜索组件名、中文别名和 使用手册,先锁定 20 区导航与实际附件路径。filenamehit;只有 Omnisearch/Text Extractor、MCP 或临时提取成功,才追加 contenthit,并记录页码/提取器/哈希。| 类型 | 文件名/路径 | 正文 | 默认处理 |
|---|---|---|---|
| 支持 | Omnisearch/Text Extractor 或显式 PDF 提取/OCR | 扫描 PDF 必须标记 OCR 和位置 | |
| DOCX | 支持 | Omnisearch/Text Extractor 或 Word 提取器 | 保留原 DOCX 与来源哈希 |
| DOC(旧格式) | 支持 | 需外部转换器;当前 query 技能不直接解析 | 转换失败时只能报告文件名命中 |
| PPT/PPTX、XLS/XLSX | 支持 | 需相应转换器或提取流程 | 不把表格/幻灯片二进制当 UTF-8 读取 |
| PNG/JPG/GIF/WebP 等图片 | 支持 | Omnisearch/Text Extractor 或显式 OCR | OCR 结果必须标注 ocr 并允许人工核对 |
| 音视频 | 支持 | 需转写技能生成文本 | query 技能只检索文件名或转写稿 |
soia-pkm-query-vault 本身不上传文件、不维护插件缓存、不把 OCR/提取结果覆盖回原附件。没有可用 Omnisearch/MCP/提取器时,回执必须明确写“仅文件名/路径命中”。
多媒体选型、sidecar 字段、插件借鉴和分阶段落地见 [references/multimedia-search-options.md](references/multimedia-search-options.md)。
layer=current/stable/evidence/specialized/imported/history 是来源层,不是事实真伪的自动证明。needsreview、deprecated、supersededby、旧日期或历史路径必须在回答中明确提示。90系统归档/60整理与迁移记录 时,结果必须附 evidence_class(迁移/重组/资源引用/核对清理/交接/历史版本)和“仅代表当时状态”提示;v1/v2/v3 同时命中时优先给 canonical 版本,再列被取代版本。--no-snippets,先只返回路径和元数据。MOC/导航、map 或 Base 证据时,只能报告为部分完成或未知,不能推断已完成。soia-pkm-manage-vault-lifecycle;不得在查询时自行重命名目录。AGENTS.md,确认客户 vault 的分区语义。20资料库/90历史导入 与 90 只有追溯时才读。updated、日期、superseded_by、归档标签和正文更正说明;搜索排序不等于事实优先级。checkedat、matches、truncated、unreadable、scannedfiles、searchable_extensions、路径范围和 snippet 状态。.java、.yaml 等正文,罕见扩展能通过 --include-ext 加入。--no-snippets 的结果不含命中正文或 frontmatter 值。