comfyui-mcp 0.33.0 → 0.34.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.
package/README.md CHANGED
@@ -10,11 +10,11 @@
10
10
  [![comfyui-mcp MCP server](https://glama.ai/mcp/servers/artokun/comfyui-mcp/badges/card.svg)](https://glama.ai/mcp/servers/artokun/comfyui-mcp)
11
11
  [![comfyui-mcp MCP server](https://glama.ai/mcp/servers/artokun/comfyui-mcp/badges/score.svg)](https://glama.ai/mcp/servers/artokun/comfyui-mcp)
12
12
 
13
- [![Deploy on RunPod](https://img.shields.io/badge/Deploy_on-RunPod-673AB7?style=for-the-badge)](https://console.runpod.io/deploy?template=bnqtkvcer3&ref=dkx71w9b) [![Join the Discord](https://img.shields.io/badge/Discord-Join_%26_get_help-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/TtQpf96BHS)  **One-click GPU pod** — a ready-to-run ComfyUI with this project + [Agent Panel](https://github.com/artokun/comfyui-mcp-panel) + ComfyUI-Manager v2 preinstalled, on your own GPU. No setup.
13
+ [![Deploy on RunPod](https://img.shields.io/badge/Deploy_on-RunPod-673AB7?style=for-the-badge)](https://console.runpod.io/deploy?template=bnqtkvcer3&ref=dkx71w9b) [![Join the Discord](https://img.shields.io/badge/Discord-Join_%26_get_help-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/cW9arBhzCu)  **One-click GPU pod** — a ready-to-run ComfyUI with this project + [Agent Panel](https://github.com/artokun/comfyui-mcp-panel) + ComfyUI-Manager v2 preinstalled, on your own GPU. No setup.
14
14
 
15
15
  Works on **macOS**, **Linux**, and **Windows**. Auto-detects your ComfyUI installation and port.
16
16
 
17
- **Stuck or have a question? [Join the Discord](https://discord.gg/TtQpf96BHS)** — help, model tips, and release announcements.
17
+ **Stuck or have a question? [Join the Discord](https://discord.gg/cW9arBhzCu)** — help, model tips, and release announcements.
18
18
 
19
19
  **108 MCP tools** | **32 AI skills** (Flux · WAN · LTX 2.3 video · Qwen · Z-Image · Ideogram 4 · ERNIE · ANIMA · model registry · Civitai · node authoring · launch/perf flags) | **13 installer packs** | **11 slash commands** | **4 autonomous agents** | **4 hooks**
20
20
 
@@ -92,7 +92,7 @@ export const CHATGPT_CAPABILITIES = {
92
92
  modelEnumeration: true, // ~/.codex/models_cache.json + configured default
93
93
  slashCommands: false,
94
94
  hooks: false,
95
- vision: false,
95
+ vision: true, // Responses input_image data URLs; strip-and-retry on rejection (#218)
96
96
  };
97
97
  /** Z.AI GLM Coding Plan — OpenAI-compatible /v1/chat/completions. */
98
98
  export const GLM_CAPABILITIES = {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-backend.js","sourceRoot":"","sources":["../../src/orchestrator/agent-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-backend.js","sourceRoot":"","sources":["../../src/orchestrator/agent-backend.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,15 @@ function historyToCodexInput(messages) {
65
65
  items.push({
66
66
  type: "message",
67
67
  role: "user",
68
- content: [{ type: "input_text", text: m.content }],
68
+ content: [
69
+ { type: "input_text", text: m.content },
70
+ // Responses-API image items take the data URL as a plain string
71
+ // (unlike chat/completions' nested image_url object).
72
+ ...(m.images ?? []).map((b64, i) => ({
73
+ type: "input_image",
74
+ image_url: `data:${m.imageMimes?.[i] ?? "image/png"};base64,${b64}`,
75
+ })),
76
+ ],
69
77
  });
70
78
  continue;
71
79
  }
@@ -268,8 +276,20 @@ export class ChatGptOAuthBackend extends OllamaBackend {
268
276
  const abort = new AbortController();
269
277
  this.turnAbort = abort;
270
278
  const tools = this.buildModelTools();
271
- this.turnHistory.push({ role: "user", content: turn.text });
279
+ // Vision (same contract as the Ollama family): always attempt inline
280
+ // delivery — GPT models take images, and if the endpoint rejects them the
281
+ // strip-and-retry below degrades honestly instead of failing the turn.
282
+ const userMsg = { role: "user", content: turn.text };
283
+ if (turn.images?.length) {
284
+ const resolved = (await Promise.all(turn.images.slice(0, 4).map((r) => this.fetchImageB64(r)))).filter((r) => r !== null);
285
+ if (resolved.length) {
286
+ userMsg.images = resolved.map((r) => r.b64);
287
+ userMsg.imageMimes = resolved.map((r) => r.mime);
288
+ }
289
+ }
290
+ this.turnHistory.push(userMsg);
272
291
  let resultEmitted = false;
292
+ let imagesStripped = false;
273
293
  try {
274
294
  for (let round = 0; round < MAX_TOOL_ROUNDS; round++) {
275
295
  const stream = this.codexResponsesStream(instructions, historyToCodexInput(this.turnHistory), tools, abort.signal, opts.onActivity);
@@ -277,13 +297,36 @@ export class ChatGptOAuthBackend extends OllamaBackend {
277
297
  let toolCalls = [];
278
298
  let usage;
279
299
  let streamId = null;
280
- for (;;) {
281
- const r = await stream.next();
282
- if (r.done) {
283
- ({ content, toolCalls, usage, streamId } = r.value);
284
- break;
300
+ try {
301
+ for (;;) {
302
+ const r = await stream.next();
303
+ if (r.done) {
304
+ ({ content, toolCalls, usage, streamId } = r.value);
305
+ break;
306
+ }
307
+ yield r.value;
308
+ }
309
+ }
310
+ catch (err) {
311
+ if (!abort.signal.aborted && !imagesStripped && this.turnHistory.some((m) => m.images?.length)) {
312
+ imagesStripped = true;
313
+ logger.warn(`[chatgpt-oauth-backend] image input rejected (${msgOf(err).slice(0, 200)}) — retrying without images`);
314
+ for (const m of this.turnHistory) {
315
+ if (m.images?.length) {
316
+ delete m.images;
317
+ delete m.imageMimes;
318
+ m.content +=
319
+ "\n[note: the attached image(s) were removed — this model/endpoint rejected image input. You did NOT see them; tell the user so if it matters.]";
320
+ }
321
+ }
322
+ yield {
323
+ type: "assistant",
324
+ text: `📎 ${this.model} rejected image input, so I'm continuing without the attachment — I can't see the image. Describe it in words, or switch to a vision-capable model.`,
325
+ };
326
+ round--; // the rejected request didn't count as a tool round
327
+ continue;
285
328
  }
286
- yield r.value;
329
+ throw err;
287
330
  }
288
331
  if (!toolCalls.length) {
289
332
  this.turnHistory.push({ role: "assistant", content });
@@ -1 +1 @@
1
- {"version":3,"file":"chatgpt-oauth-backend.js","sourceRoot":"","sources":["../../src/orchestrator/chatgpt-oauth-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatgpt-oauth-backend.js","sourceRoot":"","sources":["../../src/orchestrator/chatgpt-oauth-backend.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { startUiBridge, isLoopbackBindHost } from "../services/ui-bridge.js";
19
19
  import { setupSecureBridge } from "../services/secure-bridge.js";
20
20
  import { startQuickTunnel } from "../services/tunnel.js";
21
21
  import { detectInstallMode } from "../services/self-update.js";
22
+ import { SelfRestarter } from "../services/self-restart.js";
22
23
  import { SessionStore } from "./session-store.js";
23
24
  import { listSessions, loadTranscript } from "./history.js";
24
25
  import { uploadImageHttp } from "../comfyui/client.js";
@@ -2866,11 +2867,17 @@ export async function runPanelOrchestrator() {
2866
2867
  : " — remote target: installs/downloads run ON the ComfyUI host via its Manager (a local path would be the wrong filesystem; only local-FS tools like verify_custom_node are unavailable)";
2867
2868
  logger.info(`[panel-orchestrator] ready — bridge on ws://127.0.0.1:${bridgePort}, console on ${consoleUrl}; an agent spawns per ComfyUI tab on its first message (model=${model}, comfyui=${comfyuiUrl}${pathNote})`);
2868
2869
  let shuttingDown = false;
2869
- const shutdown = async () => {
2870
+ // Forward declaration assigned right after teardownCore exists; teardownCore
2871
+ // stops its timers so no update-check tick can fire mid-teardown.
2872
+ let selfRestarter = null;
2873
+ /** Everything shutdown does EXCEPT exiting — shared with the self-restarter,
2874
+ * which spawns its replacement first and exits itself after this settles. */
2875
+ const teardownCore = async () => {
2870
2876
  if (shuttingDown)
2871
2877
  return;
2872
2878
  shuttingDown = true;
2873
2879
  logger.info("[panel-orchestrator] shutting down — stopping agents…");
2880
+ selfRestarter?.stop();
2874
2881
  clearInterval(downloadTimer);
2875
2882
  if (readvertiseTimer)
2876
2883
  clearInterval(readvertiseTimer);
@@ -2900,10 +2907,29 @@ export async function runPanelOrchestrator() {
2900
2907
  catch {
2901
2908
  // No lockfile / unreadable — nothing to clean up.
2902
2909
  }
2910
+ };
2911
+ const shutdown = async () => {
2912
+ await teardownCore();
2903
2913
  process.exit(0);
2904
2914
  };
2905
2915
  process.on("SIGINT", shutdown);
2906
2916
  process.on("SIGTERM", shutdown);
2917
+ // Self-updater + self-restarter (orchestrator mode only — an MCP stdio server
2918
+ // must never replace itself; its client owns that lifecycle). Dev installs
2919
+ // restart when a rebuild lands; published installs re-check npm periodically,
2920
+ // update, and restart into the new code. A restart only fires with every
2921
+ // agent idle, nothing queued or held, and no render in flight — sessions
2922
+ // resume from the durable store and the panel reconnects on its own.
2923
+ // Default ON; disable with COMFYUI_MCP_AUTO_UPDATE_DISABLE=1 (restart-only
2924
+ // opt-out: COMFYUI_MCP_AUTORESTART=0).
2925
+ selfRestarter = new SelfRestarter({
2926
+ allIdle: () => manager.allIdle() &&
2927
+ ![...heldDuringGen.values()].some((msgs) => msgs.length > 0) &&
2928
+ !QueueMonitor.isBusy(),
2929
+ announce: (text) => void bridge.push({ type: "say", text }),
2930
+ teardown: teardownCore,
2931
+ });
2932
+ selfRestarter.start();
2907
2933
  // Now that shutdown exists, route self-exit through it (clean teardown: stop
2908
2934
  // agents, drop the lockfile, close the bridge) so the freed port + bridge-death
2909
2935
  // let the pack respawn a clean orchestrator.