Bug: after generate_image surfaced an image via the files event, the
next edit_image call returned 'No image found in the chat'. The image
was attached to the assistant's message, but _extract_attached_image
only scanned the user's __files__ param and image_url content blocks
on user messages — it never looked at messages.files for any role.
Fix: rewrite extraction to scan messages[].files in reverse for ALL
roles, so an assistant-emitted image from a prior tool call is found
the same way as a user-attached upload. Use Open WebUI's internal
Files.get_file_by_id when the file dict has an id, so we get raw
bytes from disk without going through the auth-protected
/api/v1/files/{id}/content endpoint. Old path-key and URL-fetch
paths kept as fallbacks.
Refactored shared helpers _file_dict_is_image and _read_file_dict
out of the loop to keep the search logic readable.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
comfyui-nvidia
ComfyUI image-generation backend, NVIDIA-accelerated, fronted by Open WebUI for multi-user chat and image generation/editing.
Built from the official ComfyUI manual install for
NVIDIA — no
third-party base image. CI publishes the image to
git.anomalous.dev/alphacentri/comfyui-nvidia on every v* tag (see
.gitea/workflows/release.yml).
Repository layout
| Path | What |
|---|---|
Dockerfile |
ComfyUI on NVIDIA, manual-install pattern |
workflows/ |
txt2img + img2img workflow JSONs and node mappings |
deployments/ai-stack/ |
The deployment — compose, Caddyfile, env, model preseed |
.gitea/workflows/ |
Release pipeline (build & push image on tag) |
Deploy
The full stack — Caddy + Ollama + ComfyUI + Open WebUI (+ optional
Anubis) — lives under deployments/ai-stack/.
Bring-up steps, host prerequisites, Open WebUI workflow wiring, and
gotchas are in deployments/ai-stack/README.md.
Replaces
This repo supersedes the previous figment + segment + Forge stack. ComfyUI's node graph covers everything those services provided (txt2img, img2img, inpaint, mask generation via SAM/GroundingDINO custom nodes), and Open WebUI talks to it natively.