为实现配置持久化与版本管理,建议按以下步骤操作:
# 建议克隆您自己的副本以保存配置变更
git clone https://cnb.cool/<您的用户名>/o-comfy.git
cd o-comfy
根据项目需求,在 my_data/file_list.json 中添加模型定义。初次使用可参考示例模板 my_data/file_list_example.jsonc。
执行主引导脚本,系统将自动完成环境初始化:
bash start.sh
💡 可选操作:手动同步模型 若需单独执行模型下载任务,可运行:
bash ops/download_models.sh
由于 CNB 开发空间是易失性的,当您安装了新插件或修改了界面设置后,请务必执行同步脚本将变更推送到仓库:
bash ops/sync.sh
该脚本会自动清理冗余文件,并依靠 .gitignore 过滤大体积模型,仅将核心配置与插件源码同步至云端。
. ├── Dockerfile # 运行时镜像定义(最小可行版本) ├── start.sh # 系统启动入口(契约校验与状态恢复) ├── .cnb.yml # CNB 工作区与运行时约定配置 ├── .gitignore # 仓库资产边界定义文件 ├── ops/ # ⚙️ 运维支撑与辅助脚本层 │ ├── download_models.sh # 模型自动化并行下载脚本 │ ├── get_file_list.py # 模型清单元数据处理工具 │ └── sync.sh # 状态同步辅助脚本 ├── my_data/ # 💾 声明性数据与持久化状态根目录 │ ├── models/ # 模型权重存储(不纳入 Git,脚本自动恢复) │ ├── custom_nodes/ # 插件源代码(纳入 Git,排除运行噪音) │ ├── user/ # UI 界面与工作流配置(纳入 Git,核心资产) │ ├── output/ # 运行时输出产物(不纳入 Git) │ ├── temp/ # 临时交换文件(不纳入 Git) │ ├── file_list.json # 模型依赖声明清单 (The Source of Truth) │ └── file_list_example.jsonc # 带注释的配置模板 └── README.md
系统遵循“状态即代码”的逻辑。任何必须在环境重建后恢复的内容,要么已纳入 Git 版本控制,要么记录在 file_list.json 等声明文件中。
通过精细化的 .gitignore 策略,明确区分三类资产:
ComfyUI/ 目录不纳入版本控制,每次启动时由 start.sh 自动获取。确保本仓库专注于环境管理,避免与上游代码产生强耦合。
系统唯一受信任的入口。负责镜像能力校验、依赖工具选择、上游代码恢复及数据目录映射。
模型资产的“信任源”,实现逻辑声明与物理存储的彻底解耦。
自动追踪 custom_nodes 源码,同时递归拦截 .safetensors、.ckpt 等大体积二进制文件,防止仓库膨胀。
file_list.json 以保持声明与实际资产的一致性。O-Comfy · 致力于构建稳定、可预测、易分发的 ComfyUI 生产力标准。