Files
image2api/frontend
dokploy-bot 910651ddba feat(canvas): manual node linking + no-model hint + render-hardening
- drag from a node's side port onto another node to create an edge
  (dashed live preview, dedupe, self-link rejected); click an edge to
  select (highlighted), Delete removes it, Ctrl+Z restores — all in
  undo history and autosave
- generate panel shows an explicit hint when the site has no image
  models instead of an empty dropdown
- render hardening: viewport-culling size now has a hard floor
  (max(stageSize, window, 1600x900)) so a delayed/degenerate
  ResizeObserver reading can never cull nodes out of the DOM; stage
  listeners attach with retry + rAF self-healing measure; pointer
  capture wrapped in try/catch for synthetic pointers
2026-09-20 00:06:08 +08:00
..
2026-07-08 09:49:54 +08:00
2026-07-08 09:49:54 +08:00

ai-gateway frontend

Vue 3 + Vite admin console for the ai-gateway backend. This replaces the old single-file static/admin.html.

Develop

npm install
npm run dev        # http://localhost:5173

The dev server proxies /admin, /health, /generated, /v1 to the backend. Start the backend separately:

# from repo root
python app.py      # http://0.0.0.0:6060

If the backend runs elsewhere, set VITE_BACKEND before npm run dev:

VITE_BACKEND=http://192.168.1.10:6060 npm run dev

Build

npm run build      # outputs static assets to ./dist
npm run preview    # serve the production build locally

When hosting dist/ on a different origin than the API, set VITE_API_BASE (e.g. VITE_API_BASE=http://api-host:6060) at build time, and add that frontend origin to the backend's CORS_ORIGINS env var.