用 Obsidian 给 Claude Code 装上本地知识库:30分钟从零搭建
你用 Claude Code 写代码时有没有遇到过这些问题“帮我重构这个模块”——但 Claude Code 不知道你项目的架构决策历史“这个 API 的调用规范是什么”——答案散落在三份不同的文档里“上次我们讨论的方案结论是什么”——翻了一堆聊天记录也找不到Claude Code 很强但它每次对话都是失忆的。它不知道你的项目经历了什么决策、踩过什么坑、积累过什么经验。解决方法很简单建一个本地知识库让 Claude Code 每次启动都能读取你的记忆。本文用 3 步完成Obsidian 搭建知识库 → obsidian-markitdown 插件导入现有文档 → 配置 CLAUDE.md 让 Claude Code 自动读取。一、整体思路┌─────────────────────────────────────────────┐ │ Claude Code编码时 │ │ 启动时自动读取 CLAUDE.md 项目知识库 │ ├─────────────────────────────────────────────┤ │ Obsidian知识管理 │ │ Markdown 文件 双向链接 标签检索 │ ├─────────────────────────────────────────────┤ │ obsidian-markitdown导入 │ │ Word/Excel/PPT/PDF → Markdown 一键转换 │ └─────────────────────────────────────────────┘核心逻辑Claude Code 启动时会自动读取项目目录下的CLAUDE.md文件。你只需要把知识库放在项目目录里在CLAUDE.md中告诉 Claude Code 去哪里找信息。二、Obsidian 知识库搭建2.1 安装平台安装方式Windows官网下载 .exe 安装包或winget install Obsidian.ObsidianmacOS官网下载 .dmg或brew install --cask obsidianLinux官网下载 .AppImage或sudo snap install obsidian --classic下载地址obsidian.md2.2 创建知识库安装后打开 Obsidian → “创建新库Create new vault” → 选择一个本地文件夹作为存储路径。Vault 本质上就是一个普通文件夹里面全是.md文件。用任何文本编辑器都能打开Claude Code 也能直接读取。2.3 文件夹结构设计knowledge-base/ ├── 00-Inbox/ # 待整理的素材 ├── 01-Architecture/ # 架构决策记录ADR ├── 02-APIs/ # API 文档、接口规范 ├── 03-TechNotes/ # 技术调研笔记 ├── 04-Solutions/ # 问题解决方案、踩坑记录 ├── 05-References/ # 参考资料 └── CLAUDE.md # Claude Code 配置关键2.4 必装插件在 Obsidian → Settings → Community Plugins → Browse 中搜索安装插件用途MarkitdownOffice 文档转 Markdown核心Dataview用 SQL 语法查询笔记库Templater高级模板自动填充日期、标签三、导入现有文档obsidian-markitdown 插件你手头可能已经有大量 Word、Excel、PPT 格式的技术文档、方案评审、API 规范。用 obsidian-markitdown 插件可以在 Obsidian 内直接转换不需要打开终端。3.1 安装插件Obsidian → Settings → Community Plugins → Browse → 搜索Markitdown→ Install → Enable插件会自动检测 Python 环境。如果没有 Python平台安装 PythonWindowswinget install Python.Python.3.12或从 python.org 下载macOSbrew install python3.12或从官网下载Linuxsudo apt install python3 python3-pipUbuntu/Debian首次启用插件时会提示安装 markitdown Python 包点确认即可底层调用的是微软官方的 markitdown 工具专为 Office 格式优化。3.2 支持的格式格式说明Word (.docx)微软自家解析格式保留最完整Excel (.xlsx / .xls)直接输出 Markdown 表格PowerPoint (.pptx)提取幻灯片结构文本PDF内置解析支持 OCR 提取图片文字图片自动 OCR 提取图片中的文字HTML / CSV / JSON / XML文本类格式直接转换3.3 使用方式单个文件命令面板CtrlP/CmdP→ 「Convert file to Markdown with Markitdown」→ 选择文件 → Convert拖拽直接把文件从文件管理器拖进 Obsidian 编辑器自动转换并插入链接整个文件夹命令面板 → 「Convert folder to Markdown」→ 选择文件夹 → 勾选「Include subfolders」→ Convert3.4 推荐设置在 Settings → Markitdown 中建议调整Output Folder改为00-InboxAuto Frontmatter打开自动添加 YAML 元数据Auto Tags填入常用标签如import, referenceExtract Images打开自动提取嵌入图片四、让 Claude Code 读取你的知识库知识库搭好了关键一步让 Claude Code 知道这些知识的存在。4.1 CLAUDE.md 配置文件在知识库根目录也就是你的项目目录创建CLAUDE.md# 项目知识库 ## 知识库位置 项目技术知识库位于 knowledge-base/ 目录包含架构决策、API 文档、技术调研和解决方案。 ## 知识库结构 - knowledge-base/01-Architecture/ — 架构决策记录每个决策一个文件 - knowledge-base/02-APIs/ — API 接口文档和调用规范 - knowledge-base/03-TechNotes/ — 技术调研笔记 - knowledge-base/04-Solutions/ — 踩坑记录和解决方案 ## 使用规则 - 涉及架构决策时先查阅 01-Architecture/ 了解历史决策背景 - 编写 API 调用代码时参考 02-APIs/ 中的规范 - 遇到技术选型问题先看 03-TechNotes/ 是否已有调研 - 遇到 bug 或报错先查 04-Solutions/ 是否有记录Claude Code 启动时会自动读取这个文件。当你问它问题时它会根据指引去查阅相关文档。4.2 实际效果对比没有知识库时 帮我写一个调用支付接口的函数Claude Code 会基于通用知识写一个看起来对的函数——但它不知道你们用的是支付宝还是微信支付不知道签名规则不知道回调地址配置在哪。有知识库时 帮我写一个调用支付接口的函数Claude Code 会自动去02-APIs/查阅你们项目的支付接口文档写出符合你们规范的代码——包括正确的签名算法、错误处理、回调格式。4.3 知识库该放什么不是所有东西都需要进知识库。推荐只放会反复被查阅、影响编码决策的信息放进知识库不需要放架构决策记录为什么选A不选B临时调试日志API 接口规范和调用示例一次性运行的脚本技术选型调研结论已过时的方案踩坑记录和解决方案代码本身Claude Code 能直接读业务规则说明聊天记录关键原则放结论和决策不放过程和流水账。五、日常维护让知识库保持有用知识库最怕的不是建不起来而是建了没人用。两个习惯让知识库持续产生价值习惯一踩坑后立即记录在 Obsidian 中打开04-Solutions/新建一条笔记--- title: React Native iOS 打包报错 DT_TOOLCHAIN_DIR date: 2026-04-27 tags: [react-native, ios, build] --- ## 问题 React Native 打包 iOS 时报错 DT_TOOLCHAIN_DIR cannot be used to evaluate PRODUCT_BUNDLE_IDENTIFIER ## 原因 Xcode 版本升级后环境变量变化 ## 解决方案 在 Podfile 顶部添加 post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings[IPHONEOS_DEPLOYMENT_TARGET] 14.0 end end end下次 Claude Code 遇到同样的问题它会直接找到这条记录。习惯二重要决策写 ADR架构决策记录Architecture Decision Record是最有价值的知识。模板--- title: ADR-005: 状态管理从 Redux 迁移到 Zustand date: 2026-04-27 tags: [adr, frontend, state-management] status: accepted --- ## 背景 Redux 在当前项目中导致样板代码过多新成员上手成本高。 ## 决策 迁移到 Zustand保持 store 结构不变。 ## 理由 - 代码量减少约 60% - TypeScript 类型推断更好 - 学习成本低API 更直觉 ## 影响 - 需要逐步替换现有 23 个 Redux slice - 中间件thunk替换为 Zustand 自带的 async actions六、总结组件职责成本Obsidian本地知识库编辑和检索免费obsidian-markitdown现有文档一键转 Markdown免费CLAUDE.md让 Claude Code 自动读取知识库免费30分钟启动路径安装 Obsidian → 创建 Vault → 建好文件夹结构安装 Markitdown 插件 → 把现有的技术文档拖进去转换在项目根目录写一个 CLAUDE.md → 告诉 Claude Code 知识库在哪下次用 Claude Code 写代码时它就能记住你的项目知识了知识库不是写给 AI 看的是写给你自己看的。只是恰好 Claude Code 也能读懂 Markdown——所以你整理的每一条知识都在让 AI 写的代码更贴合你的项目。