# 文件同步矩阵 · 仓库 ↔ Gitea ↔ NAS 容器(小橙) > 本文件回答三个问题: > 1. 当前仓库里哪些东西**要给 Gitea 做版本管理**? > 2. 哪些东西**要给 NAS 容器里的小橙**使用? > 3. 哪些东西**只在本地**,两边都不给? --- ## 一、三层存储模型 ``` ┌───────────────────────────────┐ │ 本地 Windows (w:\ProRepo\...)│ ← 你的工作主场 └──────────┬──────────┬─────────┘ │ │ │ git push │ rsync / scp ▼ ▼ ┌────────┐ ┌──────────────────────────────────┐ │ Gitea │ │ NAS 容器 openclaw │ │ (版本) │ │ /home/node/.openclaw/workspace/ │ └────────┘ └──────────────────────────────────┘ ``` | 存储位置 | 角色 | 读者 | |---------|-----|------| | **本地 w:\\ProRepo\\NASOpenClaw** | 主源;你用编辑器日常编辑 | Tyrone | | **Gitea 192.168.0.130:3000** | 版本备份、历史回滚、多设备同步 | Tyrone(私有) | | **NAS 容器 openclaw** | 小橙的运行时"意识" | 小橙(AI) | --- ## 二、当前仓库顶层文件分类 | 路径 | 进 Gitea? | 给小橙? | 说明 | |------|----------|---------|------| | `docs/` | ✅ 是 | ❌ 否 | 文档(运维手册等);小橙不需要知道自己怎么被部署 | | `docs/OpenClaw-DS925-运维手册.md` | ✅ 是 | ❌ 否 | 给 Tyrone 查运维步骤 | | `raw/marketing/` | ✅ 是 | ❌ 否 | 营销原件(推广计划、获客手册等);已提炼到 `workspace/`,小橙有提炼版就够 | | `raw/cases/` | ✅ 是 | ❌ 否 | 案例原件(PPT);已提炼到 `workspace/products/cases-library.md` | | `raw/references/` | ✅ 是 | ❌ 否 | 参考样稿;已提炼到 `workspace/brand/voice-style.md` | | `workspace/` | ✅ 是 | ✅ 是 | **小橙的大脑与素材库**,整个目录都要给小橙 | | `SYNC.md` | ✅ 是 | ❌ 否 | 同步配置元信息 | | `.git/` / `.windsurf/` | ❌ 否(Git 自管) | ❌ 否 | 工具目录 | **一句话答**:**只有 `workspace/` 整个目录需要给小橙**;`raw/` 和 `docs/` 是你的原始素材和文档,只做本地存档 + Git 版本管理。 --- ## 三、`workspace/` 子目录详细分类 | 子路径 | 进 Gitea? | 给小橙? | 说明 | |------|----------|---------|------| | `SOUL.md` / `IDENTITY.md` / `USER.md` / `BOOTSTRAP.md` / `HEARTBEAT.md` / `AGENTS.md` / `TOOLS.md` / `README.md` | ✅ | ✅ | 小橙"开机"读这套 | | `brand/voice-style.md` | ✅ | ✅ | 风格与资质引用规则 | | `brand/banned-words.md` | ✅ | ✅ | 禁用词 | | `brand/credentials.md` | ✅ | ✅ | 公开资质口径 | | `brand/website-profile.md` | ✅ | ✅ | 官网口径权威源 | | **`brand/clients-internal.md`** | ❌ **已在 .gitignore 排除** | ✅ | 真实客户名单**只给小橙看、永不上 Git** | | `products/*.md` | ✅ | ✅ | 11 个产品方案页 + 案例库 + 模板 | | `templates/*.md` | ✅ | ✅ | 21 个平台文风模板 | | `knowledge/*.md` | ✅ | ✅ | 知识库(术语表/竞品格局/FAQ/选题方向) | | `insights.md` | ✅ | ✅ | 行业洞察库 | | `drafts/` | ❌ .gitignore | ✅(由小橙自己写入) | 草稿运行时目录 | | `published/` | ❌ .gitignore | ✅(由小橙自己写入) | 已发布文案 | | `reports/` | ❌ .gitignore | ✅(由小橙自己写入) | 日报/周报 | | `state/` | ❌ .gitignore | ✅(由小橙自己写入) | 状态机 | | `assets/` | ❌ .gitignore | ✅(由小橙自己写入) | 截图素材 | --- ## 四、同步到 NAS 容器的命令(rsync,推荐) ### 4.1 全量首次同步(本地 → NAS 容器内宿主目录) ```powershell # Windows 本地 → NAS 宿主目录(SSH 需要提前配好密钥或按提示输密码) # 说明: # /volume1/docker/openclaw-data/workspace/ 是 NAS 上映射进容器的目录 # 容器内挂载点 = /home/node/.openclaw/workspace # # 参数说明: # -a 归档;-v 详细;-z 压缩传输 # --delete 远端多余文件删除(首次建议先不加;熟悉后再加) # --exclude 跳过运行时目录,避免覆盖小橙自己写入的内容 rsync -avz ` --exclude 'drafts/' ` --exclude 'published/' ` --exclude 'reports/' ` --exclude 'state/' ` --exclude 'assets/' ` w:/ProRepo/NASOpenClaw/workspace/ ` Tyrone@192.168.0.130:/volume1/docker/openclaw-data/workspace/ ``` > Windows 的 OpenSSH 自带 rsync 需要额外装 cwRsync / WSL 里的 rsync; > 如果没有 rsync,用 `scp -r` 兜底: > > ```powershell > scp -r w:/ProRepo/NASOpenClaw/workspace/* Tyrone@192.168.0.130:/volume1/docker/openclaw-data/workspace/ > ``` ### 4.2 同步后必做(修正权限 + 重启容器) ```bash # SSH 到 NAS 之后执行 sudo chown -R 1000:1000 /volume1/docker/openclaw-data/workspace docker exec -u root openclaw chown -R node:node /home/node/.openclaw/workspace docker restart openclaw ``` > 见运维手册 §13.2(下发 workspace 指令范式)。 ### 4.3 一键脚本(可选,未来做在 .windsurf/workflows/) 建议把上面的 rsync + SSH 修权重启打包成 `sync-to-nas.ps1`,改一次跑一条命令: ```powershell # 用法:pwsh w:/ProRepo/NASOpenClaw/scripts/sync-to-nas.ps1 ``` (需要的话告诉我,我一并写出。) --- ## 五、反向同步(NAS 容器 → 本地,可选) 当你想把小橙在容器内产出的 `drafts/` `published/` `reports/` 拉回来做审阅时: ```powershell rsync -avz ` Tyrone@192.168.0.130:/volume1/docker/openclaw-data/workspace/published/ ` w:/ProRepo/NASOpenClaw/workspace/published/ ``` `published/` 本身在 `.gitignore` 里,所以**拉回来也不会污染 Git**。如果某篇特别好想要版本化,单独 `git add -f workspace/published/xxx.md`。 --- ## 六、同步节奏建议 | 频率 | 动作 | 用途 | |------|------|------| | **任何 brand/ 或 products/ 修改后** | 本地 → Gitea(git push) + 本地 → NAS(rsync) | 让小橙立即用上新口径 | | **每周** | NAS → 本地(拉 reports/) | 归档周报 | | **每季度** | Tyrone 核对官网变动 → 更新 `brand/website-profile.md` → 全链路推送 | 保持对外口径一致 | | **客户名单变动时** | 只改本地 `clients-internal.md` → rsync 到 NAS(不上 Git) | 小橙立即用新名单 | --- ## 七、快速自查清单(每次大改后问自己) - [ ] 改的文件在 `workspace/` 下吗? → 要 rsync - [ ] 改的是 `clients-internal.md` 或其他 `*-internal.md`? → 只 rsync,不 git push - [ ] 改的是 `OpenClaw-DS925-运维手册.md` 或营销原件? → 只 git push,不 rsync - [ ] 改完**仅** git push 没 rsync?→ 小橙那边还是老口径,会写错 - [ ] 改完**仅** rsync 没 git push?→ 历史丢失风险,换机器找不到 --- ## 八、更新日志 - 2026-04-18 初版(对应 workspace v1 + clients-internal.md 不上 Git 的规则) - 2026-04-20 目录重构:根目录拆为 `docs/` + `raw/` + `workspace/`;workspace 新增 `knowledge/`、`drafts/`、`published/`、`reports/`、`state/`、`assets/`;产品页 9→11;TOOLS.md 增加核心文件只读规则