# ComfyUI 生成相册（内部站点）部署与使用说明（2026-09-09）

## 一、这是什么

DSH 机上新增的内部 Web 站点（类 Civitai 的作品库），**每次 GPU 机 ComfyUI 完成图片/视频生成，作品会自动收录**，可在网页上按模型分类浏览、在线预览、查看提示词/模型/工作流/参数并下载。

- 访问地址：**http://192.168.31.76:8900** （仅内网；需访问口令）
- 站点名：ComfyUI 生成相册（civitai-like）

## 二、功能

- **自动收录**：同步代理每 ~5s 增量拉取 GPU 机 `ComfyUI/output/`（跳过 `minimax_seg_cache`、`rtx2x`、`.pt`）。2026-09-13 起 `config.json` 的 `indexAll: true` = 收录 output 下**全部**作品（含存量，已全量回填 1725 条）；改回 `false` 则只收录新生成。
- **元数据**：
  - PNG/JPG：解析 ComfyUI 内嵌 prompt/workflow（模型、LoRA、参数、提示词都能拿到）；
  - 视频（mp4/webm/mov）：**直接读容器内嵌 tag**——ComfyUI `SaveVideo`/VHS 会把整个 prompt+workflow 写进 mp4 的 `prompt`/`workflow`（webm 为大写 `PROMPT`/`WORKFLOW`），用 `ffprobe -show_format` 即可还原主模型/LoRA/提示词/参数；确无 tag 时再用同目录同名 PNG 或 ComfyUI `/history` 兜底。（2026-09-13 修正：旧逻辑只解析 PNG、视频靠 `/history`，导致 411 个视频全部"未识别"。）
- **浏览/筛选**：按 基础模型家族（MiniMaxH3 / Boogu / Krea / AnimateDiff / SDXL-Turbo / FLUX…自动归类）＋ LoRA 标签 ＋ 类型（图片/视频）＋ 关键字搜索 ＋ 排序。
- **详情页**：大图/视频预览（可拖动进度、静音循环）；信息标签（文件、生成时间、基础模型、全部权重文件路径、LoRA、参数、节点链）；提示词标签（各节点文本全文）；工作流标签（API prompt 与 UI workflow 原始 JSON）。
- **下载**：原文件下载（Range 支持，大视频可拖动）；缩略图由 ffmpeg 懒生成。
- **访问控制**：登录口令（HttpOnly Cookie 30 天）。

## 三、部署位置与运行

| 项 | 值 |
|---|---|
| 应用目录 | `/home/zyw/Downloads/comfyui-gallery/` |
| Web | `server.js` → 端口 **8900** |
| 同步代理 | `sync-agent.js`（常驻，拉取+解析+入库） |
| 元数据 | `data/meta/<id>.json`（id=sha1(相对路径)前24位） |
| 媒体镜像 | `media/`（GPU output 增量镜像，当前含存量镜像 ~3.3G） |
| 缩略图缓存 | `data/thumbs/` |
| 配置 | `config.json`：`password`（口令）、`port`、`syncIntervalMs`、`indexAll`（是否收录全部作品）、`sinceEpoch`（旧的收录起点，`indexAll=true` 时不生效） |
| 回填工具 | `backfill.js`（全量重解析+家族重算+继承；`--no-pull` 只重建元数据） |
| 日志 | `~/Downloads/gallery-sync.log`、`gallery-web.log` |

**启停**：`bash /home/zyw/Downloads/comfyui-gallery/galleryctl.sh {start|stop|restart|status}`

**改口令**：编辑 `config.json` 的 `password` → `bash galleryctl.sh restart`。

## 四、访问口令（当前）

部署时随机生成：`kqXQEI9q`（在 config.json 中，可自行修改后重启生效）

## 五、验证记录（2026-09-09 已测）

- 登录：未登录 401/302、错口令拒绝、对口令发 Cookie ✓
- 收录：真实 ComfyUI PNG（Boogu_ 系列）→ family=Boogu、3 个模型权重、seed/steps/cfg 参数、提示词、workflow ✓
- 视频：mp4 → 收录为 video、缩略图 ffmpeg 生成 ✓、Range 206 拖动 ✓
- 归类：家族规则按**主模型优先**（boogu→Boogu；dasiwa/minimax/h3→MiniMax H3；krea2→Krea 2；pony→Pony/SDXL；guofeng 等中文系→SD1.5…），主模型缺失的后处理作品按 `LoadImage` 原图继承家族
- 分类 bug 已修复（家族拼串把文件名当对象取 .file → undefined）
- 代理保活修复：去掉 `setInterval.unref()`（否则首轮后进程退出）
- 测试产物已全部清理，库内当前为空，等待首个真实新生成

## 六、局限与后续可做

- ~~视频元数据依赖 ComfyUI `/history`~~ → 已证伪：视频自带容器 tag，411/411 可解析（2026-09-13）
- 目前无删除/编辑功能、无收藏、无分页大列表限制 200 条（后续可按需加）
- 家族不再走"文件名关键词"单一路径：主模型 → LoRA → 来源继承 → 文件名 → 节点类型 → 辅助模型，规则表在 `meta-lib.js` 的 `FAMILY_RULES`
- 存量入库：`node backfill.js`（已执行，1725 条，"其他/未识别"归零）
- **2026-09-13 完整修复记录**：`06-ComfyUI-H3运维记录/2026-09-13-相册模型与LoRA识别修复和全量回填.md`
- 相册与下载中心(8899)相互独立。
- **8899 入口已加**（2026-09-09）：下载中心桌面与移动列表页标题处新增「🎞 ComfyUI 相册」按钮（新窗口打开，需口令），由 `download-server.js` 的 `.gallery-link` 渲染（已同步备份重启生效）。
