个人技术知识库 --- 从零到一完整搭建方案
-
- 目录
- 一、这套方案是什么
- 二、为什么这么设计
- 三、前置准备
- 四、第一步:安装工具
-
- [4.1 安装 Obsidian](#4.1 安装 Obsidian)
- [4.2 安装 Claude Code](#4.2 安装 Claude Code)
- [4.3 安装 Git](#4.3 安装 Git)
- 五、第二步:创建知识库目录
-
- [5.1 创建主目录](#5.1 创建主目录)
- [5.2 用 Obsidian 打开](#5.2 用 Obsidian 打开)
- [5.3 每个目录是干什么的](#5.3 每个目录是干什么的)
- 六、第三步:编写核心配置文件
-
- [6.1 创建 CLAUDE.md](#6.1 创建 CLAUDE.md)
- [6.2 创建 SCHEMA.md](#6.2 创建 SCHEMA.md)
- [6.3 创建 GLOSSARY.md](#6.3 创建 GLOSSARY.md)
- [七、第四步:配置 Git 版本控制](#七、第四步:配置 Git 版本控制)
-
- [7.1 初始化 Git 仓库](#7.1 初始化 Git 仓库)
- [7.2 验证](#7.2 验证)
- [八、第五步:安装扩展------Obsidian 插件 + Skills + MCP 一次性配齐](#八、第五步:安装扩展——Obsidian 插件 + Skills + MCP 一次性配齐)
-
- [8.1 安装 Obsidian 插件](#8.1 安装 Obsidian 插件)
-
- 内置核心插件
-
- [① Templates(模板)--- 一键插入 wiki 页面骨架](#① Templates(模板)— 一键插入 wiki 页面骨架)
- [② Daily Notes(日记)--- 每天自动创建日记文件](#② Daily Notes(日记)— 每天自动创建日记文件)
- [③ Quick Switcher(快速切换)](#③ Quick Switcher(快速切换))
- [④ Command Palette(命令面板)](#④ Command Palette(命令面板))
- 社区插件
-
- [⑤ Git --- 自动备份到 Git](#⑤ Git — 自动备份到 Git)
- [⑥ Dataview --- 把 vault 当数据库查](#⑥ Dataview — 把 vault 当数据库查)
- [⑦ Claudian --- Obsidian 内嵌终端](#⑦ Claudian — Obsidian 内嵌终端)
- [8.2 Claude Code Skills------已安装清单 & 说明](#8.2 Claude Code Skills——已安装清单 & 说明)
- [8.3 MCP 服务器------已配置清单 & 说明](#8.3 MCP 服务器——已配置清单 & 说明)
- [8.4 扩展安装完成------验证清单](#8.4 扩展安装完成——验证清单)
- 九、第六步:冷启动------喂第一批知识
-
- [9.1 挑选第一批素材](#9.1 挑选第一批素材)
- [9.2 喂第一批素材](#9.2 喂第一批素材)
- [9.3 让 AI 编译第一批 wiki](#9.3 让 AI 编译第一批 wiki)
- [9.4 检查 AI 编译质量](#9.4 检查 AI 编译质量)
- [9.5 确认无误后提交](#9.5 确认无误后提交)
- 十、第七步:配置全局和项目级引用
- 十一、日常使用工作流
-
- [工作流 1:摄入新技术知识(每周 1-2 次,10 分钟)](#工作流 1:摄入新技术知识(每周 1-2 次,10 分钟))
- [工作流 2:开发时查知识(每天 1-3 次,30 秒)](#工作流 2:开发时查知识(每天 1-3 次,30 秒))
- [工作流 3:项目踩坑自动沉淀(开发时自动触发)](#工作流 3:项目踩坑自动沉淀(开发时自动触发))
- [工作流 4:每季度知识防腐(每季度 1 次,15 分钟)](#工作流 4:每季度知识防腐(每季度 1 次,15 分钟))
- 十二、维护策略
- 十三、常见问题
-
- [Q:要不要装 Claudian 插件?](#Q:要不要装 Claudian 插件?)
- [Q:要不要装 obsidian-skills?](#Q:要不要装 obsidian-skills?)
- [Q:Obsidian 插件装哪些?](#Q:Obsidian 插件装哪些?)
- [Q:我的知识库能换到 CodeX 用吗?](#Q:我的知识库能换到 CodeX 用吗?)
- [Q:知识库能存 PDF 吗?](#Q:知识库能存 PDF 吗?)
- Q:这套系统三个月后会不会荒废?
- [Q:如果 AI 编译的内容写错了怎么办?](#Q:如果 AI 编译的内容写错了怎么办?)
- 十四、设计决策记录
- 附录:所有来源
适用人群 :Java 全栈开发工程师
技术栈 :Java / Spring Boot / Spring Cloud / MySQL / Redis / Docker / Vue / React
核心工具 :Obsidian(知识容器)+ Claude Code(AI 引擎)
方法论来源 :Andrej Karpathy LLM Wiki + 花叔橙皮书 + 全网 18 个资源交叉验证 + 5 视角批判分析
版本:v1.0 / 2026-05-30
目录
- 一、这套方案是什么
- 二、为什么这么设计
- 三、前置准备
- 四、第一步:安装工具
- 五、第二步:创建知识库目录
- 六、第三步:编写核心配置文件
- [七、第四步:配置 Git 版本控制](#七、第四步:配置 Git 版本控制)
- [八、第五步:安装扩展------Obsidian 插件 + Skills + MCP 一次性配齐](#八、第五步:安装扩展——Obsidian 插件 + Skills + MCP 一次性配齐)
- 九、第六步:冷启动------喂第一批知识
- 十、第七步:配置全局和项目级引用
- 十一、日常使用工作流
- 十二、维护策略
- 十三、常见问题
- 十四、设计决策记录
一、这套方案是什么
一句话
一个本地 Markdown 文件夹,AI 帮你维护里面的结构化技术知识。写代码遇到问题时,AI 先查你的知识库------里面是你自己积累的、验证过的、最可靠的干货------找不到才上网搜。
核心工作流
你看到好文章 → 扔进 raw/
你遇到技术坑 → 说"记一下",AI 自动写 projects/项目名/issues.md
你需要查知识 → AI 先搜 wiki/ 和 projects/(你自己的经验),找不到才上网
你确认好经验 → AI 升级到 wiki/,以后所有项目都能用
这套方案能做什么
| 场景 | 怎么做 |
|---|---|
| 学了一个新技术点(如 JVM GC) | 喂文章到 raw/,AI 编译到 wiki/java/jvm-gc.md |
| 项目里踩了 Redis 分布式锁的坑 | 说"记一下",AI 写 projects/项目名/issues.md,好的经验升级到 wiki/database/redis.md |
| 写代码时遇到 Spring Security 配置问题 | AI 先搜 wiki/spring/spring-security.md,里面有你之前总结的干货 |
| 三个月后另一个项目也要用 Redis | AI 读 wiki/database/redis.md,你上次踩的坑自动避开 |
| 想对比 MyBatis 和 JPA | AI 基于 wiki/ 里已有的知识,生成 output/reports/mybatis-vs-jpa.md |
这套方案不能做什么
- ❌ 替代 Google 查语法和 API 文档
- ❌ 自动帮你写代码(你还是要自己写)
- ❌ 替代团队知识库(这是个人工具,不适合多人协作)
- ❌ 一开始就很强大(需要你持续喂素材,知识库才会越来越有用)
知道了这套方案能做什么、不能做什么,接下来我们看它为什么被设计成现在这个样子------这些设计原则直接决定了后续每一步怎么做。
二、为什么这么设计
设计原则
| 原则 | 含义 | 设计依据 |
|---|---|---|
| 搜比整重要 | 个人开发者需要的是"搜索"而不是"整理"。全文搜索比手动维护索引文件更可靠 | Anthropic CLAUDE.md 官方建议(≤150 行);花叔 第9.5节 承认 INDEX.md 可退役 |
| 被动积累 > 主动维护 | 系统必须在你正常工作中自动积累,不能依赖你专门腾时间维护 | Karpathy Gist:LLM 不会厌倦、不会忘记维护;花叔 第1节:人负责记录,AI 负责整理 |
| 三条规则是上限 | AI 能稳定执行的规则不超过 3 条。多了会被选择性忽略 | Anthropic 官方文档:CLAUDE.md 超过 150-200 行后遵守率显著下降 |
| ingest 和 compile 分离 | 先保存原文,再确认后编译。防止 AI 把偏的东西固化进知识库 | ekadetov/llm-wiki 插件设计(GitHub: ekadetov/llm-wiki) |
| 编译前先讨论 | AI 先给摘要问你重点,确认后再写。你不是在审稿,是在定向 | my-secondbrain 项目的 /ingest 命令规范(GitHub: ayush488-glitch/my-secondbrain) |
| 人做判断,AI 做整理 | AI 可以写 wiki、建链接、标矛盾。但"这个东西对不对""能不能通用"必须你确认 | 花叔橙皮书 第1节:AI 负责整理和关联,人负责思考和决策 |
| 知识要标注可信度 | VERIFIED/LIKELY/OPINION 三个等级,防止虚假确信比不知道更危险 | Karpathy Gist:LLM Wiki 模式下幻觉会被永久固化;llm-wiki-compiler 项目采用 4 级置信度标签 |
| Git 是安全网 | 每次 AI 操作自动 commit。改坏了 git revert 就行。放心让 AI 批处理 | 花叔橙皮书 第9.1节:Git 管理 vault;ballred/obsidian-claude-pkm 实现 auto-commit hook |
目录结构设计逻辑
tech-vault/
├── raw/ ← 原始素材。AI 只读不写。这是你的"食材仓库"。
├── wiki/ ← AI 编译的结构化知识。这是"烹饪好的菜"。
├── projects/ ← 具体项目的踩坑记录。这是"这道菜在这个厨房怎么做"。
├── journal/ ← 日记。每天三五句话。这是"今天做了什么饭"。
└── output/ ← 基于 wiki 的产出。这是"给客人的成品菜"。
信息流向:raw → wiki → output。单向流动,互不污染。
扩展安装策略:三类扩展,各司其职
本方案用到三类扩展,每种解决不同层面的问题:
| 类型 | 定位 | 举例 |
|---|---|---|
| Obsidian 插件 | 增强你的"浏览器"体验 | Git 自动备份、模板一键插入、内嵌终端 |
| Claude Code Skills | 扩展 AI 的能力边界 | PDF 处理、规划、Java/Spring 专家知识 |
| MCP 服务器 | 给 AI 接上实时数据源 | Context7 查最新文档、Playwright 网页抓取 |
具体安装哪些、怎么装,见 第八步:安装扩展。
- 不需要向量数据库:500 篇以内,Grep 全文搜索够快够准。超过 500 篇再考虑。
理解了设计原理之后,我们开始动手。先确保你的电脑上有所需的工具。
三、前置准备
你需要有的
| 物品 | 说明 |
|---|---|
| Windows 电脑 | 本方案基于 Windows 11,Mac/Linux 类比调整路径即可 |
| 网络连接 | 下载工具时需要,日常使用 Claude Code 需要 API 连接 |
| 30 分钟时间 | 第一次搭建的时间 |
| Anthropic API Key | 或 DeepSeek API Key(省钱方案,见下文) |
你需要知道的概念
| 概念 | 一句话解释 |
|---|---|
| Obsidian | 一个免费的笔记软件,本质上是给 Markdown 文件夹加了一层好看的界面 |
| Vault | Obsidian 的叫法,就是一个文件夹,里面全是 .md 文件 |
| Claude Code | Anthropic 的命令行 AI 工具,能读写你电脑上的文件 |
| Markdown | 纯文本格式,用 # 表示标题、** 表示加粗。AI 最擅长读的格式 |
| CLAUDE.md | 放在目录下的规则文件,Claude Code 启动时自动读取 |
| SCHEMA.md | 知识库的格式规范文件,告诉 AI 页面该怎么写 |
| Grep | 命令行全文搜索工具,能在大量文件中快速找到包含指定关键词的行。本方案用它代替手动维护的索引文件 |
| kebab-case | 命名规范:全部小写英文,单词之间用连字符连接(如 jvm-memory-model.md)。空格和中文在命令行中容易出错 |
四、第一步:安装工具
4.1 安装 Obsidian
做什么:安装你的知识库"浏览器"。
怎么做:
- 打开 https://obsidian.md/download
- 下载 Windows 版(.exe 安装包)
- 双击安装,一路下一步
- 安装完成后先不要创建 Vault(我们后面手动建)
为什么:Obsidian 的 Vault 就是普通文件夹。我们先用命令行建好目录结构,再用 Obsidian 打开。这样你能清楚看到"Vault = 文件夹"这个事实。
4.2 安装 Claude Code
做什么:安装 AI 引擎。这是整个系统的核心。
怎么做:
-
打开 PowerShell(Win+R,输入
powershell,回车) -
确认 Node.js 已安装:
node --version(如果没有,先去 https://nodejs.org 下载安装) -
安装 Claude Code:
powershellnpm install -g @anthropic-ai/claude-code -
验证安装成功:
claude --version
省钱方案 (可选,推荐):
Claude 官方 API 较贵。可以用 DeepSeek V4 替代,成本降低 90%,知识管理场景完全够用。
-
去 https://platform.deepseek.com 注册,获取 API Key
-
配置环境变量:
powershell[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://api.deepseek.com/anthropic", "User") [Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "你的DeepSeek API Key", "User") -
重启终端后生效
4.3 安装 Git
做什么:版本控制。AI 每次修改都会留下记录,改坏了随时回滚。
怎么做:
- 打开 https://git-scm.com/download/win
- 下载安装,一路默认选项
- 验证:
git --version
为什么必须装 Git :5 个角色之一(执行者)指出,INDEX.md 不会自动更新、AI 可能写偏------Git 是你唯一的安全网。花叔 第9节 也强调:"git diff 精确看到 AI 动了什么。出问题直接 git revert。"
工具就绪了。现在创建知识库的目录骨架------这是后续所有操作的基础。
五、第二步:创建知识库目录
5.1 创建主目录
打开 PowerShell,执行:
powershell
# 创建知识库根目录
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库
# 创建所有子目录
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\raw\articles
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\raw\docs
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\raw\papers
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\java
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\spring
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\database
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\architecture
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\devops
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\frontend
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\templates
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\projects
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\journal
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\output\reports
New-Item -ItemType Directory -Force -Path D:\Develop\个人知识体系\技术知识库\output\cheatsheets
# 创建空日志文件
New-Item -ItemType File -Force -Path D:\Develop\个人知识体系\技术知识库\wiki\LOG.md
# 验证:查看创建的目录结构
Get-ChildItem -Recurse -Directory D:\Develop\个人知识体系\技术知识库 | Select-Object FullName
预期输出(你应该看到约 17 个目录):
D:\Develop\个人知识体系\技术知识库\raw\articles
D:\Develop\个人知识体系\技术知识库\raw\docs
D:\Develop\个人知识体系\技术知识库\raw\papers
D:\Develop\个人知识体系\技术知识库\wiki\java
D:\Develop\个人知识体系\技术知识库\wiki\spring
D:\Develop\个人知识体系\技术知识库\wiki\database
D:\Develop\个人知识体系\技术知识库\wiki\architecture
D:\Develop\个人知识体系\技术知识库\wiki\devops
D:\Develop\个人知识体系\技术知识库\wiki\frontend
D:\Develop\个人知识体系\技术知识库\wiki\templates
D:\Develop\个人知识体系\技术知识库\projects
D:\Develop\个人知识体系\技术知识库\journal
D:\Develop\个人知识体系\技术知识库\output\reports
D:\Develop\个人知识体系\技术知识库\output\cheatsheets
5.2 用 Obsidian 打开
- 打开 Obsidian
- 点击 "Open folder as vault"
- 选择
D:\Develop\个人知识体系\技术知识库 - 现在你看到的是 Obsidian 界面,但底层的文件就是刚才创建的那些
启用 Daily Notes 核心插件(日记功能需要):
- Obsidian 左下角点齿轮图标 → 设置
- 左侧菜单 → 核心插件 → 找到 "Daily Notes"
- 开关拨到 ON
- 点旁边的齿轮设置日期格式(默认
YYYY-MM-DD即可,与方案一致)
5.3 每个目录是干什么的
| 目录 | 用途 | 谁可以写 | 例子 |
|---|---|---|---|
raw/articles/ |
你收藏的技术文章 | 你(AI 只读) | 一篇关于 JVM GC 的博客 |
raw/docs/ |
官方文档片段 | 你(AI 只读) | Spring 官方文档的关键段落 |
raw/papers/ |
论文、技术白皮书 | 你(AI 只读) | 一篇关于分布式系统的论文 |
wiki/java/ |
Java 核心知识 | AI(你审核) | JMM 内存模型、GC 算法 |
wiki/spring/ |
Spring 生态知识 | AI(你审核) | Spring Boot 自动配置原理 |
wiki/database/ |
数据库知识 | AI(你审核) | MySQL 索引优化、Redis 缓存策略 |
wiki/architecture/ |
架构设计知识 | AI(你审核) | 微服务拆分、DDD 聚合设计 |
wiki/devops/ |
DevOps 知识 | AI(你审核) | Docker 最佳实践、K8s 部署 |
wiki/frontend/ |
前端知识 | AI(你审核) | Vue 3 响应式原理 |
wiki/LOG.md |
操作日志(只追加) | AI(自动) | "2026-05-30 编译了 JVM GC 页面" |
projects/项目名/ |
具体项目的踩坑记录 | AI(自动写)+ 你(确认升级) | projects/ecommerce/issues.md |
journal/ |
你每天的日记 | 你 | "今天调试了 Redisson watch dog 问题" |
output/reports/ |
技术调研报告 | AI(基于 wiki 生成) | "MyBatis vs JPA 选型分析" |
output/cheatsheets/ |
速查表 | AI(基于 wiki 生成) | "Spring Boot 常用注解速查" |
六、第三步:编写核心配置文件
6.1 创建 CLAUDE.md
这个文件是干什么的:AI 的"员工手册"。Claude Code 每次启动时自动读取它,知道你是谁、怎么干活、什么能动什么不能动。
CLAUDE.md 已存在于 vault 根目录,内容已配置好,无需再创建。核心内容概述:
- 规则 1 --- 搜:wiki/ 找不到则搜 raw/,raw/ 也没有则建议上网搜
- 规则 2 --- 记:"存"写入 raw/;"编译"按 SCHEMA.md 格式生成 wiki 页面;"编译本周 raw/"批量处理
- 规则 3 --- 沉淀:"记一下"写 projects/issues.md,通用经验标注建议升级,等你确认
- 行为边界:raw/ 只读、wiki/ 可追加、不确定标 LIKELY、解决问题主动问要不要存
- 健康检查:8 项(矛盾/孤立/死链接/过时/瘦页面/单来源/标签漂移/建议综合)
- Git:每次修改自动 commit,有远程则 push
完整内容见 vault 根目录下的 CLAUDE.md。如需修改,直接编辑该文件即可。
6.2 创建 SCHEMA.md
这个文件是干什么的 :知识库的"格式规范"。告诉 AI 每个 wiki 页面应该长什么样,用什么字段,标什么标签。保证 AI 每次写的格式一致,不会今天叫 RAG.md 明天叫 检索增强生成.md。
SCHEMA.md 已存在于 vault 根目录,内容已配置好,无需再创建。核心内容概述:
- 文件命名 :小写英文 + 连字符(如
jvm-memory-model.md),子文件夹按技术栈分类 - 页面类型:concept(概念)/ entity(实体)/ comparison(对比)/ cheatsheet(速查),各有固定章节模板
- 页面状态:stub → draft → solid → contested
- 置信度:VERIFIED / LIKELY / OPINION / DEPRECATED
- 三步编译法:浓缩 → 质疑 → 对标
- 最小链接:每篇 wiki 至少 3 个内部 \[wikilink]
完整内容见 vault 根目录下的 SCHEMA.md。
6.3 创建 GLOSSARY.md
这个文件是干什么的 :术语统一表。保证你不会在 wiki 里同时出现 RAG、检索增强生成、retrieval augmented generation 三个写法。
GLOSSARY.md 已存在于 vault 根目录,内容已配置好,无需再创建。核心内容概述:
- 术语统一:RAG、LLM、Claude Code、Spring Boot、JVM 等术语的标准写法
- 标签速查:技术栈标签(#java #spring #database 等)、内容类型标签(#concept #entity 等)、页面状态标签、可信度标签
完整内容见 vault 根目录下的 GLOSSARY.md。之后遇到新术语,直接追加到这个文件。
七、第四步:配置 Git 版本控制
7.1 初始化 Git 仓库
powershell
cd D:\Develop\个人知识体系\技术知识库
# 初始化 Git
git init
# 创建 .gitignore
@"
.obsidian/workspace.json
.obsidian/workspace-mobile.json
"@ | Out-File -FilePath .gitignore -Encoding UTF8
# 第一次提交
git add -A
git commit -m "初始化 技术知识库:目录结构 + CLAUDE.md + SCHEMA.md + GLOSSARY.md"
7.2 验证
powershell
git log --oneline
预期输出:
abc1234 初始化 技术知识库:目录结构 + CLAUDE.md + SCHEMA.md + GLOSSARY.md
八、第五步:安装扩展------Obsidian 插件 + Skills + MCP 一次性配齐
核心工具和目录就绪后,这一步把所有扩展装好。以下列表来自花叔橙皮书 第8节 + ballred/obsidian-claude-pkm + my-secondbrain 等社区资源的交叉验证。
8.1 安装 Obsidian 插件
先用 Obsidian 打开你的 vault(D:\Develop\个人知识体系\技术知识库)。
背景:Obsidian 插件分两种------
- Core Plugins(内置核心插件):Obsidian 官方团队开发,内置于 Obsidian,不需要下载。在「设置 → 核心插件」中拨开关即可启用。
- Community Plugins(社区插件):第三方开发者贡献,需要从社区插件市场搜索安装。路径:「设置 → 第三方插件 → 浏览」。
以下 7 个全部装,不需要等到"用熟了"。每个插件按「是什么 → 怎么装 → 怎么配 → 怎么用」一路说到底。
核心插件分类来源:Obsidian 官方文档 Plugins → Core plugins。
内置核心插件
① Templates(模板)--- 一键插入 wiki 页面骨架
是什么:新建笔记时自动套用 SCHEMA.md 定义的页面模板(概念页/实体页/对比页),不用每次手打 frontmatter。
启用:设置 → 核心插件 → Templates → 拨到 ON。
配置:
- 模板文件夹
wiki/templates/已在第五步创建,确认存在即可 - 设置 → 核心插件 → Templates → 齿轮图标 →「模板文件夹位置」设为
wiki/templates
创建模板文件 (在 wiki/templates/ 下新建):
concept-template.md(概念页模板):
markdown
---
title: "{{title}}"
type: concept
tags: []
status: stub
confidence: likely
sources: []
created: {{date}}
updated: {{date}}
summary: ""
---
## 定义
## 核心要点
## 前提与局限性
## 关联概念
## 来源
entity-template.md 和 comparison-template.md 同理,按 SCHEMA.md 的章节结构创建。
使用 :新建笔记 → Ctrl+P → "Insert template" → 选择模板 → 自动填入日期和骨架。
② Daily Notes(日记)--- 每天自动创建日记文件
是什么 :每天自动在 journal/ 下创建 YYYY-MM-DD.md,用于记录每日所学、所踩坑、所想。
启用:设置 → 核心插件 → Daily Notes → 拨到 ON。
配置(在齿轮图标中):
- 日期格式:
YYYY-MM-DD - 存放目录:
journal/
快捷键绑定 (只需做一次):设置 → 快捷键 → 搜索 "Daily notes" → 找到 "Open today's daily note" → 绑定 Ctrl+Shift+D。
使用 :Ctrl+Shift+D 或点左侧边栏日历图标 → 打开今天的日记 → 写三五句话。
③ Quick Switcher(快速切换)
是什么 :Ctrl+O 搜索文件名并跳转。默认已启用,无需配置。
使用 :Ctrl+O → 输入文件名片段(支持拼音模糊匹配)→ 回车。
④ Command Palette(命令面板)
是什么 :Ctrl+P 执行任意 Obsidian 命令。默认已启用,无需配置。
使用 :Ctrl+P → 输入命令名(如 "Insert template"、"Git: Commit")→ 回车执行。Obsidian 所有操作都能通过它完成,不用记菜单。
社区插件
安装社区插件前,先确认安全模式已关闭:设置 → 第三方插件 → 关闭安全模式。
⑤ Git --- 自动备份到 Git
是什么:定时自动 commit + push,在 Obsidian 内查看改动历史、diff、回滚。与 CLAUDE.md 的 Git 规则互补------AI 操作文件走 CLAUDE.md 规则,你手动改文件走这个插件。
安装 :设置 → 第三方插件 → 浏览 → 搜索 Git → 找到作者为 Vinzent 的 Git 插件(描述:"Integrate Git version control with automatic backup...")→ 安装并启用。
在插件市场搜
Git,不是obsidian-git(那是 plugin ID,不是显示名)。来源:Obsidian 官方注册表community-plugins.json。
前提 :vault 必须已 git init 并关联远端仓库(第七步已做,确认 git log --oneline 有输出即可)。
配置:设置 → 第三方插件 → Git → 齿轮图标:
| 设置项 | 建议值 | 说明 |
|---|---|---|
| Auto backup interval | 10(分钟) |
每 10 分钟自动 commit + push |
| Auto pull on startup | 开启 | 打开 Obsidian 时自动拉取远端最新 |
| Commit message | vault backup: {``{date}} |
自动 commit 信息模板 |
| Pull push on backup | 开启 | commit 后自动 push |
| Disable notifications | 关闭 | 保留通知,确认备份正常执行 |
使用:
- 自动模式(推荐):不操作,每 10 分钟后台自动备份
- 手动 commit :
Ctrl+P→ "Git: Commit all changes" → 输入信息 → 回车 - 一步到位 :
Ctrl+P→ "Git: Commit-and-sync"(commit + pull + push 三合一) - 查看改动 :
Ctrl+P→ "Git: Open source control view" - 查看历史 :
Ctrl+P→ "Git: Open history view" - 误改回滚:历史视图中点击某个 commit → 查看 diff → 回退
⑥ Dataview --- 把 vault 当数据库查
是什么:用类似 SQL 的语法查询 vault 中所有 .md 文件的 frontmatter 字段。健康检查时不用手动翻目录。
安装 :设置 → 第三方插件 → 浏览 → 搜索 Dataview → 安装并启用。
使用 :在任意 .md 文件中插入 dataview 代码块,切换到阅读视图(Ctrl+E)即可看到查询结果。
列出所有 stub 页面(健康检查第 5 项):
markdown
```dataview
TABLE status, updated, summary
FROM "wiki"
WHERE status = "stub"
SORT updated DESC
```
列出超过 3 个月未更新的页面(健康检查第 4 项):
markdown
```dataview
TABLE updated, status
FROM "wiki"
WHERE updated < date(today) - dur(3 months)
SORT updated ASC
```
列出 confidence: verified 但只有一个来源的页面(健康检查第 6 项):
markdown
```dataview
TABLE sources, status
FROM "wiki"
WHERE confidence = "verified" AND length(sources) <= 1
```
建议把以上查询集中放在 output/reports/vault-health.md,每次健康检查打开这个文件就行。
⑦ Claudian --- Obsidian 内嵌终端
是什么 :在 Obsidian 内部打开终端,自动 cd 到 vault 根目录,直接输 claude 启动 Claude Code。花叔橙皮书 第8节 列为"强烈推荐"。
安装 :设置 → 第三方插件 → 浏览 → 搜索 Claudian → 安装并启用。
配置:设置 → 第三方插件 → Claudian → 齿轮图标:
| 设置项 | 建议值 | 说明 |
|---|---|---|
| Shell | PowerShell | Windows 默认 |
| Default directory | Vault root | 终端自动 cd 到 vault 根目录 |
使用 :Ctrl+Shift+Enter → 在当前笔记下方打开终端 → 输入 claude → CLAUDE.md 自动生效。
8.2 Claude Code Skills------已安装清单 & 说明
你的环境已安装 60+ skills。以下是与本知识库直接相关的核心几个:
powershell
# 查看已安装的所有 skills
npx skills list -g
知识库核心 skills(已装):
| Skill | 触发方式 | 在知识库工作流中的作用 |
|---|---|---|
说"读这个 PDF"或 /pdf |
把 PDF 技术文档/书籍 OCR 后转 Markdown 存入 raw/ | |
| planning-with-files | 说"做个计划" | 复杂编译任务(一次编译多篇 raw/ 文章)自动拆解步骤 + 生成 task_plan.md |
| graphify | /graphify |
将任意输入转为知识图谱,可视化 wiki 页面之间的概念关联 |
| find-skills | 说"找个 skill" | 发现和安装新的 skills |
Java 技术栈 skills(已装,日常开发自动生效):
| Skill | 覆盖领域 |
|---|---|
| java-coding-standards / java-junit | Java 编码规范和单元测试 |
| java-springboot / spring-boot-engineer | Spring Boot 开发 |
| springboot-patterns / springboot-security | Spring Boot 设计模式和安全 |
| springboot-tdd / springboot-verification | Spring Boot 测试验证 |
| mysql / redis-development | MySQL 和 Redis |
| docker-expert | Docker |
| git-advanced-workflows / git-commit | Git 工作流 |
以上 skills 均已安装,无需额外操作。skills 不会自动触发------只有在你明确调用(如
8.3 MCP 服务器------已配置清单 & 说明
MCP 让 Claude Code 连接外部数据源,弥补训练数据的时效性。
powershell
# 查看已配置的 MCP 及连接状态
claude mcp list
已配置的 3 个 MCP:
| MCP | 用途 | 在知识库工作流中的作用 |
|---|---|---|
| Context7 | 实时拉取任何库/框架的最新官方文档 | 知识库中没有 → AI 通过 Context7 查最新文档,而非返回过时的训练数据 |
| Playwright | 浏览器自动化 | 看到好文章 → Playwright 打开网页 → 提取正文 → 存到 raw/articles/ |
| Pencil | UI/原型设计 | 需要画架构图、流程图时直接生成 |
你的环境中这 3 个 MCP 均已连接成功(claude mcp list 显示 ✓ Connected),无需额外操作。
8.4 扩展安装完成------验证清单
全部打勾后进入下一步(冷启动):
- 内置核心插件:Templates(模板)、Daily Notes(日记)已将开关拨到 ON(设置 → 核心插件 中确认)
- Quick Switcher(快速切换)、Command Palette(命令面板)保持 ON(默认已开启)
- 社区插件:Git(作者 Vinzent)、Dataview、Claudian 已安装并启用(设置 → 第三方插件 中确认)
-
npx skills list -g输出中包含 pdf、planning-with-files、graphify -
claude mcp list输出中 context7、playwright、pencil 均显示 ✓ Connected
九、第六步:冷启动------喂第一批知识
9.1 挑选第一批素材
做什么:选 5-10 篇你已经很熟悉、验证过正确性的技术文章。这是知识库的"第一批砖"。
挑选标准:
- ✅ 你自己读过、确认内容正确
- ✅ 偏原理性(不是新闻、不是版本更新公告)
- ✅ 你以后还会反复查阅
- ❌ 不要选你还没验证过的(你无法判断 AI 编译对不对)
- ❌ 不要选纯代码教程(那种直接看代码就行)
建议的第一批主题(选你最熟的 5 个):
- JVM 垃圾回收、Java 并发编程、Spring Boot 自动配置、MySQL 索引优化、Redis 缓存策略、Docker 核心概念、微服务架构设计
9.2 喂第一批素材
方式一:从浏览器剪藏(推荐)
- 在浏览器中安装 Obsidian Web Clipper 扩展(Chrome/Edge/Firefox 均有,搜索 "Obsidian Web Clipper")
- 浏览器中打开你想收藏的文章
- 点击浏览器工具栏中的 Web Clipper 图标,选择目标 Vault,保存到
raw/articles/
方式二:手动复制
- 在
D:\Develop\个人知识体系\技术知识库\raw\articles\下新建文件 - 把文章内容粘贴进去
- 保存
9.3 让 AI 编译第一批 wiki
打开终端:
powershell
cd D:\Develop\个人知识体系\技术知识库
claude
进入 Claude Code 会话后,说:
我往 raw/articles/ 里放了第一批技术文章。
请你:
1. 先读一遍所有 raw/ 下的文件
2. 按 SCHEMA.md 的规范,为其中涉及的核心概念创建 wiki 页面
3. 每篇 wiki 文章建立和其他文章的 [[交叉引用]]
4. 追加操作记录到 wiki/LOG.md
先从你最确定的那篇开始编译。编译前先给我 5-8 条核心摘要。
预期输出示例(假设你喂了一篇关于 JVM G1 垃圾回收器的文章):
AI:我读了 raw/articles/jvm-g1-collector.md,以下是 5 条核心摘要:
1. G1 从 JDK 9 开始成为默认收集器,目标是将 GC 暂停控制在可预测的时间
2. G1 将堆划分为大小相等的 Region,不再区分物理上的年轻代和老年代
3. -XX:MaxGCPauseMillis 是核心调优参数,默认 200ms
4. G1 适合 4GB-64GB 的堆,超大堆建议用 ZGC
5. Mixed GC 是 G1 独有的,同时回收年轻代和部分老年代
你想强调哪个方向?和已有的 wiki 有什么关联吗?
(wiki/ 里暂时没有 Java 相关页面,这次会创建第一篇。
建议创建 wiki/java/jvm-gc.md,后续其他 GC 算法补充到同一页面。)
你回复方向后,AI 才会开始写 wiki 页面。
9.4 检查 AI 编译质量
做什么:AI 第一次编译的东西不会完美。你需要花 10-15 分钟检查。
检查什么:
- 分类对不对?(JVM 的文章放到了 wiki/java/ 下吗?)
- 格式符合 SCHEMA.md 吗?(frontmatter 字段齐全吗?)
- 有没有 AI 自己脑补的内容?(原文没有的细节被加进去了)
- 置信度标对了吗?(你不确定的内容标 VERIFIED 了吗)
- 交叉引用建立了吗?(提到其他概念时用了 \[wikilink] 吗)
发现问题怎么办:
- 直接告诉 Claude Code:"wiki/java/jvm-gc.md 里第三段关于 G1 收集器的那部分,原文没有提到,你脑补了。删掉那段。"
- 如果 AI 反复犯同样的错 → 在 CLAUDE.md 里加一条规则:"编译时不要添加原文没有的细节。如果原文缺少某个信息,标注 待补充 而不是自己编。"
这就是 CLAUDE.md 自然生长的过程。 花叔原话:"每次 Claude Code 犯一个错,我就在 CLAUDE.md 里加一条规则。半年下来,从几行长成了路由系统。"
9.5 确认无误后提交
powershell
git add -A
git commit -m "冷启动:第一批 wiki 页面编译完成"
git log --oneline
十、第七步:配置全局和项目级引用
10.1 全局 CLAUDE.md(极简,只放身份)
编辑 C:\Users\14437\.claude\CLAUDE.md:
markdown
我是 Java 全栈开发工程师。写中文。偏好简洁代码,不写过度注释。
为什么只放这一行:全局文件影响你所有会话。放多了会"污染"非技术场景。你的身份是所有项目都需要的,但知识库路径不一定是。
10.2 项目级 CLAUDE.md(放知识库引用)
在每个技术项目的 .claude/ 目录下创建 CLAUDE.md:
markdown
# 项目概况
[项目名称]。技术栈:[列出技术栈]。
# 知识库
遇到技术问题时,先搜索 D:\Develop\个人知识体系\技术知识库\wiki\ 目录。
如果知识库中有相关内容,基于它回答并引用来源。
如果找不到,搜一下 raw/ 目录:有相关素材告诉我"wiki 中没有,但 raw/ 里有,需要编译后才能用";raw/ 也没有则建议上网搜。
如果我们在对话中解决了有价值的技术问题或学到了新概念,主动问我:
"要不要把这次的内容存到知识库?"
如果我说"存",把内容写入 D:\Develop\个人知识体系\技术知识库\raw\ 对应目录,然后执行 cd D:\Develop\个人知识体系\技术知识库 && git add -A && git commit -m "沉淀:<简述>" && git push。
如果我说"记一下",按"问题描述 → 环境信息 → 尝试过程 → 最终方案"格式,写入 D:\Develop\个人知识体系\技术知识库\projects\[项目名称]\issues.md,然后执行同上 git 操作。如果这个经验可能适用于其他项目,在末尾标注 ">>> 建议升级到 wiki/xx/xx.md",等我确认后再升级。
本项目重点关注的知识库页面:
- [[wiki/database/redis.md]] --- 缓存策略和分布式锁
- [[wiki/spring/spring-boot.md]] --- 自动配置和启动流程
- [[wiki/database/mysql.md]] --- 索引优化和事务
为什么放在项目级而不是全局级:
- 每个项目关注的知识不同(电商项目看 Redis,数据项目看 MySQL)
- 换了非技术项目不会误触发知识库搜索
- 项目的
.claude/目录可以随 Git 提交
10.3 验证
在项目目录下启动 Claude Code:
powershell
cd D:\workspace\你的项目
claude
然后问:"你知不知道我的知识库在哪?" 它应该回答出 D:\Develop\个人知识体系\技术知识库\。
十一、日常使用工作流
工作流 1:摄入新技术知识(每周 1-2 次,10 分钟)
触发场景:你看到一篇好技术文章、读完官方文档的某个章节、学了一个新技术点。
步骤:
1. 把文章存入 raw/articles/(浏览器剪藏或手动复制)
2. 打开终端:cd D:\Develop\个人知识体系\技术知识库
claude
3. 说:"存好了,准备编译 raw/articles/xxx.md"
4. AI 给出 5-8 条核心摘要,问你想强调什么
5. 你说:"重点看第二部分关于 G1 的调优参数"
6. AI 按 SCHEMA.md 格式创建/更新 wiki 页面
7. 你花 2 分钟检查是否偏了
8. 如果没有问题 → AI 自动 commit
9. 如果偏了 → 告诉 AI 怎么改 → AI 修改 → commit
不用每次都做:不紧急的文章先堆在 raw/ 里,一周集中编译一次就行。
工作流 2:开发时查知识(每天 1-3 次,30 秒)
触发场景:你在 IntelliJ 里写代码,遇到技术问题。
步骤:
1. 打开终端(不要 cd 到 vault,就在你的项目目录下)
2. 问 Claude Code:"Redis 分布式锁怎么避免死锁?先查我的知识库。"
3. AI 搜索 wiki/database/redis.md → 找到你之前标注 [VERIFIED] 的 Redisson 方案
4. AI 基于你自己的经验生成代码建议
5. 你写代码
如果知识库里没有:
AI 说:"库中没有相关内容。"
→ 你说:"帮我上网搜一下 Redis 分布式锁的最佳实践。"
→ AI 搜索并给出方案
→ 你写代码
→ 代码写完后说:"把刚才搜到的内容存到 raw/,我下次编译。"
工作流 3:项目踩坑自动沉淀(开发时自动触发)
触发场景:你在项目里踩了一个坑,AI 帮你解决了。
步骤:
1. 你遇到问题 → AI 帮你解决
2. 你说:"记一下这个坑"
3. AI 自动写 projects/项目名/issues.md:
- 问题描述
- 环境信息(版本号、配置)
- 尝试过程
- 最终方案
4. 如果 AI 觉得这个经验是通用的 → 它在 issues.md 末尾标注
">>> 建议升级到 wiki/xx/xx.md"
5. 你确认 → AI 更新 wiki 对应页面
示例:
问题:Spring Boot 3.3 + Redisson 3.27,watch dog 自动续期不生效
环境:Spring Boot 3.3.1, JDK 21, Redisson 3.27.0
尝试:
1. 检查 Redisson 配置 → 配置正确
2. 检查 Redis 连接 → 连接正常
3. 查阅 Redisson 文档 → 发现 Spring Boot 3.3 改了线程模型
最终方案:配置 Redisson 使用自定义线程池,绕过 Spring Boot 的虚拟线程
>>> 建议升级到 wiki/database/redis.md
工作流 4:每季度知识防腐(每季度 1 次,15 分钟)
触发场景:定期检查知识有没有过时。
步骤:
1. cd D:\Develop\个人知识体系\技术知识库
claude
2. 说:"扫描所有 updated 超过 3 个月的 wiki 页面。
检查其中涉及的版本号、API 是否仍然是最新的。
对已过时的内容,在 frontmatter 中标注 confidence: deprecated,
并在正文末尾注明过时原因和当前最新版本。"
3. AI 逐页检查 → 报告发现
4. 你确认 → AI 更新 → commit
十二、维护策略
| 频率 | 操作 | 时间 | 命令/做法 |
|---|---|---|---|
| 每天 | 写日记(三五句话) | 3 分钟 | 打开 Obsidian,点 Daily Note |
| 每周 | 编译 raw/ 里的新素材 | 10 分钟 | 打开终端,cd 到知识库目录,启动 claude,说"编译本周 raw/ 里的新文件" |
| 每月 | 检查有没有已确认的项目经验可以升级到 wiki | 10 分钟 | 扫描 projects/*/issues.md 中有 >>> 建议升级 标记的 |
| 每季度 | 知识防腐检查 | 15 分钟 | "扫描 updated > 3 个月的 wiki 页面" |
| 需要时 | 开发中查知识 | 30 秒 | 在项目目录下问 Claude Code |
最重要的习惯:不是"每天维护",而是"遇到就记"。看到好文章 → 扔 raw/。踩了坑 → 说"记一下"。周末再统一处理。
以上是日常使用和维护的全流程。下面是一些你可能会遇到的问题。
十三、常见问题
Q:要不要装 Claudian 插件?
A:装。 已在第八步的必装列表中。Claudian 在 Obsidian 内部嵌入终端,Ctrl+Shift+Enter 就能在当前笔记位置打开 Claude Code,不用切换到外部 PowerShell。花叔橙皮书 第8节 列为"强烈推荐"。
Q:要不要装 obsidian-skills?
A:不需要单独装。 你的 CLAUDE.md + SCHEMA.md + GLOSSARY.md 已经定义了 AI 需要的全部 Obsidian 知识(wikilink 语法、callout 格式、frontmatter 规范)。这些配置文件本身就是"skill",比通用 obsidian-skills 更精准地匹配你自己的知识库。
Q:Obsidian 插件装哪些?
A:7 个。 详见第八步。核心插件 4 个(Templates、Daily Notes、Quick Switcher、Command Palette),社区插件 3 个(Git、Dataview、Claudian)。全装,不需要分批。
Q:我的知识库能换到 CodeX 用吗?
A:能。 wiki/ 里的 Markdown 文件是通用的。把 CLAUDE.md 翻译成 AGENTS.md 格式就行。这是 agent-brain 项目验证过的------它同时维护 .claude/commands/ 和 .agents/skills/ 两套。成本不高。
Q:知识库能存 PDF 吗?
A:不能直接存。 把 PDF 里的关键内容摘录成 Markdown,存到 raw/。原始 PDF 放在 vault 外面。花叔 第5节 原则一:"vault 里只存 Markdown,这是底线。"
Q:这套系统三个月后会不会荒废?
A:取决于你。 5 个角色一致认为"维护惯性断裂"是最大死因。这个方案已经把维护成本降到最低------3 条规则、不用 INDEX.md、靠 Grep 搜索、被动积累。但最低不等于零。如果你连续两周不喂素材、不查知识库,它就会慢慢变成另一个"硬盘里的文件夹"。
防止荒废的 3 个技巧:
- 从你最痛的点开始:最近哪个技术问题反复遇到?那就是第一个要编译的 wiki 页面
- 把"存到 raw/"变成肌肉记忆:看到好文章的第一反应不是收藏到浏览器,而是剪藏到 raw/
- 不看数量看质量:10 篇高质量 wiki 页面 > 100 篇随便编译的页面
Q:如果 AI 编译的内容写错了怎么办?
A:三步:
- 在 Claude Code 里直接说哪里错了、怎么改
- 如果 AI 反复犯同样的错 → 在 CLAUDE.md 里加一条规则
- 如果改坏了回不去 →
git diff看改了什么,git revert回滚
十四、设计决策记录
本节记录的是 第二章"为什么这么设计"中未涵盖的基础设施级决策。关于知识组织方式(搜索策略、编译方式、规则数量等)的设计原理已在 第二章 详述。
| 决策 | 选择了 | 而不是 | 原因 |
|---|---|---|---|
| AI 引擎 | Claude Code | CodeX / Cursor | 你已经在用。Claude Code 对 Markdown 文件系统的原生读写能力最强 |
| 知识容器 | Obsidian(纯 Markdown 文件夹) | Notion / 印象笔记 | Markdown 是 LLM 训练数据中最主要的格式之一,Token 效率最高。本地文件无供应商锁定 |
| 多知识库 | 按领域分开 | 全放一个 vault | 技术知识、写作知识、个人生活知识混在一起对 AI 是噪音。花叔 第9.4节 明确建议工作和个人分开 |
| 全局 vs 项目配置 | 全局只放身份,项目级放知识库引用 | 全局放全部规则 | 全局文件影响所有会话。换非技术项目时不想误触发知识库搜索 |
| 文件命名 | wiki 内文件用英文 kebab-case | 中文 / 混合 | 跨平台兼容------Windows/Mac 终端下都不需要切换输入法。Git 处理中文文件名偶有编码问题 |
附录:所有来源
本方案整合了以下资源的精华,并经过了 5 个批判性视角的交叉验证:
核心方法论:
- Andrej Karpathy --- LLM Wiki 原始 Gist
- 花叔 ---《Obsidian + Claude Code:用AI重建你的第二大脑》橙皮书
GitHub 开源项目(源码级分析):
- ballred/obsidian-claude-pkm(1.5k stars)
- chacosoldier/compabob
- Railly/agent-brain
- ayush488-glitch/my-secondbrain
- ekadetov/llm-wiki
社区文章:
- 知乎(4 篇)、掘金(4 篇)、阿里云开发者社区(2 篇)
- toolin.ai、B 站视频元数据
5 个批判视角:
- 唱反调者 / 第一性原理思考者 / 扩张主义者 / 局外人 / 执行者
最后一句:不要试图一上来就完美。花叔原话:"先写 100 条笔记再设计分类。" 你的知识库也一样------先用起来,再一点点改进。CLAUDE.md 是活的,每次 AI 犯一个错就加一条规则。三个月后回头看,它会变成一份非常精准的、独属于你的工作手册。
现在就开始:打开终端,跑第一步的命令。