comfyui-mcp 0.13.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 (379) hide show
  1. package/.beads/hooks/post-checkout +24 -0
  2. package/.beads/hooks/post-merge +24 -0
  3. package/.beads/hooks/pre-commit +24 -0
  4. package/.beads/hooks/pre-push +24 -0
  5. package/.beads/hooks/prepare-commit-msg +24 -0
  6. package/.gitattributes +4 -0
  7. package/CHANGELOG.md +135 -0
  8. package/PACK-SPLIT-STATUS.md +87 -0
  9. package/README.md +6 -4
  10. package/assets/controlnet_demo.png +0 -0
  11. package/assets/ideogram_demo.png +0 -0
  12. package/assets/ltx_sharp_demo.png +0 -0
  13. package/assets/ltx_t2v_demo.png +0 -0
  14. package/assets/qwen_edit_demo.png +0 -0
  15. package/assets/sample_woman.png +0 -0
  16. package/assets/sample_woman_video.mp4 +0 -0
  17. package/dist/comfyui/client.js +33 -0
  18. package/dist/comfyui/client.js.map +1 -1
  19. package/dist/index.js +10 -65
  20. package/dist/index.js.map +1 -1
  21. package/dist/orchestrator/index.js +616 -0
  22. package/dist/orchestrator/index.js.map +1 -0
  23. package/dist/orchestrator/panel-agent.js +908 -0
  24. package/dist/orchestrator/panel-agent.js.map +1 -0
  25. package/dist/orchestrator/panel-tools.js +328 -0
  26. package/dist/orchestrator/panel-tools.js.map +1 -0
  27. package/dist/services/download-cache.js +48 -9
  28. package/dist/services/download-cache.js.map +1 -1
  29. package/dist/services/download-progress.js +57 -0
  30. package/dist/services/download-progress.js.map +1 -0
  31. package/dist/services/job-watcher.js +28 -1
  32. package/dist/services/job-watcher.js.map +1 -1
  33. package/dist/services/model-resolver.js +23 -7
  34. package/dist/services/model-resolver.js.map +1 -1
  35. package/dist/services/node-management.js +99 -49
  36. package/dist/services/node-management.js.map +1 -1
  37. package/dist/services/panel-settings.js +53 -0
  38. package/dist/services/panel-settings.js.map +1 -0
  39. package/dist/services/ui-bridge.js +166 -84
  40. package/dist/services/ui-bridge.js.map +1 -1
  41. package/dist/services/user-mcp-config.js +111 -0
  42. package/dist/services/user-mcp-config.js.map +1 -0
  43. package/dist/services/workflow-converter.js +338 -60
  44. package/dist/services/workflow-converter.js.map +1 -1
  45. package/dist/tools/diagnostics.js +22 -9
  46. package/dist/tools/diagnostics.js.map +1 -1
  47. package/dist/tools/index.js +2 -0
  48. package/dist/tools/index.js.map +1 -1
  49. package/dist/tools/report-issue.js +56 -0
  50. package/dist/tools/report-issue.js.map +1 -0
  51. package/dist/tools/workflow-compose.js +4 -4
  52. package/dist/tools/workflow-compose.js.map +1 -1
  53. package/dist/tools/workflow-deps.js +2 -2
  54. package/dist/tools/workflow-deps.js.map +1 -1
  55. package/dist/tools/workflow-library.js +7 -4
  56. package/dist/tools/workflow-library.js.map +1 -1
  57. package/dist/tools/workflow-validate.js +1 -1
  58. package/dist/tools/workflow-validate.js.map +1 -1
  59. package/dist/tools/workflow-visualize.js +2 -2
  60. package/dist/tools/workflow-visualize.js.map +1 -1
  61. package/dist/transport/cli.js +5 -7
  62. package/dist/transport/cli.js.map +1 -1
  63. package/model-settings.json +1 -1
  64. package/package.json +11 -4
  65. package/packs/README.md +65 -0
  66. package/packs/anima/install-runpod.sh +60 -0
  67. package/packs/anima/install-windows.bat +65 -0
  68. package/packs/anima/manifest.yaml +72 -0
  69. package/packs/anima/pack.yaml +25 -0
  70. package/packs/anima/workflow.json +16026 -0
  71. package/packs/anima-img2img/install-runpod.sh +56 -0
  72. package/packs/anima-img2img/install-windows.bat +61 -0
  73. package/packs/anima-img2img/manifest.yaml +69 -0
  74. package/packs/anima-img2img/pack.yaml +30 -0
  75. package/packs/anima-img2img/workflow.json +7076 -0
  76. package/packs/anima-inpaint/install-runpod.sh +49 -0
  77. package/packs/anima-inpaint/install-windows.bat +54 -0
  78. package/packs/anima-inpaint/manifest.yaml +50 -0
  79. package/packs/anima-inpaint/pack.yaml +29 -0
  80. package/packs/anima-inpaint/workflow.json +2009 -0
  81. package/packs/anima-txt2img/install-runpod.sh +55 -0
  82. package/packs/anima-txt2img/install-windows.bat +60 -0
  83. package/packs/anima-txt2img/manifest.yaml +62 -0
  84. package/packs/anima-txt2img/pack.yaml +28 -0
  85. package/packs/anima-txt2img/workflow.json +6442 -0
  86. package/packs/cozy-flow/install-runpod.sh +46 -0
  87. package/packs/cozy-flow/install-windows.bat +51 -0
  88. package/packs/cozy-flow/manifest.yaml +60 -0
  89. package/packs/cozy-flow/pack.yaml +69 -0
  90. package/packs/cozy-flow/workflow.json +2552 -0
  91. package/packs/ernie/_slices/combo.json +9661 -0
  92. package/packs/ernie/_slices/img2img.json +2568 -0
  93. package/packs/ernie/_slices/txt2img.json +2379 -0
  94. package/packs/ernie/install-runpod.sh +52 -0
  95. package/packs/ernie/install-windows.bat +57 -0
  96. package/packs/ernie/manifest.yaml +65 -0
  97. package/packs/ernie/pack.yaml +53 -0
  98. package/packs/ernie/workflow.json +16050 -0
  99. package/packs/ernie-combo/install-runpod.sh +50 -0
  100. package/packs/ernie-combo/install-windows.bat +55 -0
  101. package/packs/ernie-combo/manifest.yaml +40 -0
  102. package/packs/ernie-combo/pack.yaml +37 -0
  103. package/packs/ernie-combo/workflow.json +9661 -0
  104. package/packs/ernie-img2img/install-runpod.sh +47 -0
  105. package/packs/ernie-img2img/install-windows.bat +52 -0
  106. package/packs/ernie-img2img/manifest.yaml +35 -0
  107. package/packs/ernie-img2img/pack.yaml +35 -0
  108. package/packs/ernie-img2img/workflow.json +2568 -0
  109. package/packs/ernie-txt2img/install-runpod.sh +47 -0
  110. package/packs/ernie-txt2img/install-windows.bat +52 -0
  111. package/packs/ernie-txt2img/manifest.yaml +35 -0
  112. package/packs/ernie-txt2img/pack.yaml +38 -0
  113. package/packs/ernie-txt2img/workflow.json +2379 -0
  114. package/packs/ideogram/install-runpod.sh +40 -0
  115. package/packs/ideogram/install-windows.bat +45 -0
  116. package/packs/ideogram/manifest.yaml +29 -0
  117. package/packs/ideogram/pack.yaml +38 -0
  118. package/packs/ideogram/templates/01_Film_Poster.json +71 -0
  119. package/packs/ideogram/templates/02_TShirt_Graphic_Print.json +34 -0
  120. package/packs/ideogram/templates/03_Fantasy_Book_Cover.json +69 -0
  121. package/packs/ideogram/templates/04_Event_Flyer_Poster.json +82 -0
  122. package/packs/ideogram/templates/05_Comic_Book_Cover.json +84 -0
  123. package/packs/ideogram/templates/06_Company_Logo_Concept_Board.json +114 -0
  124. package/packs/ideogram/templates/07_Personal_Branding_Sheet.json +75 -0
  125. package/packs/ideogram/templates/08_Social_Media_Branding_Kit.json +92 -0
  126. package/packs/ideogram/templates/09_Mascot_Brand_Kit.json +89 -0
  127. package/packs/ideogram/templates/10_Luxury_Brand_Identity.json +120 -0
  128. package/packs/ideogram/templates/11_Food_Promo_Poster.json +156 -0
  129. package/packs/ideogram/templates/12_Real_Estate_Promotion.json +117 -0
  130. package/packs/ideogram/templates/13_Restaurant_Fast_Food_Menu.json +123 -0
  131. package/packs/ideogram/templates/14_Product_Advertisement.json +114 -0
  132. package/packs/ideogram/templates/15_Tech_Service_Promotion.json +132 -0
  133. package/packs/ideogram/templates/16_2D_Character_Sheet.json +71 -0
  134. package/packs/ideogram/templates/17_3D_Character_Sheet.json +63 -0
  135. package/packs/ideogram/templates/18_Game_Item_Asset_Sheet.json +135 -0
  136. package/packs/ideogram/templates/19_Magazine_Cover_Design.json +108 -0
  137. package/packs/ideogram/templates/20_Trading_Card_Design.json +108 -0
  138. package/packs/ideogram/templates/21_Painting_Style_Scene.json +51 -0
  139. package/packs/ideogram/templates/22_Anime_Magazine_Cover.json +114 -0
  140. package/packs/ideogram/templates/23_Anime_Poster.json +127 -0
  141. package/packs/ideogram/templates/24_Realistic_Photoshoot_Scene.json +18 -0
  142. package/packs/ideogram/templates/25_Cross_Style_Group_Photo.json +28 -0
  143. package/packs/ideogram/templates/README_IDEOGRAM4_TEMPLATE_PACK.txt +470 -0
  144. package/packs/ideogram/workflow.json +6472 -0
  145. package/packs/ideogram-img2img/install-runpod.sh +40 -0
  146. package/packs/ideogram-img2img/install-windows.bat +45 -0
  147. package/packs/ideogram-img2img/manifest.yaml +34 -0
  148. package/packs/ideogram-img2img/pack.yaml +32 -0
  149. package/packs/ideogram-img2img/workflow.json +3124 -0
  150. package/packs/ideogram-txt2img/install-runpod.sh +40 -0
  151. package/packs/ideogram-txt2img/install-windows.bat +45 -0
  152. package/packs/ideogram-txt2img/manifest.yaml +33 -0
  153. package/packs/ideogram-txt2img/pack.yaml +30 -0
  154. package/packs/ideogram-txt2img/workflow.json +3041 -0
  155. package/packs/ltx-2.3/fix-ltxvideo-kornia.bat +122 -0
  156. package/packs/ltx-2.3/fix-ltxvideo-kornia.sh +91 -0
  157. package/packs/ltx-2.3/install-runpod.sh +55 -0
  158. package/packs/ltx-2.3/install-windows.bat +60 -0
  159. package/packs/ltx-2.3/manifest.yaml +58 -0
  160. package/packs/ltx-2.3/pack.yaml +48 -0
  161. package/packs/ltx-2.3-extender/install-runpod.sh +55 -0
  162. package/packs/ltx-2.3-extender/install-windows.bat +60 -0
  163. package/packs/ltx-2.3-extender/manifest.yaml +58 -0
  164. package/packs/ltx-2.3-extender/pack.yaml +20 -0
  165. package/packs/ltx-2.3-extender/workflow.json +5772 -0
  166. package/packs/ltx-2.3-extender-no-audio/install-runpod.sh +55 -0
  167. package/packs/ltx-2.3-extender-no-audio/install-windows.bat +60 -0
  168. package/packs/ltx-2.3-extender-no-audio/manifest.yaml +58 -0
  169. package/packs/ltx-2.3-extender-no-audio/pack.yaml +20 -0
  170. package/packs/ltx-2.3-extender-no-audio/workflow.json +5968 -0
  171. package/packs/ltx-2.3-flf/install-runpod.sh +55 -0
  172. package/packs/ltx-2.3-flf/install-windows.bat +60 -0
  173. package/packs/ltx-2.3-flf/manifest.yaml +58 -0
  174. package/packs/ltx-2.3-flf/pack.yaml +20 -0
  175. package/packs/ltx-2.3-flf/workflow.json +6173 -0
  176. package/packs/ltx-2.3-img2vid/install-runpod.sh +40 -0
  177. package/packs/ltx-2.3-img2vid/install-windows.bat +45 -0
  178. package/packs/ltx-2.3-img2vid/manifest.yaml +41 -0
  179. package/packs/ltx-2.3-img2vid/pack.yaml +20 -0
  180. package/packs/ltx-2.3-img2vid/workflow.json +5062 -0
  181. package/packs/ltx-2.3-txt2vid/install-runpod.sh +40 -0
  182. package/packs/ltx-2.3-txt2vid/install-windows.bat +45 -0
  183. package/packs/ltx-2.3-txt2vid/manifest.yaml +40 -0
  184. package/packs/ltx-2.3-txt2vid/pack.yaml +20 -0
  185. package/packs/ltx-2.3-txt2vid/workflow.json +1 -0
  186. package/packs/ltx-2.3-xy-plot/install-runpod.sh +55 -0
  187. package/packs/ltx-2.3-xy-plot/install-windows.bat +60 -0
  188. package/packs/ltx-2.3-xy-plot/manifest.yaml +58 -0
  189. package/packs/ltx-2.3-xy-plot/pack.yaml +24 -0
  190. package/packs/ltx-2.3-xy-plot/workflow.json +8103 -0
  191. package/packs/qwen-image/install-runpod.sh +53 -0
  192. package/packs/qwen-image/install-windows.bat +58 -0
  193. package/packs/qwen-image/manifest.yaml +77 -0
  194. package/packs/qwen-image/pack.yaml +45 -0
  195. package/packs/qwen-image-edit/install-runpod.sh +50 -0
  196. package/packs/qwen-image-edit/install-windows.bat +55 -0
  197. package/packs/qwen-image-edit/manifest.yaml +74 -0
  198. package/packs/qwen-image-edit/pack.yaml +45 -0
  199. package/packs/qwen-image-edit/workflow-inpainting.json +2351 -0
  200. package/packs/qwen-image-edit/workflow.json +2089 -0
  201. package/packs/qwen-image-edit-edit/install-runpod.sh +47 -0
  202. package/packs/qwen-image-edit-edit/install-windows.bat +52 -0
  203. package/packs/qwen-image-edit-edit/manifest.yaml +68 -0
  204. package/packs/qwen-image-edit-edit/pack.yaml +34 -0
  205. package/packs/qwen-image-edit-edit/workflow.json +980 -0
  206. package/packs/wan-animate/install-runpod.sh +50 -0
  207. package/packs/wan-animate/install-windows.bat +55 -0
  208. package/packs/wan-animate/manifest.yaml +57 -0
  209. package/packs/wan-animate/pack.yaml +49 -0
  210. package/packs/wan-animate/workflow.json +6993 -0
  211. package/packs/wan-animate-character/install-runpod.sh +48 -0
  212. package/packs/wan-animate-character/install-windows.bat +53 -0
  213. package/packs/wan-animate-character/manifest.yaml +53 -0
  214. package/packs/wan-animate-character/pack.yaml +44 -0
  215. package/packs/wan-animate-character/workflow.json +5234 -0
  216. package/packs/wan-longer-videos/install-runpod.sh +50 -0
  217. package/packs/wan-longer-videos/install-windows.bat +55 -0
  218. package/packs/wan-longer-videos/manifest.yaml +71 -0
  219. package/packs/wan-longer-videos/pack.yaml +42 -0
  220. package/packs/wan-longer-videos/workflow.json +22538 -0
  221. package/packs/wan-longer-videos-i2v/install-runpod.sh +44 -0
  222. package/packs/wan-longer-videos-i2v/install-windows.bat +49 -0
  223. package/packs/wan-longer-videos-i2v/manifest.yaml +39 -0
  224. package/packs/wan-longer-videos-i2v/pack.yaml +40 -0
  225. package/packs/wan-longer-videos-i2v/workflow.json +6722 -0
  226. package/packs/wan-longer-videos-t2v/install-runpod.sh +49 -0
  227. package/packs/wan-longer-videos-t2v/install-windows.bat +54 -0
  228. package/packs/wan-longer-videos-t2v/manifest.yaml +50 -0
  229. package/packs/wan-longer-videos-t2v/pack.yaml +40 -0
  230. package/packs/wan-longer-videos-t2v/workflow.json +6613 -0
  231. package/packs/wan-longer-videos-v2v/install-runpod.sh +44 -0
  232. package/packs/wan-longer-videos-v2v/install-windows.bat +49 -0
  233. package/packs/wan-longer-videos-v2v/manifest.yaml +39 -0
  234. package/packs/wan-longer-videos-v2v/pack.yaml +40 -0
  235. package/packs/wan-longer-videos-v2v/workflow.json +6964 -0
  236. package/packs/wan-transparent/expression-renamer.bat +21 -0
  237. package/packs/wan-transparent/install-runpod.sh +46 -0
  238. package/packs/wan-transparent/install-windows.bat +51 -0
  239. package/packs/wan-transparent/manifest.yaml +49 -0
  240. package/packs/wan-transparent/pack.yaml +49 -0
  241. package/packs/wan-transparent/workflow.json +2194 -0
  242. package/packs/wan-transparent-img2vid/install-runpod.sh +46 -0
  243. package/packs/wan-transparent-img2vid/install-windows.bat +51 -0
  244. package/packs/wan-transparent-img2vid/manifest.yaml +48 -0
  245. package/packs/wan-transparent-img2vid/pack.yaml +44 -0
  246. package/packs/wan-transparent-img2vid/workflow.json +1848 -0
  247. package/packs/z-image-base/install-runpod.sh +51 -0
  248. package/packs/z-image-base/install-windows.bat +56 -0
  249. package/packs/z-image-base/manifest.yaml +75 -0
  250. package/packs/z-image-base/pack.yaml +39 -0
  251. package/packs/z-image-base/workflow.json +15198 -0
  252. package/packs/z-image-base-combo/install-runpod.sh +51 -0
  253. package/packs/z-image-base-combo/install-windows.bat +56 -0
  254. package/packs/z-image-base-combo/manifest.yaml +42 -0
  255. package/packs/z-image-base-combo/pack.yaml +31 -0
  256. package/packs/z-image-base-combo/workflow.json +4918 -0
  257. package/packs/z-image-base-controlnet/install-runpod.sh +53 -0
  258. package/packs/z-image-base-controlnet/install-windows.bat +58 -0
  259. package/packs/z-image-base-controlnet/manifest.yaml +51 -0
  260. package/packs/z-image-base-controlnet/pack.yaml +33 -0
  261. package/packs/z-image-base-controlnet/workflow.json +3992 -0
  262. package/packs/z-image-base-img2img/install-runpod.sh +50 -0
  263. package/packs/z-image-base-img2img/install-windows.bat +55 -0
  264. package/packs/z-image-base-img2img/manifest.yaml +37 -0
  265. package/packs/z-image-base-img2img/pack.yaml +29 -0
  266. package/packs/z-image-base-img2img/workflow.json +1621 -0
  267. package/packs/z-image-base-inpaint/install-runpod.sh +47 -0
  268. package/packs/z-image-base-inpaint/install-windows.bat +52 -0
  269. package/packs/z-image-base-inpaint/manifest.yaml +34 -0
  270. package/packs/z-image-base-inpaint/pack.yaml +29 -0
  271. package/packs/z-image-base-inpaint/workflow.json +1780 -0
  272. package/packs/z-image-base-txt2img/install-runpod.sh +50 -0
  273. package/packs/z-image-base-txt2img/install-windows.bat +55 -0
  274. package/packs/z-image-base-txt2img/manifest.yaml +37 -0
  275. package/packs/z-image-base-txt2img/pack.yaml +29 -0
  276. package/packs/z-image-base-txt2img/workflow.json +1416 -0
  277. package/packs/z-image-turbo/install-runpod.sh +50 -0
  278. package/packs/z-image-turbo/install-windows.bat +55 -0
  279. package/packs/z-image-turbo/manifest.yaml +61 -0
  280. package/packs/z-image-turbo/pack.yaml +40 -0
  281. package/packs/z-image-turbo/workflow.json +12120 -0
  282. package/packs/z-image-turbo-combo/install-runpod.sh +50 -0
  283. package/packs/z-image-turbo-combo/install-windows.bat +55 -0
  284. package/packs/z-image-turbo-combo/manifest.yaml +35 -0
  285. package/packs/z-image-turbo-combo/pack.yaml +31 -0
  286. package/packs/z-image-turbo-combo/workflow.json +2038 -0
  287. package/packs/z-image-turbo-controlnet/install-runpod.sh +52 -0
  288. package/packs/z-image-turbo-controlnet/install-windows.bat +57 -0
  289. package/packs/z-image-turbo-controlnet/manifest.yaml +45 -0
  290. package/packs/z-image-turbo-controlnet/pack.yaml +33 -0
  291. package/packs/z-image-turbo-controlnet/workflow.json +2607 -0
  292. package/packs/z-image-turbo-detail-daemon/install-runpod.sh +50 -0
  293. package/packs/z-image-turbo-detail-daemon/install-windows.bat +55 -0
  294. package/packs/z-image-turbo-detail-daemon/manifest.yaml +35 -0
  295. package/packs/z-image-turbo-detail-daemon/pack.yaml +31 -0
  296. package/packs/z-image-turbo-detail-daemon/workflow.json +1963 -0
  297. package/packs/z-image-turbo-img2img/install-runpod.sh +50 -0
  298. package/packs/z-image-turbo-img2img/install-windows.bat +55 -0
  299. package/packs/z-image-turbo-img2img/manifest.yaml +35 -0
  300. package/packs/z-image-turbo-img2img/pack.yaml +28 -0
  301. package/packs/z-image-turbo-img2img/workflow.json +1285 -0
  302. package/packs/z-image-turbo-inpainting/install-runpod.sh +47 -0
  303. package/packs/z-image-turbo-inpainting/install-windows.bat +52 -0
  304. package/packs/z-image-turbo-inpainting/manifest.yaml +32 -0
  305. package/packs/z-image-turbo-inpainting/pack.yaml +28 -0
  306. package/packs/z-image-turbo-inpainting/workflow.json +1131 -0
  307. package/packs/z-image-turbo-txt2img/install-runpod.sh +44 -0
  308. package/packs/z-image-turbo-txt2img/install-windows.bat +49 -0
  309. package/packs/z-image-turbo-txt2img/manifest.yaml +29 -0
  310. package/packs/z-image-turbo-txt2img/pack.yaml +27 -0
  311. package/packs/z-image-turbo-txt2img/workflow.json +1137 -0
  312. package/packs/z-image-xy-plot/install-runpod.sh +44 -0
  313. package/packs/z-image-xy-plot/install-windows.bat +49 -0
  314. package/packs/z-image-xy-plot/manifest.yaml +61 -0
  315. package/packs/z-image-xy-plot/pack.yaml +49 -0
  316. package/packs/z-image-xy-plot/workflow.json +5302 -0
  317. package/plugin/.claude-plugin/plugin.json +10 -0
  318. package/plugin/.mcp.json +1 -1
  319. package/plugin/agents/debugger.md +171 -0
  320. package/plugin/agents/explorer.md +65 -0
  321. package/plugin/agents/optimizer.md +196 -0
  322. package/plugin/agents/researcher.md +56 -0
  323. package/plugin/commands/batch.md +90 -0
  324. package/plugin/commands/compare.md +83 -0
  325. package/plugin/commands/convert.md +78 -0
  326. package/plugin/commands/debug.md +72 -0
  327. package/plugin/commands/director.md +134 -0
  328. package/plugin/commands/gallery.md +61 -0
  329. package/plugin/commands/gen.md +110 -0
  330. package/plugin/commands/install.md +68 -0
  331. package/plugin/commands/node-skill.md +39 -0
  332. package/plugin/commands/recipe.md +125 -0
  333. package/plugin/commands/viz.md +39 -0
  334. package/plugin/hooks/hooks.json +36 -0
  335. package/plugin/hooks/job-complete-notify.mjs +110 -0
  336. package/plugin/hooks/open-latest-image.mjs +82 -0
  337. package/plugin/hooks/save-warning.mjs +21 -0
  338. package/plugin/hooks/vram-check.mjs +72 -0
  339. package/plugin/skills/ai-toolkit-trainer/SKILL.md +145 -0
  340. package/plugin/skills/anima-base/SKILL.md +240 -0
  341. package/plugin/skills/anima-lora-trainer/SKILL.md +162 -0
  342. package/plugin/skills/civitai/SKILL.md +107 -0
  343. package/plugin/skills/comfyui-core/SKILL.md +264 -0
  344. package/plugin/skills/comfyui-core/references/common-nodes.md +149 -0
  345. package/plugin/skills/comfyui-frontend-extensions/SKILL.md +502 -0
  346. package/plugin/skills/comfyui-frontend-extensions/references/migrate-v1-to-v2.md +222 -0
  347. package/plugin/skills/comfyui-node-registry/SKILL.md +218 -0
  348. package/plugin/skills/comfyui-node-registry/references/pyproject.toml +65 -0
  349. package/plugin/skills/director/SKILL.md +321 -0
  350. package/plugin/skills/ernie-image/SKILL.md +237 -0
  351. package/plugin/skills/flux-txt2img/SKILL.md +285 -0
  352. package/plugin/skills/ideogram-ultra/SKILL.md +337 -0
  353. package/plugin/skills/installer-packs/SKILL.md +74 -0
  354. package/plugin/skills/ltxv2-video/SKILL.md +566 -0
  355. package/plugin/skills/model-compatibility/SKILL.md +434 -0
  356. package/plugin/skills/model-registry/SKILL.md +101 -0
  357. package/plugin/skills/prompt-engineering/SKILL.md +304 -0
  358. package/plugin/skills/qwen-image-edit/SKILL.md +282 -0
  359. package/plugin/skills/qwen-txt2img/SKILL.md +332 -0
  360. package/plugin/skills/report-bug/SKILL.md +135 -0
  361. package/plugin/skills/troubleshooting/SKILL.md +424 -0
  362. package/plugin/skills/wan-flf-video/SKILL.md +514 -0
  363. package/plugin/skills/wan-t2v-video/SKILL.md +322 -0
  364. package/plugin/skills/z-image-txt2img/SKILL.md +294 -0
  365. package/scripts/check-model-urls.mjs +160 -0
  366. package/scripts/check-pack-models.mjs +155 -0
  367. package/scripts/gen-pack-installers.mjs +151 -0
  368. package/scripts/gen-tool-docs.ts +4 -8
  369. package/scripts/mock-panel.mjs +156 -0
  370. package/scripts/panel-sim.mjs +56 -0
  371. package/scripts/probe-bridge.mjs +39 -0
  372. package/scripts/probe-models.mjs +18 -0
  373. package/scripts/slice-pipeline.mjs +79 -0
  374. package/scripts/test-agent.mjs +297 -0
  375. package/scripts/test-packs.sh +87 -0
  376. package/scripts/validate-manifests.mjs +29 -0
  377. package/scripts/verify-render.mjs +103 -0
  378. package/dist/tools/panel.js +0 -249
  379. package/dist/tools/panel.js.map +0 -1
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run post-checkout "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'post-checkout' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run post-checkout "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'post-checkout'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run post-merge "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'post-merge' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run post-merge "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'post-merge'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run pre-commit "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'pre-commit' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run pre-commit "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'pre-commit'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run pre-push "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'pre-push' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run pre-push "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'pre-push'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run prepare-commit-msg "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'prepare-commit-msg' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run prepare-commit-msg "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'prepare-commit-msg'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
package/.gitattributes ADDED
@@ -0,0 +1,4 @@
1
+ # Keep generated pack installers deterministic across OSes so CI's
2
+ # "installers up to date" check is stable.
3
+ *.sh text eol=lf
4
+ *.bat text eol=crlf
package/CHANGELOG.md CHANGED
@@ -6,6 +6,141 @@ 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
+
54
+ ## [0.14.0] - 2026-06-17
55
+
56
+ ### Added
57
+
58
+ - **Autonomous panel orchestrator — drive the ComfyUI sidebar with a background
59
+ agent on your Claude subscription (no API key).** `comfyui-mcp --panel-orchestrator`
60
+ owns the loopback bridge and spawns one persistent Claude Agent SDK session per
61
+ panel tab, so the sidebar works on its own and your interactive Claude session
62
+ stays free. Agents authenticate via the on-disk Claude login (`apiKeySource=none`)
63
+ and load the bundled plugin's skills, so they're ComfyUI experts out of the box.
64
+ Replaces the unshippable `--sdk-url`/CCR-v2 path (guarded on current Claude
65
+ Code). The panel pack auto-starts the orchestrator on ComfyUI load, and a
66
+ parent-PID beacon shuts it down when ComfyUI exits. See
67
+ `docs/blog/panel-agent-subscription`.
68
+
69
+ - **`installer-packs` skill.** Teaches agents how to use, build, and derive
70
+ packs (manifest → generated install scripts) and to **proactively invite users
71
+ to contribute new packs upstream** — an issue/PR with `manifest.yaml` +
72
+ `pack.yaml` + `workflow.json`, reviewed for safety and CI-validated on merge.
73
+
74
+ - **`ai-toolkit-trainer` skill (renamed from `wan-lora-trainer`).** Generalized
75
+ the ostris AI-Toolkit trainer skill to cover **Z-Image** (Turbo & Base, low-VRAM
76
+ image LoRAs) alongside WAN 2.2 — Z-Image is single-stream (no hi/lo multi-stage),
77
+ plus the V2 embedded-Python installer and the `No module named 'torchaudio'` fix.
78
+
79
+ - **Eight more installer packs + a WAN LoRA-trainer skill.** New `packs/`: WAN
80
+ (`wan-animate`, `wan-longer-videos`, `wan-transparent`), Qwen (`qwen-image`,
81
+ `qwen-image-edit`) and Z-Image (`z-image-turbo`, `z-image-base`,
82
+ `z-image-xy-plot`), plus `cozy-flow` (AI-influencer image+video, derived from
83
+ its workflow with no upstream installer) — bringing the catalog to **13 packs**, each manifest-driven
84
+ with generated `install-windows.bat` / `install-runpod.sh` and CI URL+size
85
+ validation. New `wan-lora-trainer` skill (ostris AI-Toolkit) for training WAN
86
+ 2.2 LoRAs. The LTX pack ships its kornia import fix as both `.bat` and `.sh`.
87
+
88
+ - **Blog — "Installer packs that can't rot."** Why the packs are a single
89
+ manifest driving both the double-click scripts and an MCP-native install, with
90
+ CI that fails the build the moment a model link dies
91
+ (`docs/blog/installer-packs-that-cant-rot`).
92
+
93
+ - **Five new model-family skills.** `ideogram-ultra` (Ideogram 4 — open-weight
94
+ text-to-image with area prompting, logos, posters, readable text),
95
+ `ernie-image` (ERNIE-Image — fast text-to-image with precise multilingual text
96
+ rendering, runs on <8GB VRAM), `anima-base` (ANIMA 1.0 — ~2B anime/illustration
97
+ model, Danbooru tags + natural language, anime inpainting, <6GB VRAM), and
98
+ `anima-lora-trainer` (kohya `sd-scripts` Gradio trainer for custom anime
99
+ LoRAs). Each frontmatter `description` is tuned as an agent routing signal so
100
+ Claude picks the right model per task (anime → ANIMA, typography/control →
101
+ Ideogram, fast text-render → ERNIE, editing → Qwen-Edit, video → LTX).
102
+
103
+ - **Installer packs (`packs/`) — manifest-driven, one-command ComfyUI setups.**
104
+ Each pack (`anima`, `ideogram`, `ltx-2.3`, `ernie`) is a `manifest.yaml` (a
105
+ pure `ComfyManifest` consumable by `apply_manifest`) plus `pack.yaml` metadata
106
+ and the workflow, with cross-platform `install-windows.bat` /
107
+ `install-runpod.sh` generated from the manifest by
108
+ `scripts/gen-pack-installers.mjs` (`npm run packs:gen`). Validation tooling:
109
+ `npm run packs:validate` (schema), `packs:test` (offline idempotency dry-run
110
+ with `git`/`curl` stubbed), and `packs:check-urls` (HEAD/range check that every
111
+ model URL resolves and its payload size is sane for the model type — no full
112
+ downloads). A `.github/workflows/packs.yml` CI job runs all of these on
113
+ `ubuntu-latest`.
114
+
115
+ ### Changed
116
+
117
+ - **Migrated to zod 4.** Lets the Claude Agent SDK be a clean optional
118
+ dependency (its zod 4 peer is now satisfied); `gen-tool-docs` uses zod's native
119
+ `toJSONSchema`, and tool schemas use the two-arg `z.record(key, value)` form.
120
+
121
+ - **The plugin now ships in the npm package.** A stale `.npmignore` rule was
122
+ excluding `plugin/` (skills, agents, commands, hooks); anchored those patterns
123
+ to repo root so the bundled plugin is published — which is what lets the
124
+ orchestrator's agents load skills and be experts out of the box.
125
+
126
+ - **`ltxv2-video` skill upgraded to LTX-2.3.** GGUF UNet via `UnetLoaderGGUF`,
127
+ separate video/audio VAEs + text-projection, the spatial upscaler and new
128
+ LoRAs, the kornia 0.8.3+ import fix (`fix-ltxvideo-kornia.{bat,sh}`), and
129
+ guidance for swapping in alternate / GGUF base models (incl. the community
130
+ "sulphur" LTX-2.3 finetune).
131
+
132
+ ### Fixed
133
+
134
+ - **Windows dev: the full test suite is green.** Fixed 27 tests that assumed
135
+ POSIX paths/commands (`/fake` separators, `which` vs `where`) — test-only
136
+ changes; the product itself was already cross-platform.
137
+
138
+ - **UI bridge survives fast `/mcp` reconnects.** The `--channels` WebSocket
139
+ bridge now retries binding `127.0.0.1:9101` with exponential backoff
140
+ (5 attempts, ~6s) when a previous session hasn't released the port yet,
141
+ instead of failing with `-32000`. It logs "listening" only once truly bound,
142
+ uses a cross-platform port-in-use hint, and clears the retry timer on `stop()`.
143
+
9
144
  ## [0.13.0] - 2026-06-15
10
145
 
11
146
  ### 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
@@ -12,13 +12,13 @@
12
12
 
13
13
  Works on **macOS**, **Linux**, and **Windows**. Auto-detects your ComfyUI installation and port.
14
14
 
15
- **89 MCP tools** | **16 AI skills** (Flux · WAN · LTX video · Qwen · Z-Image · model registry · Civitai · node authoring) | **11 slash commands** | **4 autonomous agents** | **4 hooks**
15
+ **89 MCP tools** | **22 AI skills** (Flux · WAN · LTX 2.3 video · Qwen · Z-Image · Ideogram 4 · ERNIE · ANIMA · model registry · Civitai · node authoring) | **13 installer packs** | **11 slash commands** | **4 autonomous agents** | **4 hooks**
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
- > ### 🚧 Coming soon: the [ComfyUI MCP Panel](https://github.com/artokun/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 in final testing. [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
 
@@ -91,7 +91,9 @@ This package also ships as a **Claude Code plugin**, providing slash commands, s
91
91
 
92
92
  ### Built-in skills
93
93
 
94
- 16 skills total — model-family guides (Flux, WAN, LTX, Qwen, Z-Image), the **model-registry** (curated download URLs), the **civitai** pairing skill, node authoring, and the core four below. Full list on the [plugin docs page](https://comfyui-mcp.artokun.io/docs/plugin).
94
+ 22 skills total — model-family guides (Flux, WAN, LTX 2.3, Qwen, Z-Image, Ideogram 4, ERNIE, ANIMA + anime / WAN / Z-Image LoRA training), the **model-registry** (curated download URLs), the **civitai** pairing skill, node authoring, and the core four below. Full list on the [plugin docs page](https://comfyui-mcp.artokun.io/docs/plugin).
95
+
96
+ > **Installer packs.** [`packs/`](packs/) bundles 13 one-command ComfyUI setups — ANIMA, Ideogram 4, LTX-2.3, ERNIE, WAN (animate / longer-videos / transparent), Qwen (image / image-edit), Z-Image (turbo / base / xy-plot) and cozy-flow (AI-influencer video). Each is a manifest of custom nodes + model URLs + workflow that drives both `apply_manifest` and generated `install-windows.bat` / `install-runpod.sh`, with CI that validates every model link + payload size. See [`packs/README.md`](packs/README.md).
95
97
 
96
98
  | Skill | Description |
97
99
  |-------|-------------|
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,23 +33,28 @@ 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() {
101
39
  const cli = parseCliArgs(process.argv);
40
+ // Standalone background orchestrator: owns the UI bridge and drives the panel
41
+ // with autonomous Agent SDK sessions. Not an MCP server — it never returns.
42
+ if (cli.panelOrchestrator) {
43
+ const { runPanelOrchestrator } = await import("./orchestrator/index.js");
44
+ await runPanelOrchestrator();
45
+ return;
46
+ }
102
47
  await JobWatcher.cleanupOldFiles();
103
48
  if (cli.transport === "http") {
104
49
  await startHttpServer({
105
50
  host: cli.host,
106
51
  port: cli.port,
107
- createServer: () => createConfiguredServer(cli.channels),
52
+ createServer: () => createConfiguredServer(),
108
53
  });
109
54
  logger.info(`ComfyUI MCP server running on http://${cli.host}:${cli.port}/mcp`);
110
55
  }
111
56
  else {
112
- const server = await createConfiguredServer(cli.channels);
57
+ const server = await createConfiguredServer();
113
58
  const transport = new StdioServerTransport();
114
59
  await server.connect(transport);
115
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":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAiB;IACvC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC5E,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ;SAClC,CAAC,CAAC;QACH,qEAAqE;QACrE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,+DAA+D;QAC/D,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,KAAK,MAAM,CAAC,MAAM;aACf,YAAY,CAAC;YACZ,MAAM,EAAE,8BAA8B;YACtC,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,IAAI,EAAE;oBACJ,MAAM,EAAE,eAAe;oBACvB,IAAI,EAAE,cAAc;oBACpB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE;aACF;SACF,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAAQ,GAAG,KAAK;IACpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,8DAA8D;QAC9D,sCAAsC;QACtC,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,6DAA6D;YAC7D,mDAAmD;YACnD,iEAAiE;YACjE,8DAA8D;YAC9D,uBAAuB;YACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE;QACD,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,YAAY,EACV,gVAAgV;aACnV;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CACF,CAAC;IACF,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACvE,SAAS,EAAE,EAAE;KACd,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAC7B,kCAAkC,EAClC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CACxC,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC,CAAC;IAEJ,IAAI,QAAQ;QAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;IAEnC,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,eAAe,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,wCAAwC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}