Commit Graph
68 Commits
Author SHA1 Message Date
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
826f6268b5 build(ui): sync frontend assets from upstream@3faa829c (#114)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-07 06:27:30 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
736f3e511f build(ui): sync frontend assets from upstream@c60bdee4 (#86)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-30 05:27:05 +00:00
74d9ea8e23 fix(ui): simplify batch action button labels (#85)
Shorten button text for better readability:
- Select All (was "Select all in view")
- Deselect (was "Clear selection")
- Delete (was "Delete selected")

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
2026-03-30 13:18:13 +08:00
5514e8befa feat(ui): add clickable link to ComfyUI API Key help text (#83)
The help text under the API Key field now links directly to
platform.comfy.org/login so users can generate a key in one click.

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
2026-03-30 10:50:08 +08:00
196ae0bf19 feat: support ComfyUI API Key for cloud nodes (#78) (#81)
Add comfy_api_key server config field to enable cloud API nodes
(Kling, Sora, Nano Banana, etc.) when calling ComfyUI via API.
The key is passed through extra_data.api_key_comfy_org in the
/prompt request, following ComfyUI's official API key integration.

Closes #78

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
2026-03-30 10:27:47 +08:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f7d38ef4f3 build(ui): sync frontend assets from upstream@672deade (#77)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-29 16:28:17 +00:00
5be59c5967 fix(ui): remove merge conflict markers from JS bundles (#73)
Commit d7439de left git conflict markers (<<<<<<<<, ========, >>>>>>>>)
inside the production JS bundles, causing JavaScript syntax errors that
prevented React from mounting and triggered the "UI failed to load"
recovery screen.

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
2026-03-28 10:50:23 +08:00
Kelin d7439de018 merge: resolve frontend asset conflicts, keep build with URL param cleanup 2026-03-25 12:43:59 +08:00
Kelin 5ab3320c6e feat(client): add non-blocking submit/status commands for real-time progress feedback
Add `submit` and `status` subcommands to comfyui_client.py so agents in
interactive environments (chat, messaging) can relay generation progress
to users between tool calls instead of blocking silently for 30+ seconds.

- `submit`: validates params, queues prompt, returns run_id immediately
- `status`: checks queue position / running state / completion, downloads
  images when done
- Original `--workflow --args` blocking mode is fully preserved
- SKILL.md updated with interactive vs non-blocking guidance
- Synced frontend assets with URL param cleanup fix
2026-03-25 12:01:32 +08:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
0e3b0453fb build(ui): sync frontend assets from upstream@b85d1ba5 (#68)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-25 03:50:10 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1a36ba0107 build(ui): sync frontend assets from upstream@bdcb8fcf (#67)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-24 16:08:38 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
295596d7f1 build(ui): sync frontend assets from upstream@7bf6b2c8 (#65)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-24 08:49:05 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
c57a01701b build(ui): sync frontend assets from upstream@72b205c1 (#61)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-23 09:54:53 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ac60d67682 build(ui): sync frontend assets from upstream@d18df976 (#59)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-23 02:31:39 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
db7fe13333 build(ui): sync frontend assets from upstream@7c26b365 (#54)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-22 08:39:13 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
e158bb1777 build(ui): sync frontend assets from upstream@0be3d700 (#53)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-22 04:56:34 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
5860110658 build(ui): sync frontend assets from upstream@8f107fe9 (#52)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-21 16:51:06 +00:00
Kelin d63577f4f4 fix(ui): recover from failed boot after updates 2026-03-22 00:49:12 +08:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cf9b113016 build(ui): sync frontend assets from upstream@e2921b5f (#50)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-21 16:36:00 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
af09845f8f build(ui): sync frontend assets from upstream@aceee01a (#48)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-21 16:16:12 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f884b57167 build(ui): sync frontend assets from upstream@dd90ea0d (#47)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-21 08:22:03 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
7dc00cfa18 build(ui): sync frontend assets from upstream@947fd69f (#46)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-20 15:15:32 +00:00
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ce0b8933a7 build(ui): sync frontend assets from upstream@1ad0be61 (#45)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-20 15:04:31 +00: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
科林 KELINGitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
efa171cfd4 build(ui): sync frontend assets from upstream@latest (#37)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-18 01:55:44 +00:00
lgldlk 14a7d643da chore(ui): refresh bundled frontend assets 2026-03-18 02:08:28 +08:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bfb620a758 build(ui): sync frontend assets from upstream@latest (#29)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-17 15:19:22 +08:00
a87d47cd5b build(ui): rebuild frontend — remove server URL help text (#23)
Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 14:36:30 +08:00
e1d9bd584d build(ui): rebuild frontend with one-click update banner feature (#22)
Include UpdateBanner, multi-stage update flow (pull → restart → reload),
and system update API integration.

Co-authored-by: Kelin <kelin@KelindeMacBook-Air.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 14:08:10 +08:00
KelinandClaude Opus 4.6 85df948a15 fix: include version.json in repo so update check works out of the box
Users who clone the repo now have version.json in ui/static/ by default.
Without it the frontend update checker always returned no_local_version
and never detected any updates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 11:50:02 +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 f8196dcec2 fix(ui): constrain workflow row layout overflow 2026-03-13 13:20:09 +08:00
lgldlk 2c59ed616a build(ui): refresh bundled frontend assets 2026-03-13 11:43:27 +08:00
lgldlk 4c7e59a435 feat(ui): add workflow dropzone to empty state 2026-03-13 00:53:09 +08:00
lgldlk f92a090879 fix(ui): edit the selected fallback server after stale selection 2026-03-13 00:45:08 +08:00
lgldlk fca1f22ae6 fix(ui): recover server selection after deletion 2026-03-12 23:59:50 +08:00
lgldlk de4c48d5b8 refactor(ui): replace static frontend with modular react app 2026-03-12 23:41:39 +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 52d854f4e6 feat(ui): implement parameter migration and workflow actions menu
Motivation:
Users need a way to handle schema mapping changes gracefully when updating workflows, and a more organized UI for workflow-specific actions.

Implementation:
1. Added parameter migration logic in `workflow-mapper.js` to intelligently retain, review, or flag new parameters when updating a workflow JSON.
2. Introduced a 'More Actions' dropdown menu in `workflow-list-view.js` and `mapping-editor-view.js` to consolidate workflow actions.
3. Added visual styling (badges and banners) in CSS to highlight parameter migration states.
2026-03-10 00:15:48 +08:00
科林_Cyril Pilgrim ae2fe8249f feat(ui): add workflow sorting and drag-and-drop reordering
Motivation:
As the number of workflows increases, it becomes difficult for users to quickly locate or prioritize frequently used workflows. The current list lacks flexible display order and intuitive custom management experience.

Implementation:
1. Introduced global state `workflowSortOrder` in config.js to track the currently applied sorting mode.
2. Updated core rendering logic in app.js, adding algorithms to sort by status, name, and custom order; implemented `bindWorkflowDragEvents` and `bindWorkflowSortEvents` to handle drag-and-drop and sorting interactions.
3. Modified DOM renderer in workflow-list.js to inject drag handles into cards when in custom sorting mode.
4. Added responsive `.workflow-toolbar` in styles.css to accommodate search and sorting controls, and added comprehensive visual feedback for list drag-and-drop interactions (e.g., .is-dragging, .is-drop-target).
2026-03-09 17:45:28 +08:00
科林_Cyril Pilgrim 5d1eabcebd feat(ui): autofill workflow ID on upload and update list layout
Motivation:
用户每次上传工作流文件时需要手动填写 ID,操作繁琐且重复;同时旧版工作流列表视图在特定情况下的网格布局展示不够理想。

Implementation:
1. 新增 `suggestWorkflowId` 等针对性解析逻辑,支持从工作流内部的数据结构、节点名称以及文件基名中智能提取工作流 ID 候选项。
2. 在核心逻辑 `app.js` 中增加 `lastAutoWorkflowId` 状态追踪,当用户未做主动干预时,在上传文件后自动填充推荐 ID。
3. 将样式表中的 `.workflow-list` 网格列宽限制为 `minmax(0, 1fr)` 以优化视图排版显示。
2026-03-09 16:34:51 +08:00
科林_Cyril Pilgrim d6394f91d0 fix(ui): align mapping toolbar actions 2026-03-09 13:04:29 +08:00
科林_Cyril Pilgrim 3b78597f6a feat(ui): enhance parameter mapping toolbar and persist schema UI state
Motivation:
节点映射界面的工具栏过于紧凑且缺少单独的参数排序功能;每次重新加载会丢失参数界面的显示配置(如参数是否 Exposed/Required)。此外,DELETE 请求携带 Body 有客户端兼容风险,而保存工作流即退出编辑器的设计打断了用户的连续编辑心流。

Implementation:
1. 前后端扩展 ui_schema_params 字段的读写,支持在加载工作流时 Hydrate 并持久化保存工作流参数的 UI 状态。
2. 重构 mapping-toolbar 将其拆分为上下两层,新增参数级排序下拉框以及批量展开/折叠、重置过滤等快捷操作功能。
3. 优化编辑器保存交互,将 saveWorkflow 成功后的 exitEditor() 替换为 refreshEditorPanel(),以保持操作的连贯性。
4. 重构 Servers API 删除端点,将 delete_data 标识从 Request Body 移至 URL Query 传递。
2026-03-09 12:53:05 +08:00
科林_Cyril Pilgrim 1dbcf76e16 feat(ui): add optional local data deletion to server removal
Motivation:
允许用户在删除服务器时可选地清理关联的本地数据,提升存储管理体验;同时通过增加 Cookie fallback 机制强化了语言设置的持久化。

Implementation:
1. 后端:更新 models.py, app.py 和 services.py 以支持带有 delete_data 参数的删除操作。
2. 前端:在确认弹窗中集成复选框,更新交互逻辑与 API 调用方案。
3. 配置:更新 .gitignore 以忽略 AI 任务规划文件。
2026-03-09 12:31:33 +08:00
科林_Cyril Pilgrim 7918ff665f fix(ui): dynamic toast messages for workflow and server toggles
Motivation:
To provide more descriptive feedback when enabling or disabling workflows and servers by including the ID/Name in the toast message.

Implementation:
- Updated toast calls in app.js to use parameterized i18n keys.
- Added corresponding keys to i18n.js mapping.
2026-03-09 12:22:45 +08:00
科林_Cyril Pilgrim f0f097edbc Refine workflow controls and update banner 2026-03-09 01:08:21 +08:00
科林_Cyril Pilgrim e202c4c939 style(ui): refine workflow status toggle surface 2026-03-09 01:00:47 +08:00
科林_Cyril Pilgrim b39945f2f9 feat(ui): enhance workflow status toggle with visual labels
Motivation:
To provide clearer visual feedback on whether a workflow is enabled or disabled by adding explicit text labels next to the toggle switch.

Implementation:
- Updated workflow-list-view.js to include a status label (On/Off) that updates dynamically.
- Added CSS classes status-on and status-off with distinct semantic coloring.
2026-03-09 00:51:54 +08:00
科林_Cyril Pilgrim 8b5df3070a fix(ui): float custom select menus above card layers 2026-03-09 00:50:37 +08:00