Files
NASOpenClaw/SYNC.md

7.4 KiB
Raw Blame History

文件同步矩阵 · 仓库 ↔ 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 容器内宿主目录)

# 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 如果没有 rsyncscp -r 兜底:

scp -r w:/ProRepo/NASOpenClaw/workspace/* Tyrone@192.168.0.130:/volume1/docker/openclaw-data/workspace/

4.2 同步后必做(修正权限 + 重启容器)

# 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,改一次跑一条命令:

# 用法pwsh w:/ProRepo/NASOpenClaw/scripts/sync-to-nas.ps1

(需要的话告诉我,我一并写出。)


五、反向同步NAS 容器 → 本地,可选)

当你想把小橙在容器内产出的 drafts/ published/ reports/ 拉回来做审阅时:

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/ 修改后 本地 → Giteagit push + 本地 → NASrsync 让小橙立即用上新口径
每周 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→11TOOLS.md 增加核心文件只读规则