Claude Code 很强大,但它会忘记。
每次 session 从零开始——没有你的目标、团队、模式、成绩的上下文。你重复解释同样的事情。三次对话前做出的决定丢了。知识永远不积累。
解决方案:给 Claude 一个大脑
Obsidian Mind 是一个 Obsidian vault 模板,让 Claude Code 记住一切。每个对话都建立在上一个的基础上。
你只需要正常说话,hook 自动处理路由。
核心设计原则
文件夹按目的分组,链接按含义分组。 一个笔记住在某个文件夹(它的家),但可以链接到很多笔记(它的上下文)。Claude 自动维护这个图——把工作笔记和人员、决策、能力自动关联起来。复习季来的时候,每个能力笔记的 backlink 就是证据链。一个没有链接的笔记是一个 bug。
Vault-first memory 让上下文跨 session 和机器持久化。所有持久知识住在 brain/ 主题笔记里(git 跟踪、Obsidian 可浏览、可链接)。Claude Code 的 MEMORY.md 是一个自动加载的索引,指向 vault 里的位置——而不是存储本身。这意味着记忆不受机器更换影响,并且是知识图谱的一部分。
5 个 Session 生命周期 Hook
这套系统的核心是一个 285 行的 CLAUDE.md,governs 所有行为。配合 5 个 hook 自动路由:
| Hook | 时机 | 行为 |
|---|---|---|
| 🚀 SessionStart | 启动/恢复时 | 加载北极星、活跃项目、近期变化、任务、文件列表 |
| 💬 UserPromptSubmit | 每条消息 | 分类内容(决策/incident/成就/1:1/架构/人)并注入路由提示 |
| ✍️ PostToolUse | 写完 .md 后 | 验证 frontmatter、检查 wikilinks、验证文件夹位置 |
| 💾 PreCompact | 上下文压缩前 | 把 session transcript 备份到 thinking/session-logs/ |
| 🏁 Stop | session 结束时 | 归档已完成项目、更新索引、检查孤儿笔记 |
你只需要正常说话,hook 自动处理路由。
命令体系
.claude/commands/ 里定义了一系列命令:
/standup— 早晨启动,加载上下文,审查昨天任务,建议优先事项/dump— 自由形式捕获,对任何事自然说话,Claude 自动路由到正确笔记/wrap-up— session 结束验证:笔记完整性、索引更新、链接检查、发现未捕获的成就/weekly— 跨 session 综合:北极星对齐、模式分析、未捕获成就、下周优先项/capture-1on1— 把 1:1 会议录音抓取为结构化 vault 笔记/incident-capture— 从 Slack 抓取 incident,建立完整时间线和根因分析/vault-audit— 检查孤儿笔记、断链、陈旧内容/review-brief— 生成复习 brief(manager 或 peer 版),所有证据已链接好
Subagent 子 Agent
在隔离 context window 里运行,不污染主对话:
brag-spotter— 发现未捕获的成就和能力差距context-loader— 加载关于某人、项目或概念的完整 vault 上下文cross-linker— 找到缺失的 wikilinks、孤儿笔记、断链
关键价值
这个 vault 模板的本质是把"个人知识管理"从概念变成 Claude Code 的内置行为。你不需要手动维护索引——每次说 "wrap up",Claude 自动更新。你不需要记住把东西放哪——hook 在你说话的时候就路由好了。
你只管说话,系统自动积累。
Obsidian Mind 验证了一个判断——Claude Code 的记忆问题不是靠更好的 prompt 能解决的,是靠外部存储 + 自动化工作流。这个模板的 hook 设计很值得参考:SessionStart 是最重要的,因为 session 开始时的上下文质量决定了整场的输出质量。如果你在做个人 AI 记忆系统,先把"进入 session 时加载什么"想清楚,比研究任何高级特性都重要。