记忆

Obsidian Wiki Manager

试用

Manage an Obsidian-based personal knowledge base (wiki) with strict ingestion, query, lint, reflect, merge, and system maintenance protocols. Trigger on inge...

它能做什么

Manage 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.

技能文档

Obsidian Wiki Manager

个人知识库管理系统,遵循 Raw → Wiki → Outputs 三层架构。

架构概览

目录说明权限
Rawraw/原始素材(文章、剪藏、图片、PDF、笔记、个人写作)只读,由人类拥有
Wikiwiki/结构化知识(来源页、概念卡片、实体页、综合分析)完全读写
Outputswiki/outputs/输出产物(QUERY 答案、LINT 报告、Gap 报告等)写入,graph-excluded

核心原则

  • LLM 完全拥有 wiki/ 目录的读取和写入权限
  • raw/ 目录由人类拥有,LLM 只能读取,绝不修改
  • 系统文件(index/log/overview/QUESTIONS)不参与 Obsidian 图谱

配置要求

vault_root: "D:\\obsidian-job\\job"
qmd_cmd: "D:\\obsidian-job\\job\\qmd.bat"  # qmd 封装脚本

一、INGEST(摄入)操作规范

触发词ingest摄入处理这个

来源类型判断

  1. frontmatter 含 type: personal-writing → 走「个人写作」流程
  2. 文件路径包含 raw/personal/ → 走「个人写作」流程
  3. frontmatter 含 type: pdf-reference → 走「PDF 参考」流程
  4. 其他 → 走「外部来源」标准流程

URL 直接输入处理规则

  1. 获取内容:使用 web-content-fetcher 技能或 win_web_read 获取页面完整内容,转换为 Markdown
  2. 确定文件名:根据页面标题或 URL 路径生成文件名,保存到 raw/clippings/ 目录
  3. 确定作者和日期:从页面元数据中提取 author 和 publish_date,无法提取则标注「来源未知」
  4. 保存后继续标准流程:对保存的文件执行完整 INGEST 流程
  5. source_url 记录:在 source 页中同时保留 raw_filesource_url
  6. 去重检查:如果已有相同或高度相似来源,更新已有 source 页,不创建重复

缺少 frontmatter 的处理规则

  • 从文件第一个 # 标题提取 title;若无标题则从文件名推断
  • source 字段留空,在 source 页中标注「来源未知」
  • date 使用文件系统修改时间
  • 不中断 INGEST,但在 log.md 记录警告

外部来源标准流程(12 步)

Step 1:读取目标原始来源

Step 2:计算 SHA-256 哈希(Python hashlib

Step 3:与用户确认核心要点

Step 4:生成 slug(小写英文,用连字符)

Step 5:创建 wiki/sources/.md,frontmatter 写入:

  • raw_file:相对路径
  • raw_sha256:SHA-256 哈希值
  • last_verified:摄入日期
  • canonical_source:翻译/转述来源同源标记
  • 来源超过 2 年前:标注 possibly_outdated: true

Step 5.5 — canonical_source 译文同源检测

  1. 遍历已有 source 页的 canonical_source 字段
  2. 若指向同一原始来源:标记为同源,不创建新概念/实体
  3. 在 Contradictions 节记录
  4. 同源来源仅计为 1 个来源

Step 6 — 概念名称对齐检查

  1. 映射为英文小写连字符 slug
  2. 查已有 concept 文件
  3. 检查所有 concept 页的 aliases 字段
  4. 匹配则更新,不创建新页
  5. 不匹配才创建新页

Step 7:为每个概念:更新或创建 concept 页

  • Evolution Log 追加规则:「强化」/「修正」/「新增分歧」

Step 8:为每个实体:同上逻辑

Step 9:更新 wiki/index.md

Step 10:检查 wiki/QUESTIONS.md 匹配

Step 11:追加 wiki/log.md

Step 12(索引同步):执行 qmd update + qmd embed,报错则跳过记录

个人写作流程

  • 不生成 Summary 节,跳过客观摘要
  • 核心论点写入 ## My Position 节(标注「个人认知」)
  • 不参与 confidence 的 source_count 计数
  • Evolution Log 记录:「YYYY-MM-DD 个人写作 [[slug]] 确立了对此概念的明确立场」

二、QUERY(查询)操作规范

触发词:直接提问,或「根据我的知识库」

Step Q1:执行 qmd search "" -n 5 --json(本机环境 qmd query 的 LLM 扩充会超时,故用 search 替代)

  • 若报错则降级读取 wiki/index.md

Step Q2:逐一完整读取 top 5 文件

Step Q3:合成答案

  • 每个核心结论必须溯源到具体 wiki/sources/.md
  • 注明各来源 confidence 级别
  • 来源矛盾时显式标注分歧

Step Q4:若答案有复用价值,写入 wiki/outputs/

输出格式

问题类型输出格式
普通问题Markdown 正文
比较类Markdown 表格
演示类Marp 幻灯片
趋势类Python matplotlib 代码块
清单类结构化 bullet list

三、LINT(检查)操作规范

触发词lint检查健康检查

  1. 运行 scripts/lint.py(9 项检查)
  2. 报告写入 wiki/outputs/lint-YYYY-MM-DD.md
  3. 执行 qmd status,对比索引;落后则执行 qmd update
  4. 展示摘要并询问是否修复

四、REFLECT(反射)操作规范

触发词reflect综合分析发现规律

Stage 0 — 反向检验:主动搜索反驳证据,无则标注「⚠ 回音室风险」

Stage 1 — 模式扫描

  • qmd multi-get "wiki/concepts/*.md" -l 40
  • qmd multi-get "wiki/entities/*.md" -l 40
  • qmd multi-get "wiki/synthesis/*.md" -l 60

Stage 2 — 深度合成:写入 wiki/synthesis/-synthesis.md

Stage 3 — Gap Analysis

  • source_count=1 且创建 >30 天的孤立概念
  • 多处提及但无独立页面的概念/实体
  • 输出到 wiki/outputs/gap-report-YYYY-MM-DD.md

五、MERGE(合并)操作规范

触发词merge去重

同语言合并

  1. 与用户确认(绝不自动合并)
  2. 主 slug 保留,更新 wikilinks
  3. 被合并文件替换为重定向文件

跨语言合并

  1. 主 slug 保留英文
  2. aliases 取并集
  3. 内容按并集+去重合并
  4. 旧 slug 保留为 redirect 文件

六、ADD-QUESTION 操作规范

触发词我想搞清楚add question记录一个问题

  1. 将问题规范化
  2. 追加到 wiki/QUESTIONS.md(checkbox 格式)
  3. 追加 wiki/log.md

七、系统规则

所有 wikilink 目标必须使用英文小写连字符格式

✅ 正确❌ 错误
[[value-investing]][[价值投资]]
[[attention-mechanism]][[ValueInvesting]]

中文名称写入 concept 页 aliases 字段。

  • 不得引用系统文件:[[log]] [[index]] [[overview]] [[QUESTIONS]]
  • 不得引用 lint 报告:[[outputs/lint-xxx]]
  • 不得以操作名称作为 wikilink:[[ingest]] [[query]]
  • log.md 使用纯文本路径

Wiki 语言规范

  • Wiki 层统一中文写作
  • concept 页 title 使用中文主名称
  • slug(文件名)统一英文小写连字符
  • aliases 覆盖中英文所有叫法

Confidence 更新规则

来源数Confidence处理
1 个low自动设置
3+ 个medium自动设置
5+ 个无矛盾候选 high需用户确认

个人写作不参与 count。

Source Integrity Rules

  • re-ingest 规则:lint 报告 ⚠ SOURCE MODIFIED 时重新摄入
  • 来源 >2 年标注 possibly_outdated: true
  • 矛盾来源必须在 Contradictions 节显式记录

系统文件隔离规则

以下文件 frontmatter 含 graph-excluded: true

  • wiki/log.mdwiki/index.mdwiki/overview.mdwiki/QUESTIONS.md
  • wiki/outputs/ 下所有文件

文档维护规则

当此 skill 规则更新时,同步更新 USER_GUIDE.md 对应章节。

相关技能

Operate an Obsidian knowledge base as a persistent LLM wiki using a raw-to-source-to-wiki pattern. Use when Codex or another agent needs to ingest raw notes,...

19 次安装1 星标

Build a searchable local knowledge base from an Obsidian vault's "笔记同步助手" inbox, then answer with citations, topic cards, update logs, and daily digests for...

15 次安装

Obsidian 知识库(vault)管理专家,基于 `obsidian-cli` 操作本地 Markdown 笔记。聚焦多库管理、 安全重构(移动/改名不断链)、附件治理、跨库搜索,让笔记系统长期保持井井有条。 核心能力: - 多库发现与切换:自动识别系统中的所有 vault,按需切换默认库 - 安全重构:`m...

A knowledge base skill containing a curated master list of Obsidian resources. Trigger this skill when the user asks for recommendations on Obsidian beginner guides, paid courses, Personal Knowledge Management (PKM) methodologies like Zettelkasten or LYT, workflows, or Dataview snippets.

将当前对话、项目资料、会议记录、技术排障、工作流经验或主题讨论整理成结构化 Obsidian 知识库笔记。适用于用户要求总结、沉淀、保存、写入或整理 Obsidian 文档,并需要 Properties、Key takeaway、摘要、结构化内容块、Key references 和文件引用。

在本地 Markdown 笔记库(Obsidian/Logseq 风格)中读写、检索并关联笔记,写入需用户授权,追加内容附带署名。

22 次安装