docs: set outfit output directory

This commit is contained in:
2026-06-22 17:45:00 +08:00
parent 74338c383e
commit e19eef5b43
4 changed files with 32 additions and 12 deletions
+7 -4
View File
@@ -67,7 +67,8 @@
config\ # 出厂默认配置/模板,首次运行播种到 ~/.cmbot(见第 5 节)
app.old\ # 上一个可用版本,仅用于回滚,可不存在
staging\ # 下载/解压临时区,安装成功后清理
合并后的图片\ # 默认导出目录(就在程序旁、好找、不随更新替换;可在导出面板改)
合并后的图片\ # 添加印花默认导出目录(就在程序旁、好找、不随更新替换;可在导出面板改)
穿搭图片\ # AI 穿搭默认输出目录(就在程序旁、好找、不随更新替换;可在 AI 穿搭页改)
%USERPROFILE%\.cmbot\ # 用户数据,独立于程序位置,始终可写、按用户隔离
config\
@@ -75,7 +76,7 @@
templates.json # 用户自定义模板
ai_models.json # AI 穿搭模型配置(管理员填写 key,首次可由出厂模板播种)
logs\
output\ # 默认导出目录的回退位置(安装根不可写时)
output\ # 默认导出目录的回退位置(安装根不可写时,AI 穿搭回退到 output\穿搭图片)
```
说明:
@@ -86,7 +87,8 @@
- `app\config\`:出厂默认配置/模板,仅作首次运行的播种来源,运行时不读写。
- `app.old\`:上一个可用程序目录。更新失败或新版启动异常时,可把它改回 `app\` 完成回滚。
- `staging\`:下载的 zip 与解压临时目录。校验通过后,`staging\app.new\` 才会切换为 `app\`。
- `合并后的图片\`:**默认导出目录**,放在安装根(`Launcher.exe` 旁),便于用户直接找到合成结果,且不随 `app\` 更新替换。用户可在导出面板改成任意目录;安装根不可写时回退 `~/.cmbot/output`。
- `合并后的图片\`:**添加印花默认导出目录**,放在安装根(`Launcher.exe` 旁),便于用户直接找到合成结果,且不随 `app\` 更新替换。用户可在导出面板改成任意目录;安装根不可写时回退 `~/.cmbot/output`。
- `穿搭图片\`:**AI 穿搭默认输出目录**,同样放在安装根(`Launcher.exe` 旁),用于保存 AI 生成的人物穿搭图;与 `合并后的图片\` 分开,避免两类产物混在一起。用户可在 AI 穿搭页改成任意目录;安装根不可写时回退 `~/.cmbot/output/穿搭图片`。
- `~/.cmbot\`:配置/模板/日志集中存放,**与程序位置、版本切换均无关**。即便 `app\` 所在目录只读(更新失败),配置/模板仍可正常写。
- 安装根(含 `app\`、`app.old\`、`staging\`、`Launcher.exe`)需免提权可写**才能自更新**;不可写时仅「更新失败」,不影响数据读写。
@@ -102,7 +104,8 @@
- 路径函数划分:
- `get_resource_path()` 指向**程序根**下的 `resources/`。
- `get_config_path()`、`get_log_dir()` 指向**数据根**下的对应目录。
- `get_output_dir()`(默认导出目录)特例:打包态优先返回 `<安装根>\合并后的图片`(就在程序旁、好找、不随更新替换),不可写时回退数据根 `output\`;开发态用项目目录。用户在导出面板的选择(`output_dir`)仍优先。
- `get_output_dir()`(添加印花默认导出目录)特例:打包态优先返回 `<安装根>\合并后的图片`(就在程序旁、好找、不随更新替换),不可写时回退数据根 `output\`;开发态用项目目录。用户在导出面板的选择(`output_dir`)仍优先。
- AI 穿搭默认输出目录独立于 `get_output_dir()`:打包态优先返回 `<安装根>\穿搭图片`,不可写时回退 `~/.cmbot/output/穿搭图片`;开发态用项目目录下的 `穿搭图片`。用户在 AI 穿搭页选择的 `outfit_output_dir` 仍优先。
- 数据根解析规则(`get_data_dir()`,三级回退):
1. 环境变量 `CMBOT_DATA_DIR` 非空时使用它(覆盖口,供测试或特殊部署)。
2. 打包态(`sys.frozen`)→ `~/.cmbot`(即 `%USERPROFILE%\.cmbot`)。**不依赖启动器注入环境变量**:即使用户绕过 `Launcher.exe` 直接双击 `app\CMBot.exe`,数据也落在 `~/.cmbot`。