obsidian-knowledge-builder
把「搭知识库」和「消化沉淀」变成两条稳定流程。适配 Obsidian:生成的目录结构和产物都用 Obsidian 原生格式([[wiki-link]]、frontmatter、callout),可直接在 Obsidian 里打开使用。
下文 <python> 表示已确认可用、版本不低于 3.10 的 Python 解释器(macOS/Linux 通常为 python3,Windows 通常为 py -3)。
先选模式
| 模式 | 触发 | 路径 |
|---|---|---|
| 创建 | 用户说「帮我搭知识库」「搭建第二大脑」「建立知识库结构」 | 收集信息 → 生成骨架 → 交付确认 |
| 同步学习 | 用户说「同步学习沉淀的知识」「消化待沉淀」 | 扫描待沉淀 → 学习消化 → 升格 Areas → 标记 |
模式一:创建
开始前:检查已有结构
用脚本检测目标目录,静默完成,检测到就报告:
<python> scripts/scaffold_kb.py check <目标目录>
- 未检测到结构 → 进入「创建」流程。
- 已存在结构 → 先询问用户「在现有基础上补充」还是「重新搭建」,不要直接覆盖。重新搭建必须先获得授权。
第 1 步:收集信息(不阻塞)
逐条提问,每条都有默认值,用户不回答就用默认值继续:
| 问题 | 默认值 |
|---|---|
| 你的昵称/名字? | 我 |
| 你的职业/身份? | 知识工作者 |
| 你想深耕哪些领域? | 工作技能、个人成长、兴趣爱好 |
| 你的核心目标? | 搭建第二大脑,让知识可沉淀、可复用 |
回答「随便/都行」或信息不全时,直接用默认值,最后集中让用户确认一次可修改,不反复追问。
第 2 步:设计领域分类
根据职业和领域生成 10-Areas/ 下的领域,领域文件夹用纯名称(如 数据分析),不带数字前缀。每个领域可选分子领域,子领域才用数字前缀(如 1-业务理解)。
- 每个领域一个文件夹,领域之间不重叠,3–5 个为宜
- 子领域可选:问用户「每个领域下想分哪几块?默认留空」,不给就留空
00-Inbox/待沉淀/下镜像同样的领域文件夹(不含子领域),与 Areas 一一对应,方便升格时对齐
第 3 步:生成骨架
用脚本确定性生成,不手工逐条建目录:
<python> scripts/scaffold_kb.py build <目标目录> \
--name <昵称> --occupation <职业> \
--areas "领域A:子领域1,子领域2;领域B" --goal <目标>
--areas 用逗号分隔领域;给某领域加子领域时用 领域:子1,子2,多个带子领域的领域用分号分隔。脚本创建固定目录和 8 个文件(根 README + 40-Skills hub + 大脑说明 6 个);目标目录已存在同名结构时拒绝覆盖。宿主无法运行 Python 时,按 references/file-templates.md 手工创建同样结构。
第 4 步:核对核心文件
确认以下文件已按用户信息生成,内容模板见 references/file-templates.md:
README.md— 知识库总览与流转说明40-Skills/README.md— 执行工具箱 hub90-<昵称>的大脑说明/README.md— 大脑说明书(最高优先级入口)90-<昵称>的大脑说明/个人档案.md— 用户档案90-<昵称>的大脑说明/agents.md— AI 操作约束90-<昵称>的大脑说明/初始化提示词.md— 换新会话时发送的完整恢复提示词90-<昵称>的大脑说明/文件追踪.md— 文件移动时的链接更新机制90-<昵称>的大脑说明/备份方案.md— 备份方案
第 5 步:交付与确认
报告生成的目录树和用法,并询问是否需要调整领域分类或结构。
模式二:沉淀与学习
用户把资料丢进 00-Inbox/待沉淀/ 后,说「同步学习沉淀的知识」,就启动这个流程:把资料「沉淀」成 Areas 笔记,然后逐篇询问用户「要不要学习」,要学习的用 learn-anything-fast 深度学习,学完在笔记旁打勾。
第 1 步:扫描待沉淀
列出 00-Inbox/待沉淀/ 下所有未处理的资料(文件名末尾没有 √ 的),按领域分组展示清单。
第 2 步:沉淀成 Areas 笔记
把每篇资料消化成结构化笔记,写入 10-Areas/{领域}/ 对应子领域。领域归属不确定时问用户,不擅自定。
第 3 步:逐个询问是否学习
每沉淀完一篇笔记,问用户「要不要学习这篇?」。用户说不要 → 跳过,笔记保留但不标记学习状态。
第 4 步:学习(可选)
用户说「学习」→ 调用 learn-anything-fast 技能深度学习这篇笔记(宿主没有该技能时,用等价学习循环)。默认 Compress 模式。格式见 references/learning-sync.md。
第 5 步:学习完打勾
学习完成后,在这篇 Areas 笔记旁打勾:文件名末尾加 √,或 frontmatter 标 status: learned。表示「已学习」。
第 6 步:汇报
汇报:沉淀了几篇笔记、学习了几篇、产出在哪、还剩多少资料未沉淀。
资源导航
| 需要什么 | 读哪里 |
|---|---|
| 四层流转的设计原理 | references/design-principles.md |
| 目录结构与文件模板 | references/file-templates.md |
| 同步学习的卡片格式与调用 | references/learning-sync.md |
| 一个完整示例 | examples/数据分析师示例.md |
稳定与恢复
- 幂等:脚本重复执行不产生重复或冲突;已存在结构时拒绝覆盖。
- 可恢复:任一步失败,保留已生成的中间产物,说明停在哪一步、如何续做。
- 不覆盖:覆盖、删除、重建必须先获得用户授权。
完成标准
创建模式:
- 骨架完整生成,脚本或手工创建结果与 references/file-templates.md 一致;
- 8 个文件已按用户信息定制;
- 用户已确认领域分类和结构(或使用默认值)。
同步学习模式:
- 资料已沉淀成 Areas 笔记;
- 每篇沉淀后都询问了用户是否学习;
- 已学习的笔记旁打了 √(标记已学习)。