项目云盘挂载与同步
更新:2026-08-28
当前边界
Cloudreve 的 WebDAV 账号根目录已经限定为用户既有 Project。DD 挂载修正和最小公网写入验收已通过;全目录双向同步仍处于稳定窗口与受限机制验收阶段:
- Project 下所有项目、文件和目录均在同步范围内,
AgentMeshOS不享有特殊边界。 - 在 DD 稳定窗口、全量差异盘点、冲突/删除保护和分级验收完成前,禁止执行
bisync、resync-path1、resync-path2或启用 timer。 - 本地回退历史必须写入独立备份盘
/srv/codex-hub-backup;冲突文件保留编号副本,删除受数量和容量阈值保护。 - Project 凭据不进入 Git、Runtime、Worker、OmniRoute、模型、MCP 或浏览器。
运行文件
| 对象 | 路径 |
|---|---|
| 原始 WebDAV 凭据 | /etc/agentmeshos/cloudreve-project-webdav.env,root:root 0600 |
| rclone 配置 | /etc/agentmeshos/cloudreve-project-rclone.conf,root: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 快照语义已废止,未提交目录必须由文件变更检测纳入同步。
暂停定时同步不会删除任何云端内容:
首次生产验收
2026-08-05 已完成首次真实同步:
- WebDAV 根目录认证读取返回
207,确认凭据根目录本身就是Project;没有创建第二层同名目录。 /mnt/cloudreve-project为fuse.rclone只读挂载,写入探针被拒绝且无残留。- 云端
AgentMeshOS为 208 个已跟踪快照文件、1,505,901bytes;下载侧检查为 0 个差异。 - 恢复目录 current 为 3 个文件、
2,384,626bytes;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 分别为 7d92ab01b46cd9ad8f8816aab35c80f93f79c4e47f1561205cd949a217f1ed85、9346a0a3055e9c54c410a2b6d9fb033c225dab1de57b826e44e287010e71afa5。