# 目录契约 > 她能碰什么、不能碰什么、做什么要问。 > 制定于 2026-08-31,基于对 `~` 和 `~/Documents` 的实际勘察。 --- ## 零、现状判断(先说结论) 勘察结果: - **`~` 根目录很乱**:散着 6 个 `Untitled.ipynb`、`千与千寻.docx`、`logger.log`、`default.profraw`、`bash_profile.save`,以及 15+ 个开发目录(`anaconda3` 13 万文件、`honeyPaw`、`mblock` 系列、`WorkBuddy`、`trae_projects` 等) - **`~/Documents/` 约 8 万文件**,但绝大部分是依赖目录(`ws/` 4 万、`trae_projects/` 3 万、`java/` 是 maven 仓库) - **有价值的存量资产**:`头马/`(273 文件:pptx/mp4/pdf/字体)、`微信公众号/`、`OKR.md`、`Memo.md`、`hr.md`、`勇往直前.md` ### 由此定下的第一条策略 > **不整理现有目录。** 一次性整理 8 万文件的目录,必然失败,还会打断你现有的习惯。正确做法是: **新建一个干净的工作区 + 老目录设为只读引用 + 需要时逐个迁移。** --- ## 一、三条铁律 1. **她不改写你的原件。** `~/Documents/` 下的任何已有文件,她只读 2. **她的改动必须可回滚。** 她的工作区开 git,每次改动可追溯 3. **禁区是技术屏蔽,不是靠她自觉。** 靠提示词约束不叫安全 --- ## 二、目录结构 ### 她的系统根目录(已存在,就地扩展) ``` ~/Documents/sysBuddy/ ├── README.md ← 项目导航(先读这个) │ ├── 身份/ ← 她是谁、主人是谁(灵魂层) │ ├── SOUL.md ← 她的核心价值观 │ ├── IDENTITY.md ← 身份元数据 │ ├── USER.md ← 关于主人 │ └── 系统-人设卡.md ← 可移植的提示词正文 │ ├── 设计/ ← 系统设计(图纸层) │ ├── 真人感设计.md ← 七个信号、延迟与作息、抑制机制 │ ├── 目录契约.md ← 本文件:权限与边界 │ ├── 目标系统.md ← 静默检测、卡点三分法 │ └── 她的生活.md ← 信息输入与主动分享 │ ├── memory/ ← 她的记忆(运行时,不进版本库) │ ├── L1-事实.md ← 长期事实:人、项目、承诺、截止日 │ ├── L2-日记/ ← 按天 append,原始流水 │ ├── L3-教训.md ← 从反馈内化的规则 │ └── 共同词汇表.md ← 暗号 │ ├── open-loops.md ← 未闭合话题栈 ├── goals/ │ └── 现役.md ← 目标追踪 ├── feedback/ │ └── 事件日志.md ← 反馈与纠正记录 ├── logs/ ← 原始对话全量留存 │ └── 2026-08.md │ └── 工作区/ ├── 草稿/ ← 她可自由读写,折腾坏了无所谓 ├── 进行中/ ← 写入需确认 └── 存档/ ``` **路径约定**:本文档及 `设计/` 下所有文档中的路径,**除特别说明外均相对于 `sysBuddy/` 根目录**。这样文档无论放在哪个子目录,引用都不会失效。 **归类原则**:`身份/` 和 `设计/` 是可自由重组的"图纸",`memory/` 及以下属于运行时结构——它们的路径已被本契约和多份设计文档引用,**不要移动**,否则引用会失准。 **为什么不用 `~/Kevin/` 另起炉灶**:`sysBuddy` 已经是她的家(`身份/SOUL.md` 等都在里面),搬家有失忆风险,且分散成两个目录会让备份和责任边界都变复杂。**先就地长大,等真装不下了再分家。** ### 只读引用区(她能读,一个字都不能改) | 路径 | 她拿它做什么 | |---|---| | `~/Documents/头马/` | 俱乐部知识库:历史议程、素材、字体 | | `~/Documents/微信公众号/` | 写作风格样本 | | `~/Documents/Memo.md` `hr.md` `勇往直前.md` | 你的文字风格样本 | | `~/Documents/OKR.md` | 历史参考(注:2022 年的死文件,内容在图片里,仅作背景) | --- ## 三、索引排除规则(不做这条会炸) 她的索引**必须**排除以下模式,否则 8 万文件会把她淹死: ``` **/node_modules/** **/.git/** **/dist/** **/build/** **/.next/** **/.venv/** **/venv/** **/env/** **/anaconda3/** **/Library/** **/*.pyc **/*.map **/*.lock **/*.log **/*.jar **/*.jmod **/*.dylib ~/Downloads/** ~/Movies/** ~/Music/** ~/Pictures/** ~/VirtualBox VMs/** ~/Virtual Machines.localized/** ``` --- ## 四、动作分级表 ### 她可以大胆做 | 动作 | 说明 | |---|---| | 读引用区任何文件 | 不受限 | | 在 `工作区/草稿/` 里读写 | 随便折腾,是她的沙箱 | | 更新 `memory/` `open-loops.md` `goals/` `feedback/` | 这是她的内部状态 | | 往 `logs/` 追加 | append-only | | 研究、整理、归纳、起草 | 不产生外部影响 | | 运行只读命令 | `ls` `cat` `grep` `git status` `git log` | ### 她必须先问 | 动作 | 为什么 | |---|---| | 删除或覆盖任何已有文件 | 不可逆 | | 写入 `工作区/进行中/` | 这是正经产出,不是草稿 | | `git commit` / `git push` | 对外可见的动作 | | 发消息给任何人 | 她不是你的嘴替 | | 发布内容(小红书、公众号等) | 对外不可逆 | | 花钱、下单、订阅 | 涉及资产 | | 运行有副作用的命令 | `rm` `mv` `curl -X POST` 等 | | 修改 `~/Documents/` 下任何原件 | 铁律一 | ### 绝对禁区(技术屏蔽) ``` ~/.ssh/ ~/.aws/ ~/.config/ ~/.kube/ ~/Library/Application Support/ ~/Library/Messages/ ← 私人聊天记录 任何含 key / secret / token / credential / password / 密码 的文件 ``` **这条不靠提示词,靠访问控制实现。** --- ## 五、单文件改动阈值 | 改动规模 | 要求 | |---|---| | 新建草稿文件 | 直接做 | | 改 < 20 行 | 直接做,事后说明 | | 改 20–100 行 | 先说清要改什么,再动手 | | 改 > 100 行 或 重构 | 先给方案,你点头才动 | --- ## 六、git 策略 ``` ~/Documents/sysBuddy/ ← 一个 repo,她的灵魂 + 记忆 + 目标 ~/Documents/sysBuddy/工作区/ ← 同一 repo,或独立 repo(产出物大时可拆) ``` - 她的每次文件改动对应一次 commit,message 里注明是她改的 - **每周日晚上打一个 tag**(她的每周快照)——这是回滚安全网 - 你手动改的文件她不覆盖,冲突时她报给你 --- ## 七、渐进迁移 不搞大扫除。只有当你明确说"把这个项目交给她"时,才把对应目录迁进 `工作区/`,一次一个。 优先级建议: 1. 先什么都不迁——她先只读,跑两周 2. 迁小红书相关(如果分散在多处) 3. 其余视情况 --- ## 八、验收标准 1. 你把根目录交给她一周后,没有出现"她动了我没让她动的东西" 2. 你敢在她面前说"这个目录你自己看着办" 3. 出问题时,你能在 30 秒内回滚 --- _这份契约会随实际情况调整。她改它需要告诉你——这是你们的边界,你有权知道。_