跳转至

项目云盘挂载与同步

更新:2026-08-28

当前边界

Cloudreve 的 WebDAV 账号根目录已经限定为用户既有 Project。DD 挂载修正和最小公网写入验收已通过;全目录双向同步仍处于稳定窗口与受限机制验收阶段:

Cloudreve Project
        ↕ rclone bisync
/root/project
  • Project 下所有项目、文件和目录均在同步范围内,AgentMeshOS 不享有特殊边界。
  • 在 DD 稳定窗口、全量差异盘点、冲突/删除保护和分级验收完成前,禁止执行 bisyncresync-path1resync-path2 或启用 timer。
  • 本地回退历史必须写入独立备份盘 /srv/codex-hub-backup;冲突文件保留编号副本,删除受数量和容量阈值保护。
  • Project 凭据不进入 Git、Runtime、Worker、OmniRoute、模型、MCP 或浏览器。

运行文件

对象 路径
原始 WebDAV 凭据 /etc/agentmeshos/cloudreve-project-webdav.envroot:root 0600
rclone 配置 /etc/agentmeshos/cloudreve-project-rclone.confroot:root 0600
双向同步服务 agentmeshos-project-bisync.service
双向同步定时器 agentmeshos-project-bisync.timer

部署与维护

sudo bash scripts/deploy/project-cloud/agentmeshos-project-cloud-deploy.sh deploy
sudo agentmeshos-project-bisync dry-run
sudo agentmeshos-project-bisync resync-path1  # 首次方向需人工确认
sudo agentmeshos-project-bisync sync
sudo bash scripts/deploy/project-cloud/agentmeshos-project-cloud-deploy.sh enable-sync

目标机制使用受限文件同步维护两端变更;Git 元数据作为普通文件同步,不要求提交或推送 GitHub。旧 Git HEAD 快照语义已废止,未提交目录必须由文件变更检测纳入同步。

暂停定时同步不会删除任何云端内容:

sudo bash scripts/deploy/project-cloud/agentmeshos-project-cloud-deploy.sh disable-sync

首次生产验收

2026-08-05 已完成首次真实同步:

  • WebDAV 根目录认证读取返回 207,确认凭据根目录本身就是 Project;没有创建第二层同名目录。
  • /mnt/cloudreve-projectfuse.rclone 只读挂载,写入探针被拒绝且无残留。
  • 云端 AgentMeshOS 为 208 个已跟踪快照文件、1,505,901 bytes;下载侧检查为 0 个差异。
  • 恢复目录 current 为 3 个文件、2,384,626 bytes;Git Bundle SHA-256 为 38b3477d9a9b677e707422d20f1b4397030e8fbe3476eeb4f535e340e153f133,Archive SHA-256 为 428e57f4902ffebd2c620b67d27d0655fd172e6529427b14827078b677db1262
  • Bundle 记录完整历史,隔离 clone、git fsck --full 和提交 2415c502c97c14955cdda630b566a84bc65996e8 恢复均通过。
  • 本次操作没有复制其他项目到 main,没有修改 Cloudreve 中的其他项目。

历史方案与当前暂停状态

v2 设计见 docs/plans/project-sync-v2-design-20260828.md。该设计明确未提交对象的文件同步语义、冲突保留、删除保护、SHA-256 回读和分级验收;在实现和验收完成前,现有 bisync 入口保持硬冻结。

此前的 AgentMeshOS 单向 Git 快照、Bundle、Archive 和 manifest 方案已退役,不再作为当前 Project 同步验收依据。当前 bisync 设计也尚未完成正式验收;101 Project 中未提交、未推送的目录不会因旧 Git HEAD 方案自动同步。待 DD compose 和 Cloudreve 锁冲突根因修复后,必须重新设计受限同步链路。

修正后通过手工路径和 agentmeshos-project-cloud-sync.service 两次同步验证:工作树仍为 208 个文件、0 个差异;云端 manifest、完整 Bundle 和 Archive 统一指向 363c26237a469fe15f3b61bd461271ac2a944ab0。回读 Bundle 与 Archive SHA-256 分别为 7d92ab01b46cd9ad8f8816aab35c80f93f79c4e47f1561205cd949a217f1ed859346a0a3055e9c54c410a2b6d9fb033c225dab1de57b826e44e287010e71afa5