comfyui-mcp 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/PACK-SPLIT-STATUS.md +87 -0
  3. package/README.md +2 -2
  4. package/assets/controlnet_demo.png +0 -0
  5. package/assets/ideogram_demo.png +0 -0
  6. package/assets/ltx_sharp_demo.png +0 -0
  7. package/assets/ltx_t2v_demo.png +0 -0
  8. package/assets/qwen_edit_demo.png +0 -0
  9. package/assets/sample_woman.png +0 -0
  10. package/assets/sample_woman_video.mp4 +0 -0
  11. package/dist/comfyui/client.js +33 -0
  12. package/dist/comfyui/client.js.map +1 -1
  13. package/dist/index.js +3 -65
  14. package/dist/index.js.map +1 -1
  15. package/dist/orchestrator/index.js +511 -27
  16. package/dist/orchestrator/index.js.map +1 -1
  17. package/dist/orchestrator/panel-agent.js +740 -59
  18. package/dist/orchestrator/panel-agent.js.map +1 -1
  19. package/dist/orchestrator/panel-tools.js +328 -0
  20. package/dist/orchestrator/panel-tools.js.map +1 -0
  21. package/dist/services/download-cache.js +48 -9
  22. package/dist/services/download-cache.js.map +1 -1
  23. package/dist/services/download-progress.js +57 -0
  24. package/dist/services/download-progress.js.map +1 -0
  25. package/dist/services/job-watcher.js +28 -1
  26. package/dist/services/job-watcher.js.map +1 -1
  27. package/dist/services/model-resolver.js +23 -7
  28. package/dist/services/model-resolver.js.map +1 -1
  29. package/dist/services/node-management.js +99 -49
  30. package/dist/services/node-management.js.map +1 -1
  31. package/dist/services/panel-settings.js +53 -0
  32. package/dist/services/panel-settings.js.map +1 -0
  33. package/dist/services/ui-bridge.js +29 -8
  34. package/dist/services/ui-bridge.js.map +1 -1
  35. package/dist/services/user-mcp-config.js +111 -0
  36. package/dist/services/user-mcp-config.js.map +1 -0
  37. package/dist/services/workflow-converter.js +338 -60
  38. package/dist/services/workflow-converter.js.map +1 -1
  39. package/dist/tools/diagnostics.js +22 -9
  40. package/dist/tools/diagnostics.js.map +1 -1
  41. package/dist/tools/index.js +2 -0
  42. package/dist/tools/index.js.map +1 -1
  43. package/dist/tools/report-issue.js +56 -0
  44. package/dist/tools/report-issue.js.map +1 -0
  45. package/dist/tools/workflow-library.js +6 -3
  46. package/dist/tools/workflow-library.js.map +1 -1
  47. package/dist/transport/cli.js +1 -8
  48. package/dist/transport/cli.js.map +1 -1
  49. package/model-settings.json +1 -1
  50. package/package.json +4 -1
  51. package/packs/anima/install-runpod.sh +12 -1
  52. package/packs/anima/install-windows.bat +11 -1
  53. package/packs/anima/workflow.json +87 -87
  54. package/packs/anima-img2img/install-runpod.sh +56 -0
  55. package/packs/anima-img2img/install-windows.bat +61 -0
  56. package/packs/anima-img2img/manifest.yaml +69 -0
  57. package/packs/anima-img2img/pack.yaml +30 -0
  58. package/packs/anima-img2img/workflow.json +7076 -0
  59. package/packs/anima-inpaint/install-runpod.sh +49 -0
  60. package/packs/anima-inpaint/install-windows.bat +54 -0
  61. package/packs/anima-inpaint/manifest.yaml +50 -0
  62. package/packs/anima-inpaint/pack.yaml +29 -0
  63. package/packs/anima-inpaint/workflow.json +2009 -0
  64. package/packs/anima-txt2img/install-runpod.sh +55 -0
  65. package/packs/anima-txt2img/install-windows.bat +60 -0
  66. package/packs/anima-txt2img/manifest.yaml +62 -0
  67. package/packs/anima-txt2img/pack.yaml +28 -0
  68. package/packs/anima-txt2img/workflow.json +6442 -0
  69. package/packs/cozy-flow/install-runpod.sh +12 -1
  70. package/packs/cozy-flow/install-windows.bat +11 -1
  71. package/packs/ernie/_slices/combo.json +9661 -0
  72. package/packs/ernie/_slices/img2img.json +2568 -0
  73. package/packs/ernie/_slices/txt2img.json +2379 -0
  74. package/packs/ernie/install-runpod.sh +18 -1
  75. package/packs/ernie/install-windows.bat +17 -1
  76. package/packs/ernie/manifest.yaml +22 -4
  77. package/packs/ernie/pack.yaml +12 -5
  78. package/packs/ernie/workflow.json +1 -1
  79. package/packs/ernie-combo/install-runpod.sh +50 -0
  80. package/packs/ernie-combo/install-windows.bat +55 -0
  81. package/packs/ernie-combo/manifest.yaml +40 -0
  82. package/packs/ernie-combo/pack.yaml +37 -0
  83. package/packs/ernie-combo/workflow.json +9661 -0
  84. package/packs/ernie-img2img/install-runpod.sh +47 -0
  85. package/packs/ernie-img2img/install-windows.bat +52 -0
  86. package/packs/ernie-img2img/manifest.yaml +35 -0
  87. package/packs/ernie-img2img/pack.yaml +35 -0
  88. package/packs/ernie-img2img/workflow.json +2568 -0
  89. package/packs/ernie-txt2img/install-runpod.sh +47 -0
  90. package/packs/ernie-txt2img/install-windows.bat +52 -0
  91. package/packs/ernie-txt2img/manifest.yaml +35 -0
  92. package/packs/ernie-txt2img/pack.yaml +38 -0
  93. package/packs/ernie-txt2img/workflow.json +2379 -0
  94. package/packs/ideogram/install-runpod.sh +12 -1
  95. package/packs/ideogram/install-windows.bat +11 -1
  96. package/packs/ideogram-img2img/install-runpod.sh +40 -0
  97. package/packs/ideogram-img2img/install-windows.bat +45 -0
  98. package/packs/ideogram-img2img/manifest.yaml +34 -0
  99. package/packs/ideogram-img2img/pack.yaml +32 -0
  100. package/packs/ideogram-img2img/workflow.json +3124 -0
  101. package/packs/ideogram-txt2img/install-runpod.sh +40 -0
  102. package/packs/ideogram-txt2img/install-windows.bat +45 -0
  103. package/packs/ideogram-txt2img/manifest.yaml +33 -0
  104. package/packs/ideogram-txt2img/pack.yaml +30 -0
  105. package/packs/ideogram-txt2img/workflow.json +3041 -0
  106. package/packs/ltx-2.3/install-runpod.sh +12 -1
  107. package/packs/ltx-2.3/install-windows.bat +11 -1
  108. package/packs/ltx-2.3-extender/install-runpod.sh +55 -0
  109. package/packs/ltx-2.3-extender/install-windows.bat +60 -0
  110. package/packs/ltx-2.3-extender/manifest.yaml +58 -0
  111. package/packs/ltx-2.3-extender/pack.yaml +20 -0
  112. package/packs/ltx-2.3-extender/workflow.json +5772 -0
  113. package/packs/ltx-2.3-extender-no-audio/install-runpod.sh +55 -0
  114. package/packs/ltx-2.3-extender-no-audio/install-windows.bat +60 -0
  115. package/packs/ltx-2.3-extender-no-audio/manifest.yaml +58 -0
  116. package/packs/ltx-2.3-extender-no-audio/pack.yaml +20 -0
  117. package/packs/ltx-2.3-extender-no-audio/workflow.json +5968 -0
  118. package/packs/ltx-2.3-flf/install-runpod.sh +55 -0
  119. package/packs/ltx-2.3-flf/install-windows.bat +60 -0
  120. package/packs/ltx-2.3-flf/manifest.yaml +58 -0
  121. package/packs/ltx-2.3-flf/pack.yaml +20 -0
  122. package/packs/ltx-2.3-flf/workflow.json +6173 -0
  123. package/packs/ltx-2.3-img2vid/install-runpod.sh +40 -0
  124. package/packs/ltx-2.3-img2vid/install-windows.bat +45 -0
  125. package/packs/ltx-2.3-img2vid/manifest.yaml +41 -0
  126. package/packs/ltx-2.3-img2vid/pack.yaml +20 -0
  127. package/packs/ltx-2.3-img2vid/workflow.json +5062 -0
  128. package/packs/ltx-2.3-txt2vid/install-runpod.sh +40 -0
  129. package/packs/ltx-2.3-txt2vid/install-windows.bat +45 -0
  130. package/packs/ltx-2.3-txt2vid/manifest.yaml +40 -0
  131. package/packs/ltx-2.3-txt2vid/pack.yaml +20 -0
  132. package/packs/ltx-2.3-txt2vid/workflow.json +1 -0
  133. package/packs/ltx-2.3-xy-plot/install-runpod.sh +55 -0
  134. package/packs/ltx-2.3-xy-plot/install-windows.bat +60 -0
  135. package/packs/ltx-2.3-xy-plot/manifest.yaml +58 -0
  136. package/packs/ltx-2.3-xy-plot/pack.yaml +24 -0
  137. package/packs/ltx-2.3-xy-plot/workflow.json +8103 -0
  138. package/packs/qwen-image/install-runpod.sh +12 -1
  139. package/packs/qwen-image/install-windows.bat +11 -1
  140. package/packs/qwen-image-edit/install-runpod.sh +12 -1
  141. package/packs/qwen-image-edit/install-windows.bat +11 -1
  142. package/packs/qwen-image-edit-edit/install-runpod.sh +47 -0
  143. package/packs/qwen-image-edit-edit/install-windows.bat +52 -0
  144. package/packs/qwen-image-edit-edit/manifest.yaml +68 -0
  145. package/packs/qwen-image-edit-edit/pack.yaml +34 -0
  146. package/packs/qwen-image-edit-edit/workflow.json +980 -0
  147. package/packs/wan-animate/install-runpod.sh +12 -1
  148. package/packs/wan-animate/install-windows.bat +11 -1
  149. package/packs/wan-animate-character/install-runpod.sh +48 -0
  150. package/packs/wan-animate-character/install-windows.bat +53 -0
  151. package/packs/wan-animate-character/manifest.yaml +53 -0
  152. package/packs/wan-animate-character/pack.yaml +44 -0
  153. package/packs/wan-animate-character/workflow.json +5234 -0
  154. package/packs/wan-longer-videos/install-runpod.sh +12 -1
  155. package/packs/wan-longer-videos/install-windows.bat +11 -1
  156. package/packs/wan-longer-videos-i2v/install-runpod.sh +44 -0
  157. package/packs/wan-longer-videos-i2v/install-windows.bat +49 -0
  158. package/packs/wan-longer-videos-i2v/manifest.yaml +39 -0
  159. package/packs/wan-longer-videos-i2v/pack.yaml +40 -0
  160. package/packs/wan-longer-videos-i2v/workflow.json +6722 -0
  161. package/packs/wan-longer-videos-t2v/install-runpod.sh +49 -0
  162. package/packs/wan-longer-videos-t2v/install-windows.bat +54 -0
  163. package/packs/wan-longer-videos-t2v/manifest.yaml +50 -0
  164. package/packs/wan-longer-videos-t2v/pack.yaml +40 -0
  165. package/packs/wan-longer-videos-t2v/workflow.json +6613 -0
  166. package/packs/wan-longer-videos-v2v/install-runpod.sh +44 -0
  167. package/packs/wan-longer-videos-v2v/install-windows.bat +49 -0
  168. package/packs/wan-longer-videos-v2v/manifest.yaml +39 -0
  169. package/packs/wan-longer-videos-v2v/pack.yaml +40 -0
  170. package/packs/wan-longer-videos-v2v/workflow.json +6964 -0
  171. package/packs/wan-transparent/install-runpod.sh +12 -1
  172. package/packs/wan-transparent/install-windows.bat +11 -1
  173. package/packs/wan-transparent-img2vid/install-runpod.sh +46 -0
  174. package/packs/wan-transparent-img2vid/install-windows.bat +51 -0
  175. package/packs/wan-transparent-img2vid/manifest.yaml +48 -0
  176. package/packs/wan-transparent-img2vid/pack.yaml +44 -0
  177. package/packs/wan-transparent-img2vid/workflow.json +1848 -0
  178. package/packs/z-image-base/install-runpod.sh +13 -2
  179. package/packs/z-image-base/install-windows.bat +12 -2
  180. package/packs/z-image-base/manifest.yaml +2 -2
  181. package/packs/z-image-base/workflow.json +1 -1
  182. package/packs/z-image-base-combo/install-runpod.sh +51 -0
  183. package/packs/z-image-base-combo/install-windows.bat +56 -0
  184. package/packs/z-image-base-combo/manifest.yaml +42 -0
  185. package/packs/z-image-base-combo/pack.yaml +31 -0
  186. package/packs/z-image-base-combo/workflow.json +4918 -0
  187. package/packs/z-image-base-controlnet/install-runpod.sh +53 -0
  188. package/packs/z-image-base-controlnet/install-windows.bat +58 -0
  189. package/packs/z-image-base-controlnet/manifest.yaml +51 -0
  190. package/packs/z-image-base-controlnet/pack.yaml +33 -0
  191. package/packs/z-image-base-controlnet/workflow.json +3992 -0
  192. package/packs/z-image-base-img2img/install-runpod.sh +50 -0
  193. package/packs/z-image-base-img2img/install-windows.bat +55 -0
  194. package/packs/z-image-base-img2img/manifest.yaml +37 -0
  195. package/packs/z-image-base-img2img/pack.yaml +29 -0
  196. package/packs/z-image-base-img2img/workflow.json +1621 -0
  197. package/packs/z-image-base-inpaint/install-runpod.sh +47 -0
  198. package/packs/z-image-base-inpaint/install-windows.bat +52 -0
  199. package/packs/z-image-base-inpaint/manifest.yaml +34 -0
  200. package/packs/z-image-base-inpaint/pack.yaml +29 -0
  201. package/packs/z-image-base-inpaint/workflow.json +1780 -0
  202. package/packs/z-image-base-txt2img/install-runpod.sh +50 -0
  203. package/packs/z-image-base-txt2img/install-windows.bat +55 -0
  204. package/packs/z-image-base-txt2img/manifest.yaml +37 -0
  205. package/packs/z-image-base-txt2img/pack.yaml +29 -0
  206. package/packs/z-image-base-txt2img/workflow.json +1416 -0
  207. package/packs/z-image-turbo/install-runpod.sh +13 -2
  208. package/packs/z-image-turbo/install-windows.bat +12 -2
  209. package/packs/z-image-turbo/manifest.yaml +1 -1
  210. package/packs/z-image-turbo/workflow.json +7 -7
  211. package/packs/z-image-turbo-combo/install-runpod.sh +50 -0
  212. package/packs/z-image-turbo-combo/install-windows.bat +55 -0
  213. package/packs/z-image-turbo-combo/manifest.yaml +35 -0
  214. package/packs/z-image-turbo-combo/pack.yaml +31 -0
  215. package/packs/z-image-turbo-combo/workflow.json +2038 -0
  216. package/packs/z-image-turbo-controlnet/install-runpod.sh +52 -0
  217. package/packs/z-image-turbo-controlnet/install-windows.bat +57 -0
  218. package/packs/z-image-turbo-controlnet/manifest.yaml +45 -0
  219. package/packs/z-image-turbo-controlnet/pack.yaml +33 -0
  220. package/packs/z-image-turbo-controlnet/workflow.json +2607 -0
  221. package/packs/z-image-turbo-detail-daemon/install-runpod.sh +50 -0
  222. package/packs/z-image-turbo-detail-daemon/install-windows.bat +55 -0
  223. package/packs/z-image-turbo-detail-daemon/manifest.yaml +35 -0
  224. package/packs/z-image-turbo-detail-daemon/pack.yaml +31 -0
  225. package/packs/z-image-turbo-detail-daemon/workflow.json +1963 -0
  226. package/packs/z-image-turbo-img2img/install-runpod.sh +50 -0
  227. package/packs/z-image-turbo-img2img/install-windows.bat +55 -0
  228. package/packs/z-image-turbo-img2img/manifest.yaml +35 -0
  229. package/packs/z-image-turbo-img2img/pack.yaml +28 -0
  230. package/packs/z-image-turbo-img2img/workflow.json +1285 -0
  231. package/packs/z-image-turbo-inpainting/install-runpod.sh +47 -0
  232. package/packs/z-image-turbo-inpainting/install-windows.bat +52 -0
  233. package/packs/z-image-turbo-inpainting/manifest.yaml +32 -0
  234. package/packs/z-image-turbo-inpainting/pack.yaml +28 -0
  235. package/packs/z-image-turbo-inpainting/workflow.json +1131 -0
  236. package/packs/z-image-turbo-txt2img/install-runpod.sh +44 -0
  237. package/packs/z-image-turbo-txt2img/install-windows.bat +49 -0
  238. package/packs/z-image-turbo-txt2img/manifest.yaml +29 -0
  239. package/packs/z-image-turbo-txt2img/pack.yaml +27 -0
  240. package/packs/z-image-turbo-txt2img/workflow.json +1137 -0
  241. package/packs/z-image-xy-plot/install-runpod.sh +13 -2
  242. package/packs/z-image-xy-plot/install-windows.bat +12 -2
  243. package/packs/z-image-xy-plot/manifest.yaml +1 -1
  244. package/packs/z-image-xy-plot/pack.yaml +1 -1
  245. package/packs/z-image-xy-plot/workflow.json +1 -1
  246. package/plugin/.mcp.json +1 -1
  247. package/plugin/skills/ernie-image/SKILL.md +12 -0
  248. package/plugin/skills/flux-txt2img/SKILL.md +1 -1
  249. package/plugin/skills/ltxv2-video/SKILL.md +51 -0
  250. package/plugin/skills/report-bug/SKILL.md +135 -0
  251. package/plugin/skills/z-image-txt2img/SKILL.md +3 -3
  252. package/scripts/check-pack-models.mjs +155 -0
  253. package/scripts/gen-pack-installers.mjs +25 -7
  254. package/scripts/mock-panel.mjs +156 -0
  255. package/scripts/probe-bridge.mjs +39 -0
  256. package/scripts/probe-models.mjs +18 -0
  257. package/scripts/slice-pipeline.mjs +79 -0
  258. package/scripts/test-agent.mjs +297 -0
  259. package/scripts/verify-render.mjs +103 -0
  260. package/dist/tools/panel.js +0 -249
  261. package/dist/tools/panel.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,51 @@ All notable changes to this project are documented here. This project adheres to
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## [0.15.0] - 2026-06-19
10
+
11
+ ### Added
12
+
13
+ - **Live-streaming panel chat.** The orchestrator streams extended-thinking and
14
+ reply deltas to the sidebar (collapsible "see thinking" + typewriter reveal),
15
+ with a live thinking-token counter.
16
+ - **SDK slash commands in the composer.** The orchestrator probes
17
+ `query.supportedCommands()` and surfaces the useful built-ins — `/compact`,
18
+ `/context`, `/usage`, `/loop`, `/goal`, `/clear` — in the panel's `/` menu
19
+ (the user's unrelated skills/plugins are filtered out).
20
+ - **Subgraph authoring + canvas tools** — `panel_promote_widget` (expose/retract
21
+ an inner subgraph widget on the parent node), plus the live-graph tool surface
22
+ (subgraph enter/exit/create, node-title rename, workflow tabs, built-in Manager
23
+ install→restart→resume).
24
+ - **Live model-download progress** streamed to the panel's status tray; **loop
25
+ mode** drives a `panel_set_todo` checklist to completion.
26
+ - **Workflow-converter robustness** — a de-virtualization pre-pass (strips
27
+ Get/Set + Reroute), subgraph→subgraph edge relink, top-level virtual
28
+ `PrimitiveNode` resolution, V3 dynamic-combo recognition, default-fill of
29
+ required inputs, and VHS object-form widgets. Packs render-verified: ideogram,
30
+ z-image (turbo/base) ControlNets, qwen-image-edit, ltx-2.3.
31
+
32
+ ### Changed
33
+
34
+ - **Removed the legacy `--channels` mode entirely.** The panel runs only on the
35
+ autonomous orchestrator (`--panel-orchestrator`, dedicated bridge **9180**).
36
+ The `--channels` flag/env, the in-session `panel_*` tools (`panel_say`,
37
+ `panel_inbox`, `panel_status`), and their docs are gone; the shared UI bridge
38
+ stays. A stray session can no longer steal the panel's bridge port.
39
+ - **Panel display name → "ComfyUI Agent Panel"** (registry slug
40
+ `comfyui-agent-panel`); docs and the full `panel_*` tool reference updated.
41
+
42
+ ### Fixed
43
+
44
+ - **Pid-reuse-safe orchestrator kill.** The pack re-verifies a pid's identity
45
+ (cmdline + recorded creation time) immediately before every terminate/kill, and
46
+ records `pidStartedAt` in the lockfile — so a recycled pid can never be mistaken
47
+ for the orchestrator and a user's unrelated process is never signalled.
48
+ - **Race-free turn gate.** Replaced the resolver gate (which could deadlock and
49
+ strand queued messages) with monotonic counters; serialized the input queue
50
+ (one turn per batch, no SDK read-ahead) with true read-receipts.
51
+ - **Installers** target the ComfyUI venv and resolve each custom node's
52
+ `requirements.txt` after clone (was using system Python / skipping deps).
53
+
9
54
  ## [0.14.0] - 2026-06-17
10
55
 
11
56
  ### Added
@@ -0,0 +1,87 @@
1
+ # Pack Split — Validation Status
2
+
3
+ Checkpoint of the effort to split each monolithic "ULTRA" toggle-template pack
4
+ (one ComfyUI graph with many pipeline groups, toggled via rgthree Fast Groups
5
+ Bypassers) into **standalone single-pipeline packs** that load and run with no
6
+ group-toggling.
7
+
8
+ ## The recipe (proven, mechanical)
9
+
10
+ 1. **Slice** one pipeline out of the monolith — backward closure from its output
11
+ node (`SaveImage` / `VHS_VideoCombine`) through links + Set/Get buses.
12
+ `scripts/slice-pipeline.mjs <src> <out> "<group substrs>"`
13
+ 2. **Strip bypass** — un-bypass the kept nodes (top-level + subgraph-definition
14
+ internals), leaving the opt-in prompt-enhancer LLM (`TextGenerate`) off.
15
+ 3. **Convert + verify** — `scripts/verify-render.mjs <workflow.json>` converts
16
+ UI→API via the MCP's `convertUiToApi`, POSTs to a live ComfyUI `/prompt`, and
17
+ confirms a real render. `--convert-only` does the static check without a GPU.
18
+ 4. **Scaffold** — manifest (model subset + custom_nodes + pip), pack.yaml,
19
+ generated installers; gate with `validate-manifests` + `check-pack-models`.
20
+
21
+ ### Converter / dep fixes this required (all committed + tested)
22
+ - `convertUiToApi` honors **bypass/mute** like ComfyUI `graphToPrompt` (exclude +
23
+ passthrough), not the old `_meta.mode` annotation.
24
+ - Resolves virtual **Get/Set bus** nodes (KJNodes) — they're not real `/prompt` nodes.
25
+ - Fills **missing required widget** inputs from object_info defaults (fixed the
26
+ `use_gpu` / `sampling_mode` rejections).
27
+ - `slice-pipeline` un-bypasses **subgraph-definition internals** (else the inner
28
+ VAEDecode stays bypassed and the output drops).
29
+ - Pin **librosa** so comfyui-vrgamedevgirl's grain/sharpen nodes register.
30
+
31
+ ## Status legend
32
+ - ✅ **render-verified** — produced a real image/video on the live ComfyUI `/prompt`.
33
+ - 🟡 **static-validated** — slices clean, converts (0 warnings), manifest validators
34
+ pass; **not yet live-rendered** (waiting on its custom nodes and/or model weights).
35
+ - 🔴 **blocked** — a known issue to fix before it can render.
36
+
37
+ ## Packs
38
+
39
+ | Pack | Source | Pipeline | Status | Notes |
40
+ |------|--------|----------|:------:|-------|
41
+ | `ernie-txt2img` | ernie | text→image | ✅ | 1920×1088 |
42
+ | `ernie-img2img` | ernie | img→image | ✅ | refines a source image |
43
+ | `ernie-combo` | ernie | ERNIE×Z-Image-Turbo | ✅ | 6 images |
44
+ | `z-image-turbo-txt2img` | z-image-turbo | text→image | ✅ | |
45
+ | `z-image-turbo-img2img` | z-image-turbo | img→image | ✅ | |
46
+ | `z-image-turbo-combo` | z-image-turbo | ERNIE×ZIT | ✅ | |
47
+ | `z-image-turbo-detail-daemon` | z-image-turbo | detail-daemon | ✅ | needs ComfyUI-Detail-Daemon |
48
+ | `z-image-base-txt2img` | z-image-base | text→image | ✅ | |
49
+ | `z-image-base-img2img` | z-image-base | img→image | ✅ | |
50
+ | `z-image-base-combo` | z-image-base | combo | ✅ | |
51
+ | `z-image-base-inpaint` | z-image-base | inpaint | ✅ | |
52
+ | `ltx-2.3-txt2vid` | Comfy-Org LTX-2.3 template | text→video | ✅ | **Rebuilt on the official two-stage template** (T2V mode: bypass_i2v + EmptyImage). Render-verified sharp. LTXAVTextEncoderLoader (gemma+ckpt) + gemma abliterated LoRA + dynamic distilled LoRA + ×2 spatial upscale. All-core nodes. See the ltxv2-video skill |
53
+ | `ltx-2.3-img2vid` | Comfy-Org LTX-2.3 template | img→video | ✅ | **Rebuilt on the official two-stage template** (I2V). Render-verified sharp at 1280×704 + 48kHz stereo audio (the sample_woman_video). Same model stack as txt2vid |
54
+ | `ltx-2.3-flf` | LTX ULTRA | first/mid/last-frame | 🟡 | needs rebuild on the official template (old DualCLIPLoader stack = mush) |
55
+ | `ltx-2.3-extender` | LTX ULTRA | video extend (audio) | 🟡 | " |
56
+ | `ltx-2.3-extender-no-audio` | LTX EXTENDER | video extend (no audio) | 🟡 | " |
57
+ | `ltx-2.3-xy-plot` | LTX XY-PLOT | LoRA xy-plot grid | 🟡 | " |
58
+ | `ideogram-txt2img` | ideogram | text→image | ✅ | **render-verified** — the V3 dynamic-combo `<combo>.<nested>` prefix fix (from the LTX work) unblocked the KJNodes (Ideogram4PromptBuilderKJ, ImageSharpenKJ). Sharp Times-Square selfie matching the shipped prompt |
59
+ | `ideogram-img2img` | ideogram | img→image | ✅ | same V3 fix — render-verified |
60
+ | `anima-txt2img` | anima | text→image | 🟡 | **nodes + models all installed** (Impact-Pack/Subpack via venv, ultralytics, tinyterraNodes, SDXL/detector/SAM weights). Converts 0-dangling now (subgraph A→B edge fix landed). Render still short-circuits: UltimateSDUpscale (inside a subgraph) has misaligned widget values (steps=randomize, denoise=simple) — a widget-index mapping issue for link-fed widgets in subgraph context. Last blocker |
61
+ | `anima-img2img` | anima | img→image (controlnet) | 🟡 | same env set up; same subgraph-output-remapping converter gap |
62
+ | `anima-inpaint` | anima | inpaint (controlnet) | 🟡 | same env set up; same subgraph-output-remapping converter gap |
63
+ | `qwen-image-edit-edit` | qwen-image-edit | instruction edit | ✅ | render-verified — two sample-woman inputs hugged in a rainy forest per the shipped instruction. Installed Crystools + downloaded Qwen-Image-Edit Q8 GGUF + Qwen2.5-VL encoders + VAE + Lightning-4step LoRA |
64
+ | `wan-longer-videos-t2v` | wan-longer-videos | text→video | 🟡 | needs WanVideoWrapper + VHS + Wan 14B |
65
+ | `wan-longer-videos-i2v` | wan-longer-videos | img→video | 🟡 | " |
66
+ | `wan-longer-videos-v2v` | wan-longer-videos | video→video | 🟡 | " |
67
+ | `wan-transparent-img2vid` | wan-transparent | img→transparent video | 🟡 | + BiRefNetRMBG |
68
+ | `z-image-turbo-controlnet` | z-image-turbo | controlnet | ✅ | render-verified (DWPose-guided fur-hooded portrait). Two fixes: pinned scikit-image so DWPreprocessor registers (was a silent `skimage` import fail, not an object_info quirk) + top-level PrimitiveNode value resolution so the samplers get steps/step-range (was short-circuiting to a preview) |
69
+ | `z-image-base-controlnet` | z-image-base | controlnet | ✅ | render-verified (DWPose-guided portrait) — same scikit-image + PrimitiveNode fixes; downloaded the Z-Image-Fun-Controlnet-Union-2.1 controlnet model |
70
+ | `wan-animate-character` | wan-animate | v2v character anim | 🔴 | whole WanVideo node suite uninstalled → conversion fails until installed |
71
+ | `z-image-turbo-inpainting` | z-image-turbo | inpaint | 🔴 | corrupt source node `workflow>postiveguid` (no subgraph definition in the monolith) — needs source reconstruction |
72
+
73
+ ## Other notes
74
+ - **`ltx-2.3` and `qwen-image` monolith stubs** had `workflow: null` (no graph). LTX
75
+ workflows were since supplied and split (the 6 `ltx-2.3-*` packs); a plain
76
+ `qwen-image` text-to-image graph was never found — that stub stays unprocessed.
77
+ - Family **skills** (`plugin/skills/*`) are updated per-family as that family is
78
+ fully render-verified (`ernie-image` done).
79
+ - `packs/anima/workflow.json` shows modified in the tree — that's a separate
80
+ concurrent-agent change, not part of this split.
81
+
82
+ ## Next (on the follow-up branch)
83
+ 1. Live render-verify the 🟡 packs: install each family's nodes (skip-permissions),
84
+ download weights, run `verify-render`, commit the passers, update the family skill.
85
+ 2. Fix the 🔴 packs: the controlnet `DWPreprocessor`/object_info quirk; install the
86
+ WanVideo suite for the wan packs; reconstruct the inpainting positive-prompt node.
87
+ 3. Trim the LTX manifests' superset model warnings to each pipeline's real subset.
package/README.md CHANGED
@@ -16,9 +16,9 @@ Works on **macOS**, **Linux**, and **Windows**. Auto-detects your ComfyUI instal
16
16
 
17
17
  The plugin ships **expert skills that grow with every release** — model-specific generation guides with curated download URLs, workflow recipes, troubleshooting, and custom-node authoring — so Claude knows the right sampler, CFG, resolution, and model files for each architecture without trial and error.
18
18
 
19
- > ### ✅ Now available: the [ComfyUI MCP Panel](https://registry.comfy.org/nodes/comfyui-mcp-panel) on ComfyUI-Manager & the Comfy Registry
19
+ > ### ✅ Now available: the [ComfyUI Agent Panel](https://registry.comfy.org/nodes/comfyui-agent-panel) on ComfyUI-Manager & the Comfy Registry
20
20
  > Claude in your ComfyUI sidebar — live graph edits, activity cards, multi-tab, zero API keys.
21
- > v0.3 is live — search **`comfyui-mcp-panel`** in ComfyUI-Manager to install. [Read more →](https://comfyui-mcp.artokun.io/docs/panel)
21
+ > Search **`comfyui-agent-panel`** in ComfyUI-Manager to install. [Read more →](https://comfyui-mcp.artokun.io/docs/panel)
22
22
 
23
23
  📖 **Full documentation: [comfyui-mcp.artokun.io/docs](https://comfyui-mcp.artokun.io/docs)**
24
24
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -133,6 +133,39 @@ export function resetObjectInfoCache() {
133
133
  objectInfoCache = null;
134
134
  logger.debug("object_info cache reset");
135
135
  }
136
+ /**
137
+ * Some custom nodes register individually (`/object_info/<Type>` returns a schema)
138
+ * but are absent from the bulk `/object_info` response — seen with controlnet_aux's
139
+ * `DWPreprocessor`. The converter would then skip the node and silently drop its
140
+ * connections. Backfill the schemas for the given node types missing from
141
+ * `objectInfo` by fetching each one individually, and return a merged copy.
142
+ */
143
+ export async function backfillObjectInfo(objectInfo, nodeTypes) {
144
+ if (isCloudMode())
145
+ return objectInfo;
146
+ const oi = objectInfo;
147
+ const missing = [...new Set(nodeTypes)].filter((t) => t && !(t in oi));
148
+ if (missing.length === 0)
149
+ return objectInfo;
150
+ const base = `${getComfyUIProtocol()}://${getComfyUIApiHost()}/object_info`;
151
+ const merged = { ...oi };
152
+ await Promise.all(missing.map(async (t) => {
153
+ try {
154
+ const res = await fetch(`${base}/${encodeURIComponent(t)}`);
155
+ if (!res.ok)
156
+ return;
157
+ const def = (await res.json());
158
+ if (def && def[t]) {
159
+ merged[t] = def[t];
160
+ logger.info(`Backfilled object_info for '${t}' (missing from bulk /object_info)`);
161
+ }
162
+ }
163
+ catch {
164
+ // Leave it missing — the converter skips + warns as before.
165
+ }
166
+ }));
167
+ return merged;
168
+ }
136
169
  export async function getQueue() {
137
170
  if (isCloudMode())
138
171
  return cloudClient.getQueue();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,60 +3,11 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { ListPromptsRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
5
  import { registerAllTools } from "./tools/index.js";
6
- import { enqueuePanelMessage, registerPanelTools } from "./tools/panel.js";
7
6
  import { logger } from "./utils/logger.js";
8
7
  import { JobWatcher } from "./services/job-watcher.js";
9
- import { startUiBridge } from "./services/ui-bridge.js";
10
8
  import { parseCliArgs } from "./transport/cli.js";
11
9
  import { startHttpServer } from "./transport/http.js";
12
- /**
13
- * Channels mode (--channels / COMFYUI_MCP_CHANNELS=1): start the loopback
14
- * WS bridge the comfyui-mcp-panel pack connects to, register the panel_*
15
- * tools, and forward panel user messages into the agent session — queued for
16
- * panel_inbox, and pushed as a `notifications/claude/channel` event for hosts
17
- * that surface those (Claude Code). The user's own subscription session is
18
- * the agent; no LLM API keys are involved.
19
- */
20
- function enableChannels(server) {
21
- const bridge = startUiBridge();
22
- registerPanelTools(server);
23
- bridge.onPanelMessage = (event) => {
24
- if (event.type !== "user_message" || typeof event.text !== "string")
25
- return;
26
- enqueuePanelMessage(event.text, {
27
- tab_id: event.tab_id,
28
- title: event.title,
29
- subgraph: event.context?.subgraph,
30
- });
31
- // Echo into the originating tab so the user sees their message land.
32
- bridge.push({ type: "echo", text: event.text }, event.tab_id);
33
- // Push into the agent session as a channel event. Requires the
34
- // `claude/channel` experimental capability declared at construction;
35
- // the host injects { content, meta } as a <channel> block in the
36
- // prompt. panel_inbox remains the pull fallback for other hosts.
37
- void server.server
38
- .notification({
39
- method: "notifications/claude/channel",
40
- params: {
41
- content: event.text,
42
- meta: {
43
- source: "comfyui-panel",
44
- kind: "user_message",
45
- ...(event.tab_id ? { tab_id: event.tab_id } : {}),
46
- ...(event.title ? { workflow: event.title } : {}),
47
- ...(event.context?.subgraph ? { subgraph: event.context.subgraph } : {}),
48
- },
49
- },
50
- })
51
- .catch((err) => {
52
- logger.debug("channel notification not delivered", {
53
- error: err instanceof Error ? err.message : String(err),
54
- });
55
- });
56
- };
57
- logger.info("[channels] panel bridge active — panel_* tools registered");
58
- }
59
- async function createConfiguredServer(channels = false) {
10
+ async function createConfiguredServer() {
60
11
  const server = new McpServer({
61
12
  name: "comfyui-mcp",
62
13
  version: "0.1.0",
@@ -72,18 +23,7 @@ async function createConfiguredServer(channels = false) {
72
23
  tools: {},
73
24
  resources: {},
74
25
  prompts: {},
75
- // Channels mode: declaring the experimental `claude/channel`
76
- // capability is what makes Claude Code surface our
77
- // `notifications/claude/channel` pushes (panel user messages) as
78
- // <channel> events in the agent's prompt. Without it the host
79
- // silently drops them.
80
- ...(channels ? { experimental: { "claude/channel": {} } } : {}),
81
26
  },
82
- ...(channels
83
- ? {
84
- instructions: 'Messages the user types into the ComfyUI sidebar panel arrive as <channel source="comfyui-panel" kind="user_message"> events (with the tab_id and workflow title in meta). Act on them and reply with the panel_say tool — that is the only way your words reach the panel. panel_inbox is the pull fallback on hosts without channel support.',
85
- }
86
- : {}),
87
27
  });
88
28
  await registerAllTools(server);
89
29
  server.server.setRequestHandler(ListResourcesRequestSchema, async () => ({
@@ -93,8 +33,6 @@ async function createConfiguredServer(channels = false) {
93
33
  server.server.setRequestHandler(ListPromptsRequestSchema, async () => ({
94
34
  prompts: [],
95
35
  }));
96
- if (channels)
97
- enableChannels(server);
98
36
  return server;
99
37
  }
100
38
  async function main() {
@@ -111,12 +49,12 @@ async function main() {
111
49
  await startHttpServer({
112
50
  host: cli.host,
113
51
  port: cli.port,
114
- createServer: () => createConfiguredServer(cli.channels),
52
+ createServer: () => createConfiguredServer(),
115
53
  });
116
54
  logger.info(`ComfyUI MCP server running on http://${cli.host}:${cli.port}/mcp`);
117
55
  }
118
56
  else {
119
- const server = await createConfiguredServer(cli.channels);
57
+ const server = await createConfiguredServer();
120
58
  const transport = new StdioServerTransport();
121
59
  await server.connect(transport);
122
60
  logger.info("ComfyUI MCP server running on stdio");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}