主流归档方案调研与建议¶
结论:不存在单一主流方案可以治理整个 macOS 主目录。正确做法是分层采用不同成熟体系。
调研日期:2026-10-20
适用对象:~
状态:研究稿 V1.0
1. 调研范围¶
本调研覆盖五类方案。这样可同时处理行动状态、编号、记录治理、长期保存和平台约束。
| 类别 | 方案 |
|---|---|
| 个人整理 | PARA、GTD、Johnny.Decimal |
| 记录治理 | ISO 15489、NARA ERM Requirements |
| 数字保存 | OAIS、BagIt、NDSA Levels |
| 数据与文档 | FAIR、Diátaxis、Cornell 与 HKU 数据管理指南 |
| 平台与源码 | XDG、macOS 标准目录、Git worktree |
| 恢复 | 3-2-1 备份规则 |
2. 核心结论¶
- PARA 适合管理行动状态。
- Johnny.Decimal 适合稳定编号和索引。
- GTD 适合收件箱和定期复核。
- ISO 15489 适合记录治理原则。
- NARA ERM 适合记录生命周期。
- OAIS 适合定义长期保存模型。
- BagIt 适合形成可校验归档包。
- NDSA 适合评估保存能力。
- FAIR 适合数据和元数据复用。
- Diátaxis 适合文档内容架构。
- XDG 适合配置、数据、缓存分区。
- Git worktree 适合源码并行工作区。
- 3-2-1 适合备份,不适合归档。
3. 方案对照¶
| 方案 | 性质 | 核心思想 | 最佳用途 | 不能单独解决 |
|---|---|---|---|---|
PARA [1] |
个人方法 | 按当前行动状态分为项目、领域、资源、归档 | 文档生命周期 | 源码、工具、长期保存 |
GTD [4] |
个人方法 | 捕获、澄清、组织、反思、执行 | 收件箱和复核 | 目录层级、归档完整性 |
Johnny.Decimal [2][3] |
个人方法 | 唯一编号、区域、类别、索引 | 稳定地址 | 整个主目录、源码 |
ISO 15489 [5][6] |
国际标准 | 真实、可靠、完整、可用 | 记录治理 | 文件夹命名、软件布局 |
NARA ERM [7] |
政府指南 | 捕获、维护、处置、移交、元数据、报告 | 记录生命周期 | 日常分类体验 |
OAIS [9] |
参考模型 | 提交包、存档包、分发包 | 长期保存 | 桌面目录设计 |
BagIt [10] |
RFC 8493 | 数据、标签、清单、摘要 | 归档包封装 | 保留策略、元数据内容 |
NDSA [11] |
能力模型 | 存储、完整性、控制、元数据、内容 | 保存能力评估 | 文件分类 |
FAIR [12] |
数据原则 | 可发现、可访问、可互操作、可复用 | 数据和元数据 | 本地目录治理 |
Diátaxis [13] |
文档架构 | 教程、操作、参考、解释 | 知识库 | 文件和项目生命周期 |
XDG [14] |
平台规范 | 配置、数据、状态、缓存分离 | 用户目录边界 | 文档和项目分类 |
Git worktree [15] |
工具规范 | 一个仓库对应多个工作树 | 并行源码任务 | 文档归档 |
3-2-1 [18] |
备份规则 | 三份副本、两种介质、一份异地 | 灾难恢复 | 内容分类、保留期 |
4. 关键发现¶
4.1 PARA¶
PARA 有四个顶层类别:项目、领域、资源、归档。PARA 按行动状态组织,不按主题组织。
适用方式:
- 用于
Documents内部。 - 项目完成后进入全局
archive。 - 不把 PARA 扩展到源码、工具和系统目录。
局限:
- 项目与领域容易重叠。
- 归档容易变成堆放区。
- 不能提供摘要和长期校验。
4.2 GTD¶
GTD 的第一步是捕获。第二步是判断是否可行动。不可行动的内容进入丢弃、参考或暂缓。
适用方式:
Documents/inbox只做短期入口。- 每周清空收件箱。
- 每次判断行动、参考、归档或删除。
局限:
- GTD 不定义长期归档格式。
- GTD 不提供数据完整性机制。
4.3 Johnny.Decimal¶
Johnny.Decimal 使用区域、类别和唯一 ID。区域从 10-19 开始,类别使用两位数字,条目使用 AC.ID。
Johnny.Decimal 把 00-09 保留为系统管理区。标准零包括 .01 收件箱和 .09 归档。[3]
适用方式:
- 为项目、实验和归档单元分配唯一 ID。
- 建立总索引。
- 不在主目录根层复制整套十进制层级。
局限:
- 建立和维护索引有成本。
- 合并类别可能引起重排。
- 不适合
repo、tools和Library。
4.4 ISO 15489 与 NARA¶
ISO 15489-1:2016 关注记录的创建、捕获和管理。[5]
记录应保持四项特征:
- 真实性。
- 可靠性。
- 完整性。
- 可用性。
[6]
NARA ERM Requirements V3 把生命周期分为六段:
- 捕获。
- 维护和使用。
- 处置。
- 移交。
- 元数据。
- 报告。
[7]
适用方式:
- 定义归档责任。
- 定义保留期和处置条件。
- 保留操作日志。
- 记录元数据和来源。
局限:
- 这是治理框架,不是目录模板。
- 完整实施对个人环境过重。
4.5 OAIS、BagIt 与 NDSA¶
OAIS 把信息对象分为提交包、存档包和分发包。OAIS 还要求来源、固定性和真实性证据。[9]
BagIt 是 RFC 8493 定义的文件封装格式。BagIt 包含:
bagit.txtdata/bag-info.txt- 有效载荷清单。
- 标签文件清单。
- 加密摘要。
[10]
NDSA Levels 2.1 从五方面评估保存能力:
- 存储。
- 完整性。
- 控制。
- 元数据。
- 内容。
[11]
适用方式:
- 活跃项目结束时生成提交包。
- 提交包整理为 BagIt 存档包。
- 使用时生成分发副本。
- 每季度检查摘要和恢复能力。
4.6 数据管理与文档架构¶
HKU 建议目录层级控制在三至四层。HKU 还建议每层不超过十项。[16]
Cornell 建议顶层目录包含项目名、唯一标识和年份。Cornell 还建议每个逻辑数据集合编写 README。[17]
Diátaxis 把文档分为四类:
- 教程。
- 操作指南。
- 技术参考。
- 解释。
[13]
适用方式:
- 项目目录不再无限加深。
- 每个项目必须有 README。
- 知识库内部再按 Diátaxis 分类。
4.7 平台与源码¶
XDG 把配置、数据、状态和缓存分开。[14]
Git worktree 是同一仓库的附加工作树。worktree 不是独立仓库,也不是归档单元。[15]
适用方式:
.codex、.claude、.paseo和Library保持原位。repo只保存 Git 源码。- worktree 只保存并行任务状态。
- worktree 关闭前先保存提交或补丁。
5. 对上一版 00/10 方案的判断¶
上一版方案属于“数字前缀分类法”。它参考了 Johnny.Decimal 的外观,但没有完整采用其索引和标准零体系。
主要问题:
00、10、20、90混用了系统区、业务类别和归档区。- 编号表达的是主题,不是生命周期。
- 主目录根层同时使用了主题编号和系统目录名。
- 没有绑定唯一索引。
- 没有定义归档包和校验格式。
- 没有解决源码、工具、worktree 和备份问题。
结论:
- 数字前缀本身可以使用。
- 全套编号不应成为整个主目录的主结构。
- 只应在需要稳定标识的项目和归档单元中使用。
6. 建议的分层架构¶
| 层 | 采用方案 | 作用 |
|---|---|---|
| 平台层 | macOS 标准目录、XDG | 固定边界 |
| 来源层 | Git、包管理器 | 区分源码、工具和生成物 |
| 生命周期层 | PARA、GTD | 区分活跃、参考和归档 |
| 标识层 | Johnny.Decimal 的 ID 思想 | 提供稳定编号和索引 |
| 文档层 | Diátaxis | 区分文档职责 |
| 治理层 | ISO 15489、NARA | 定义保留、处置和审计 |
| 保存层 | OAIS、BagIt、NDSA | 封装、校验和保存能力 |
| 恢复层 | 3-2-1 | 建立独立备份 |
7. 推荐主目录边界¶
~/
├── Applications/ # macOS 应用
├── Desktop/ # 短期工作台
├── Documents/ # 活跃文档
├── Downloads/ # 入站隔离区
├── Library/ # 系统托管
├── Movies/
├── Music/
├── Pictures/
├── Public/
├── repo/ # Git 源码
├── workspace/ # 活跃非 Git 工作区
├── tools/ # 工具和 SDK
├── bin/ # 命令入口
├── archive/ # 长期归档
└── .*/ # 工具托管配置
根目录不再新增主题文件夹。
8. 推荐 Documents 结构¶
Documents/
├── inbox/ # 待分类
├── projects/ # 有完成条件的项目
├── areas/ # 长期责任
├── resources/ # 可复用知识
└── assets/ # 媒体和共享资产
规则:
inbox每周清空。projects只放当前项目。areas放持续职责,例如财务、健康、设备。resources放跨项目参考资料。assets放图片、音视频和共享附件。- 完成项目整体移入
archive。
9. 推荐标识¶
标识采用“类型、年份、序号、短名”格式。
规则:
- ID 一旦分配,不再改变。
- 标题可以修改,ID 不修改。
- 归档时沿用原项目 ID。
- 文件正文不能依赖目录层级传达关键信息。
- 每个项目必须有
README.md。
10. 推荐归档包¶
完成项目按 BagIt 形成存档包。
archive/
└── 2026/
└── PRJ-2026-001-covio/
├── bagit.txt
├── bag-info.txt
├── manifest-sha256.txt
├── tagmanifest-sha256.txt
└── data/
├── README.md
├── deliverables/
├── evidence/
└── metadata/
bag-info.txt 至少记录以下字段:
| 字段 | 内容 |
|---|---|
External-Identifier |
项目 ID |
Bagging-Date |
归档日期 |
Contact-Name |
责任人 |
Source-Organization |
个人或团队 |
Internal-Sender-Description |
来源路径 |
Bag-Group-Identifier |
所属主题或年度 |
Retention-Status |
permanent、review、destroy |
Review-Date |
下次复核日期 |
归档包只读。恢复时复制到 workspace。修改后生成新的分发副本。
11. 内容权威来源¶
| 内容 | 权威来源 | 归档方式 |
|---|---|---|
| 源码 | Git 仓库和提交 | 发布标签或源码包 |
| 构建产物 | CI 或本地构建 | 不归档,除非发布件 |
| 项目文档 | Documents/projects |
随项目进入 BagIt |
| 证据 | 项目证据目录 | 保留来源和摘要 |
| 工具 | 包管理器、安装器 | 记录版本和重装方法 |
| 配置 | 脱敏配置或 dotfiles | 秘密放 Keychain |
| 媒体 | Documents/assets |
随相关项目归档 |
| 数据集 | 项目目录 | README 加元数据 |
12. 运行时目录¶
repo/
├── Covio/
├── Lidsleep/
├── ObsidianVault/
├── kmp-translator/
└── _worktrees/
└── Covio/
└── task-156/
规则:
repo保持扁平。- 一个目录对应一个仓库。
- 不使用主题子目录重组现有仓库。
- 新 worktree 放入
repo/_worktrees/<repo>/<task>。 - 旧 worktree 用 Git 或 Paseo 工具管理。
- 清理 worktree 前检查未提交内容。
13. 当前基线¶
| 项目 | 观察值 |
|---|---|
repo 体积 |
18 GB |
| Covio worktree | 26 个 |
| 构建目录 | 11.16 GB |
Desktop |
1,042 个文件,412 MB |
Downloads |
5,657 个文件,6.5 GB |
| Time Machine | 无目标 |
repo 无 Git 目录 |
2 个 |
| 根目录独立项目 | 10 个以上 |
14. 实施原则¶
- 先建立备份。
- 再建立规则。
- 然后建立清单。
- 先试运行,后迁移。
- 每批只移动一类对象。
- 每批保留摘要。
- 不手工移动 worktree。
- 不归档生成物。
- 不把归档当备份。
- 删除前保留审批记录。
15. 已采用决策¶
以下四项已于 2026-10-20 采用。
| 决策 | 推荐选项 |
|---|---|
| 主目录根层 | 保留 repo、tools、bin,新增 workspace、archive |
| Documents 分类 | PARA 适配版:inbox、projects、areas、resources、assets |
| 标识格式 | PRJ-YYYY-NNN-slug |
| 归档格式 | BagIt 加 SHA-256 |
16. 调研来源¶
- Tiago Forte, “The PARA Method”, updated 2026-04-15. https://fortelabs.com/blog/para/
- Johnny.Decimal, “Introduction”. https://johnnydecimal.com/documentation/introduction
- Johnny.Decimal, “The standard zeros”. https://johnnydecimal.com/documentation/the-standard-zeros
- Getting Things Done, “What is GTD?”. https://gettingthingsdone.com/what-is-gtd/
- ISO, “ISO 15489-1:2016 Records management”. https://www.iso.org/standard/62542.html
- Digital Curation Centre, “ISO 15489”. https://www.dcc.ac.uk/guidance/briefing-papers/standards-watch-papers/iso-15489
- U.S. National Archives, “Universal ERM Requirements V3”. https://www.archives.gov/records-mgmt/policy/universalermrequirements
- The National Archives UK, “Policy and process”. https://www.nationalarchives.gov.uk/information-management/manage-information/policy-process/
- CCSDS, “Reference Model for an Open Archival Information System”, CCSDS 650.0-M-3, 2024; ISO 14721:2025. https://ccsds.org/Pubs/650x0m3.pdf
- RFC 8493, “The BagIt File Packaging Format V1.0”. https://www.rfc-editor.org/rfc/rfc8493.html
- NDSA, “Levels of Digital Preservation V2.1”, March 2026. https://ndsa.org/publications/levels-of-digital-preservation/
- GO FAIR, “FAIR Principles”. https://www.go-fair.org/fair-principles/
- Diátaxis. https://diataxis.fr/
- freedesktop.org, “XDG Base Directory Specification”. https://specifications.freedesktop.org/basedir-spec/latest/
- Git, “git-worktree Documentation”. https://git-scm.com/docs/git-worktree
- University of Hong Kong, “Research Data Management: Data Organization”, updated 2026-06-18. https://libguides.lib.hku.hk/rdm/organize
- Cornell Data Services, “File management” and “Writing READMEs for Research Data”. https://data.research.cornell.edu/file-management/
- CISA, “Back Up Business Data”. https://www.cisa.gov/audiences/small-and-medium-businesses/secure-your-business/back-up-business-data
- Apple, “File System Programming Guide”. https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html