Install
openclaw skills install obsidian-wiki-managerManage an Obsidian-based personal knowledge base (wiki) with strict ingestion, query, lint, reflect, merge, and system maintenance protocols. Trigger on ingest/摄入/query/lint/检查/reflect/综合分析/merge/去重/add question operations.
openclaw skills install obsidian-wiki-manager个人知识库管理系统,遵循 Raw → Wiki → Outputs 三层架构。
| 层 | 目录 | 说明 | 权限 |
|---|---|---|---|
| Raw | raw/ | 原始素材(文章、剪藏、图片、PDF、笔记、个人写作) | 只读,由人类拥有 |
| Wiki | wiki/ | 结构化知识(来源页、概念卡片、实体页、综合分析) | 完全读写 |
| Outputs | wiki/outputs/ | 输出产物(QUERY 答案、LINT 报告、Gap 报告等) | 写入,graph-excluded |
核心原则:
wiki/ 目录的读取和写入权限raw/ 目录由人类拥有,LLM 只能读取,绝不修改vault_root: "D:\\obsidian-job\\job"
qmd_cmd: "D:\\obsidian-job\\job\\qmd.bat" # qmd 封装脚本
触发词:ingest、摄入、处理这个
type: personal-writing → 走「个人写作」流程raw/personal/ → 走「个人写作」流程type: pdf-reference → 走「PDF 参考」流程win_web_read 获取页面完整内容,转换为 Markdownraw/clippings/ 目录raw_file 和 source_url# 标题提取 title;若无标题则从文件名推断source 字段留空,在 source 页中标注「来源未知」date 使用文件系统修改时间Step 1:读取目标原始来源
Step 2:计算 SHA-256 哈希(Python hashlib)
Step 3:与用户确认核心要点
Step 4:生成 slug(小写英文,用连字符)
Step 5:创建 wiki/sources/<slug>.md,frontmatter 写入:
raw_file:相对路径raw_sha256:SHA-256 哈希值last_verified:摄入日期canonical_source:翻译/转述来源同源标记possibly_outdated: trueStep 5.5 — canonical_source 译文同源检测:
canonical_source 字段Step 6 — 概念名称对齐检查:
aliases 字段Step 7:为每个概念:更新或创建 concept 页
Step 8:为每个实体:同上逻辑
Step 9:更新 wiki/index.md
Step 10:检查 wiki/QUESTIONS.md 匹配
Step 11:追加 wiki/log.md
Step 12(索引同步):执行 qmd update + qmd embed,报错则跳过记录
## My Position 节(标注「个人认知」)source_count 计数触发词:直接提问,或「根据我的知识库」
Step Q1:执行 qmd search "<query>" -n 5 --json(本机环境 qmd query 的 LLM 扩充会超时,故用 search 替代)
wiki/index.mdStep Q2:逐一完整读取 top 5 文件
Step Q3:合成答案
wiki/sources/<slug>.mdStep Q4:若答案有复用价值,写入 wiki/outputs/
| 问题类型 | 输出格式 |
|---|---|
| 普通问题 | Markdown 正文 |
| 比较类 | Markdown 表格 |
| 演示类 | Marp 幻灯片 |
| 趋势类 | Python matplotlib 代码块 |
| 清单类 | 结构化 bullet list |
触发词:lint、检查、健康检查
scripts/lint.py(9 项检查)wiki/outputs/lint-YYYY-MM-DD.mdqmd status,对比索引;落后则执行 qmd update触发词:reflect、综合分析、发现规律
Stage 0 — 反向检验:主动搜索反驳证据,无则标注「⚠ 回音室风险」
Stage 1 — 模式扫描:
qmd multi-get "wiki/concepts/*.md" -l 40qmd multi-get "wiki/entities/*.md" -l 40qmd multi-get "wiki/synthesis/*.md" -l 60Stage 2 — 深度合成:写入 wiki/synthesis/<topic>-synthesis.md
Stage 3 — Gap Analysis:
wiki/outputs/gap-report-YYYY-MM-DD.md触发词:merge、去重
触发词:我想搞清楚、add question、记录一个问题
wiki/QUESTIONS.md(checkbox 格式)wiki/log.md所有 wikilink 目标必须使用英文小写连字符格式:
| ✅ 正确 | ❌ 错误 |
|---|---|
[[value-investing]] | [[价值投资]] |
[[attention-mechanism]] | [[ValueInvesting]] |
中文名称写入 concept 页 aliases 字段。
[[log]] [[index]] [[overview]] [[QUESTIONS]][[outputs/lint-xxx]][[ingest]] [[query]]title 使用中文主名称aliases 覆盖中英文所有叫法| 来源数 | Confidence | 处理 |
|---|---|---|
| 1 个 | low | 自动设置 |
| 3+ 个 | medium | 自动设置 |
| 5+ 个无矛盾 | 候选 high | 需用户确认 |
个人写作不参与 count。
⚠ SOURCE MODIFIED 时重新摄入possibly_outdated: true以下文件 frontmatter 含 graph-excluded: true:
wiki/log.md、wiki/index.md、wiki/overview.md、wiki/QUESTIONS.mdwiki/outputs/ 下所有文件当此 skill 规则更新时,同步更新 USER_GUIDE.md 对应章节。