Commit Graph
15 Commits
Author SHA1 Message Date
Kelin 281c1a1e14 feat(update): return explicit success summary 2026-03-20 23:14:06 +08:00
e948ab84c2 Add workflow execution history backend (#43)
* feat: add workflow execution history backend

* build: refresh bundled workflow history UI assets

* fix: simplify common workflow parameter aliases

* fix: resolve output_dir symlinks and allow workflows with no image output

---------

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
2026-03-20 07:16:40 +08:00
Kelin 9ab1ed038e fix: align update fallback with frontend release flow 2026-03-18 15:04:39 +08:00
0d4bcfee27 fix(updater): use explicit branch ref to avoid tracking config issues (#24)
* build(ui): rebuild frontend — remove server URL help text

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(updater): use explicit branch ref to avoid tracking config issues

git pull --ff-only fails when local branch tracks a deleted remote
branch. Use git fetch origin main:main instead, which always updates
local main regardless of current branch or tracking configuration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 14:39:00 +08:00
KelinandClaude Sonnet 4.6 d1918bfa77 feat: git-based update detection and one-click restart
Add GitUpdateProvider to detect and apply updates without GitHub API:
- scripts/shared/updater.py: check via `git ls-remote`, update via `git pull --ff-only`, restart via os.execv
- ui/app.py: replace frontend_update with three new endpoints:
  GET /api/system/check-update, POST /api/system/update, POST /api/system/restart
- ui/app.py: add POST /api/servers/test-connection for testing server connectivity

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 13:32:31 +08:00
KelinandClaude Opus 4.6 d021177c65 fix: persist auth field and show detailed connection errors
- Fix auth field not being saved in add_server/update_server/serialize
- Add test-connection endpoint with detailed error messages
- Return specific errors: 401 Unauthorized, 403 Forbidden, timeout, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 10:59:43 +08:00
KelinandClaude Opus 4.6 3eaf82b692 feat: add authentication support for remote ComfyUI servers
Add optional auth field to server config. All HTTP requests to
ComfyUI (prompt, history, view, health check) now pass the
Authorization header when configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:09:26 +08:00
KelinandClaude Opus 4.6 c733321dcb feat: add frontend update check API and improve update script
- Add /api/frontend/check-update endpoint that compares local
  version.json against the latest rolling release on GitHub
- Update scripts/update_frontend.sh to default to the "latest"
  release tag, with optional version argument
- Results are cached for 10 minutes to respect GitHub API limits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 00:42:19 +08:00
科林_Cyril Pilgrim c3dc305849 feat: add server health status API and UI status indicator 2026-03-16 17:21:12 +08:00
科林_Cyril Pilgrim 8a274ad02a refactor(core): simplify workflow identification and update default ui port
Motivation:
1. Maintaining a redundant 'workflow_id' in schema.json was error-prone and confusing for users.
2. The previous default port 8189 frequently collided with other AI services or ComfyUI instances during multi-server deployment.

Implementation:
1. Revoked 'workflow_id' reliance in schema logic; the system now strictly uses the directory name as the unique identifier.
2. Updated default web UI port to 18189 and added support for the 'OPENCLAW_UI_PORT' environment variable across scripts and settings.
3. Synchronized documentation and UI launcher scripts to reflect these changes.
2026-03-12 15:39:17 +08:00
科林_Cyril Pilgrim 425cdd0db4 feat(ui): refactor data structure and enhance configuration migration
Motivation:
The previous data structure for workflows and schemas lacked cohesion and was difficult to maintain manually. Additionally, a more robust and flexible migration system was needed to transfer skill configurations across different environments.

Implementation:
1. Unified the data hierarchy into a directory-based structure: 'data/<server>/<workflow>/'.
2. Enhanced 'transfer_manager.py' and 'transfer_bundle.py' for environmental-aware configuration migration.
3. Updated frontend JS/CSS and Flask routes to support the new directory-centric asset management.
4. Revamped English and Chinese READMEs to prioritize safe installation and clear configuration workflows.
2026-03-12 15:05:40 +08:00
科林_Cyril Pilgrim f3a9919814 feat(ui): add configuration export and import flow
Motivation:
Allows users to easily migrate or back up their skill configurations, server settings, and workflow mappings across different environments, improving setup mobility.

Implementation:
Developed a bundle system in scripts/shared/transfer_bundle.py and scripts/transfer_manager.py for state serialization. Integrated this into the Flask backend and frontend UI, adding components for export/import actions with pre-check validation. Refactored README files to document the migration path and refined the installation guide.
2026-03-12 12:05:59 +08:00
科林_Cyril Pilgrim d4388a5b41 fix(core): improve multi-server configuration and security
Motivation:
To prevent path traversal via server/workflow identifiers and ensure relative path consistency for output directories across different server environments.

Implementation:
- Added is_valid_identifier validation to comfyui_client and server_manager.
- Standardized default output_dir to relative './outputs' in config and settings.
2026-03-08 23:28:14 +08:00
科林_Cyril Pilgrim bc4097ac2d refactor(backend): support multi-server workflow isolation and registry mapping
Motivation:
The backend previously assumed a single global ComfyUI server, making it impossible to switch between environments or add remote nodes.

Implementation:
Refactored UIStorageService and scripts to organize workflows into server-specific subdirectories. Introduced ServerModel and runtime configuration loader to handle multi-server routing.
2026-03-08 17:40:03 +08:00
lgldlk 9dfd8b6646 feat: add shared utility modules 2026-03-08 01:31:26 +08:00