重新规划我的 Obsidian:让知识、项目和工程资产各归其位

作者:Felix(Haro 协作整理)

最近我重新整理了一次自己的 Obsidian 知识库。与其说这是一次“目录调整”,不如说是一次知识管理边界的重新定义:哪些内容应该进入 Obsidian,哪些应该留在开发目录、Git、PLM 或其他资产系统里?

我以前也会把笔记、项目资料、临时想法放进 Obsidian,但结构并不完全稳定。尤其当事情涉及研发项目时,一个项目往往同时包含软件、硬件、固件、测试、交付物、PLM 流程和后续维护记录。如果没有一套清晰规则,知识库很容易变成另一个混乱的文件夹。

这次整理后,我给 Obsidian 定了一个更明确的角色:

Obsidian 是项目大脑和知识连接层,不是工程资产仓库。

一、先明确 Obsidian 的职责

我希望 Obsidian 负责的是“可读、可理解、可追溯”的内容,而不是把所有文件都复制进去。

适合放进 Obsidian 的内容包括:

  • 项目说明
  • 需求和方案
  • 交付清单
  • 测试结论
  • 问题复盘
  • 操作步骤
  • 发布记录
  • 会议纪要
  • 关键决策
  • 工程资产的路径、版本、commit、状态索引

不适合直接放进 Obsidian 的内容包括:

  • 代码工程
  • Keil / VSCode 工程
  • KiCad / Altium 工程
  • 固件产物
  • Gerber
  • CAD 文件
  • 二进制文件
  • zip 压缩包和大型附件

这些工程资产应该继续待在开发目录、Git、PLM、NAS 或正式发布目录里。Obsidian 只负责记录它们在哪里、是什么版本、当前状态如何、为什么这样做。

这个边界很重要。否则 Obsidian 很容易从“知识库”变成“大杂烩同步盘”。

二、整体结构:不是只为 Projects 服务

这次规划不是单独整理 Projects,而是重新确认整个知识库的分工。

目前我采用的是接近 PARA 的结构:

00_Inbox/
01_Projects/
02_Areas/
03_Resources/
04_Lab/
05_Archive/
98_Attachments/
99_Templates/

每个区域有自己的职责:

  • 00_Inbox:临时想法、待整理内容
  • 01_Projects:有明确目标、交付物、状态推进的项目
  • 02_Areas:长期维护的职责、系统、习惯和工作流
  • 03_Resources:跨项目可复用的知识资料
  • 04_Lab:实验、测量、调试、板卡、器件记录
  • 05_Archive:完成、失效或不再活跃的内容
  • 98_Attachments:附件集中存放
  • 99_Templates:模板和结构约定

这样做的核心不是“目录好看”,而是让每类信息有稳定归宿。

三、Projects:按项目本体组织,而不是按领域拆开

Projects 是这次调整里最明显的一块。

以前很容易自然地把项目拆成:

01_Projects/
  Software/
  Firmware/
  Hardware/

但真实项目经常不是这样。比如一个烧录器项目,可能同时包含硬件烧录板、MCU 固件、Keil 调试环境、BOM、Gerber、测试记录、交付清单和样机状态。它到底应该放在 Hardware、Firmware 还是 Software?

如果按领域拆,项目上下文就会被人为割裂。

所以现在 Projects 的一级目录只放真实项目:

01_Projects/
  Project-Name/

项目内部再按需要建立树状结构:

01_Projects/
  Project-Name/
    README.md
    Deliverables/
    Hardware/
    Firmware/
    Software/
    PLM/
    Lab/
    Logs/

这里的 HardwareFirmwareSoftware 不是一级分类,而是某个项目内部的子上下文。这样,一个项目仍然是一个整体,但里面不同类型的内容也有清楚的位置。

四、Resources 和 Lab:区分“知识”和“记录”

除了 Projects,另外两个重要区域是 Resources 和 Lab。

03_Resources 放的是可复用知识。比如:

  • 通用 KiCad 规则
  • HPMicro 调试方法
  • Linux 命令
  • 编程语言经验
  • 工具使用方法

这些内容不属于某一个项目,而是以后很多项目都可能复用。

04_Lab 放的是实验、测量和调试记录。比如:

  • 某次板卡 bring-up
  • 器件测试
  • 仪器测量方法
  • Debug log
  • 可横向比较的实验数据

如果某条实验记录只和一个项目强绑定,可以放在项目内部的 Lab/。如果它可能复用或需要跨项目比较,就放到全局 04_Lab/,再从项目页建立链接。

原则是:

原始记录只放一处,其他地方用链接连接。

五、用一个真实项目验证结构

为了验证这套结构,我拿一个完整工程做了试整理:SPI Flash 加密烧录器。

这个项目包含:

  • 硬件烧录板
  • STM32/GD32 F103 固件
  • Keil/J-Link 调试环境
  • 加密方法说明
  • Gerber 和 BOM
  • 交付清单
  • 样机和转接座交付记录

我没有把完整工程复制进 Obsidian,而是在 Obsidian 里建立项目入口:

01_Projects/SPI Flash 加密烧录器/
  README.md
  Deliverables/README.md
  Firmware/README.md
  Hardware/README.md
  Lab/README.md
  Logs/README.md

工程本体仍然以本机开发路径为准。Obsidian 负责记录这个项目是什么、有哪些交付物、工程文件在哪里、目前有哪些已知问题、下一步该做什么。

这样整理后,查项目时不需要先判断它属于软件还是硬件。它就是一个完整项目,所有上下文从项目入口进入。

六、模板不是束缚,而是降低维护成本

这次我也整理了项目模板。

模板的目的不是要求每个项目都长得一样,更不是为了把目录填满。相反,模板只是提醒我:一个项目可能需要哪些信息。

如果某个项目没有硬件,就不需要建 Hardware/。如果没有 PLM 内容,也不需要建 PLM/。但是当项目真的变复杂时,结构已经有预留位置,不需要临时乱放。

好的模板应该降低维护成本,而不是制造新的负担。

七、这次规划后的收获

这次整理之后,我对 Obsidian 的使用边界更清楚了:

  1. Obsidian 管说明、决策、索引和上下文。
  2. 开发文件留在开发系统里。
  3. Projects 按项目目标组织,不按软件/硬件/固件拆开。
  4. Resources 沉淀跨项目知识。
  5. Lab 保存实验、测量和调试记录。
  6. 大文件和正式资产只做引用,不直接塞进知识库。

最终我希望形成的是一个长期可维护的知识系统,而不是一个短期看起来很整齐、过几个月又失控的目录结构。

小结

这次 Obsidian 整理给我的最大感受是:知识库真正重要的不是目录数量,而是边界清楚。

什么是项目?什么是知识?什么是实验记录?什么是工程资产?这些边界想清楚之后,Obsidian 才能稳定地发挥作用。

我现在比较满意的一条总结是:

项目按目标组织,知识按领域沉淀,资产按系统存放,Obsidian 负责连接它们。

这可能也是我后续继续维护个人知识库时最核心的一条规则。