comfyui-mcp 0.25.1 → 0.25.2
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 +33 -0
- package/dist/orchestrator/gemini-backend.js +6 -6
- package/dist/orchestrator/gemini-backend.js.map +1 -1
- package/dist/tools/workflow-library.js +13 -3
- package/dist/tools/workflow-library.js.map +1 -1
- package/package.json +2 -2
- package/plugin/skills/comfyui-core/SKILL.md +7 -6
- package/scripts/arena-scenarios.mjs +226 -0
- package/scripts/llm-arena.mjs +1 -222
package/README.md
CHANGED
|
@@ -648,6 +648,39 @@ per-harness setup, troubleshooting:
|
|
|
648
648
|
| `setup <agent>` | | | Write the comfyui entry into hermes / openclaw / copilot config, then exit |
|
|
649
649
|
| `--compact` / `--tool-mode compact` | `COMFYUI_MCP_TOOL_MODE=compact` | `full` | Register 3 meta-tools instead of the full ~200-schema surface |
|
|
650
650
|
|
|
651
|
+
### Other agents & local LLMs (Hermes, OpenClaw, Copilot CLI, Ollama)
|
|
652
|
+
|
|
653
|
+
comfyui-mcp has **first-class support for non-Claude harnesses**. One command
|
|
654
|
+
writes the server entry into the harness's own config (merging, not
|
|
655
|
+
clobbering):
|
|
656
|
+
|
|
657
|
+
```bash
|
|
658
|
+
npx -y comfyui-mcp setup hermes # → ~/.hermes/config.yaml (compact by default)
|
|
659
|
+
npx -y comfyui-mcp setup openclaw # → ~/.openclaw/openclaw.json (compact by default)
|
|
660
|
+
npx -y comfyui-mcp setup copilot # → ~/.copilot/mcp-config.json (full by default)
|
|
661
|
+
# flags: --compact | --full, --comfyui-url <url>, --dry-run
|
|
662
|
+
```
|
|
663
|
+
|
|
664
|
+
**Model requirements**: tool calling is a hard requirement (no tool calling =
|
|
665
|
+
doesn't work). Thinking and vision are strongly recommended — without
|
|
666
|
+
thinking, multi-step tool chains degrade; without vision the agent can
|
|
667
|
+
generate but can't see its own outputs.
|
|
668
|
+
|
|
669
|
+
For small/local models, **compact tool mode** (`--compact` /
|
|
670
|
+
`COMFYUI_MCP_TOOL_MODE=compact`) registers 3 meta-tools
|
|
671
|
+
(`list_tools` → `describe_tool` → `call_tool`) instead of the full ~200-schema
|
|
672
|
+
surface, pulling schemas into context one tool at a time. Validated
|
|
673
|
+
end-to-end via Ollama with `gemma4:e4b`, `gemma4:e2b`, and `qwen3:4b`
|
|
674
|
+
(`npm run test:local-llm`); gemma3 has no native tool calling and is
|
|
675
|
+
unsupported. Full guide — hosted-model guidance (DeepSeek/MiMo/GLM class),
|
|
676
|
+
per-harness setup, troubleshooting:
|
|
677
|
+
**[Local LLMs & other agents](https://comfyui-mcp.artokun.io/docs/local-llms)**.
|
|
678
|
+
|
|
679
|
+
| Flag | Env | Default | Description |
|
|
680
|
+
|------|-----|---------|-------------|
|
|
681
|
+
| `setup <agent>` | | | Write the comfyui entry into hermes / openclaw / copilot config, then exit |
|
|
682
|
+
| `--compact` / `--tool-mode compact` | `COMFYUI_MCP_TOOL_MODE=compact` | `full` | Register 3 meta-tools instead of the full ~200-schema surface |
|
|
683
|
+
|
|
651
684
|
### Remote ComfyUI
|
|
652
685
|
|
|
653
686
|
Point the server at a ComfyUI running anywhere — no local install required:
|
|
@@ -361,10 +361,11 @@ function isGeminiModel(id) {
|
|
|
361
361
|
}
|
|
362
362
|
/**
|
|
363
363
|
* Convert our MCP server specs into the ACP `session/new` `mcpServers` array.
|
|
364
|
-
* ACP stdio McpServer: { name, command, args, env:[{name,value}] }.
|
|
365
|
-
* variant ({ type:"
|
|
366
|
-
*
|
|
367
|
-
*
|
|
364
|
+
* ACP stdio McpServer: { name, command, args, env:[{name,value}] }. Streamable
|
|
365
|
+
* HTTP MCP rides the SSE variant ({ type:"sse", name, url, headers:[] }) — the
|
|
366
|
+
* live Gemini (and Grok) CLIs reject { type:"http" } with Invalid params on the
|
|
367
|
+
* FIRST user message, after a successful connect ack, so the old "http" mapping
|
|
368
|
+
* made a panel-MCP-attached tab look connected but fail on first use.
|
|
368
369
|
*/
|
|
369
370
|
export function buildAcpMcpServers(servers) {
|
|
370
371
|
const out = [];
|
|
@@ -378,8 +379,7 @@ export function buildAcpMcpServers(servers) {
|
|
|
378
379
|
});
|
|
379
380
|
}
|
|
380
381
|
else {
|
|
381
|
-
|
|
382
|
-
out.push({ type: "http", name, url: spec.url });
|
|
382
|
+
out.push({ type: "sse", name, url: spec.url, headers: [] });
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-backend.js","sourceRoot":"","sources":["../../src/orchestrator/gemini-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gemini-backend.js","sourceRoot":"","sources":["../../src/orchestrator/gemini-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -235,13 +235,13 @@ export function registerWorkflowLibraryTools(server) {
|
|
|
235
235
|
return errorToToolResult(err);
|
|
236
236
|
}
|
|
237
237
|
});
|
|
238
|
-
server.tool("save_workflow", "Save a workflow JSON to the connected ComfyUI server's user library so it appears in the ComfyUI web UI. Requires a running ComfyUI server; this writes to that server's userdata and overwrites any existing file with the same filename without confirmation.
|
|
238
|
+
server.tool("save_workflow", "Save a workflow JSON to the connected ComfyUI server's user library so it appears in the ComfyUI web UI. Requires a running ComfyUI server; this writes to that server's userdata and overwrites any existing file with the same filename without confirmation. IMPORTANT: pass Web-UI-format JSON ({ nodes: [], links: [] }) so the saved workflow opens and edits in the ComfyUI canvas — when re-saving an existing workflow, load it with get_workflow format='ui' and modify THAT. API-format graphs are accepted and stored verbatim, but the canvas CANNOT open them (users see a broken/blank load), so only save API format for headless re-queueing. Returns a confirmation message (with a warning when the input was API format), or the HTTP status and error text on failure.", {
|
|
239
239
|
filename: z
|
|
240
240
|
.string()
|
|
241
241
|
.describe("Filename to save as (e.g. 'my_workflow.json'). Will overwrite if it already exists."),
|
|
242
242
|
workflow: z
|
|
243
243
|
.record(z.string(), z.any())
|
|
244
|
-
.describe("Workflow JSON to save
|
|
244
|
+
.describe("Workflow JSON to save. Prefer Web UI format ({ nodes: [], links: [] }) so it stays editable in ComfyUI's canvas; API format is accepted but the frontend cannot open it. Stored verbatim; not validated before saving."),
|
|
245
245
|
}, async (args) => {
|
|
246
246
|
try {
|
|
247
247
|
const client = getClient();
|
|
@@ -262,11 +262,21 @@ export function registerWorkflowLibraryTools(server) {
|
|
|
262
262
|
],
|
|
263
263
|
};
|
|
264
264
|
}
|
|
265
|
+
// API-format saves are legal (headless re-queue) but the canvas can't
|
|
266
|
+
// open them — the #1 way agents strand users with workflows that "exist"
|
|
267
|
+
// in the library yet load blank, so they keep creating new ones instead
|
|
268
|
+
// of navigating back. Warn loudly until auto-conversion ships.
|
|
269
|
+
const apiFormatWarning = isUiFormat(args.workflow)
|
|
270
|
+
? ""
|
|
271
|
+
: `\n\n⚠️ This was saved in API format — the ComfyUI canvas CANNOT open or edit it. ` +
|
|
272
|
+
`If this workflow is meant to be reopened in the UI, rebuild it in Web UI format ` +
|
|
273
|
+
`({ nodes: [], links: [] }) — e.g. load the on-canvas graph or an existing file via ` +
|
|
274
|
+
`get_workflow format="ui", apply your changes to that, and save again.`;
|
|
265
275
|
return {
|
|
266
276
|
content: [
|
|
267
277
|
{
|
|
268
278
|
type: "text",
|
|
269
|
-
text: `Workflow saved as "${args.filename}" in the ComfyUI user library
|
|
279
|
+
text: `Workflow saved as "${args.filename}" in the ComfyUI user library.${apiFormatWarning}`,
|
|
270
280
|
},
|
|
271
281
|
],
|
|
272
282
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-library.js","sourceRoot":"","sources":["../../src/tools/workflow-library.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-library.js","sourceRoot":"","sources":["../../src/tools/workflow-library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gXAAgX,EAChX,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;YAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;iBAC/D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,KAAK;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,KAAK,CAAC,MAAM,kBAAkB,IAAI,EAAE;qBACpD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iDAAiD;QAC/C,iJAAiJ;QACjJ,8GAA8G,EAChH;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,yFAAyF,CAC1F;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACnB,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,kFAAkF;YAChF,sFAAsF;YACtF,wEAAwE,CAC3E;KACJ,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC/B,iBAAiB,OAAO,EAAE,CAC3B,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,uBAAuB,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG;yBACxD;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE7B,gEAAgE;YAChE,IAAI,MAAM,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;gBACnC,+DAA+D;gBAC/D,uEAAuE;gBACvE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAE/D,MAAM,OAAO,GAA0C,EAAE,CAAC;gBAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACnG,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;qBACnC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,mFAAmF;QACjF,sGAAsG;QACtG,8FAA8F;QAC9F,uFAAuF;QACvF,+FAA+F;QAC/F,uGAAuG,EACzG;QACE,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8DAA8D;YAC5D,kIAAkI,CACrI;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,qEAAqE,CAAC;QAClF,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACpB,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,4FAA4F,CAAC;KAC1G,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;YACjF,CAAC;YAED,8DAA8D;YAC9D,IAAI,GAAQ,CAAC;YACb,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;gBAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,eAAe,CAAC,kCAAkC,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YAED,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7E,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACzE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE/D,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAI,IAAgC,CAAC,UAAU,IAAI,GAAG,CAAC;gBAC9D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;iBACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,eAAe,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,QAAQ;4BACnD,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3D,iBAAiB,OAAO,EAAE;4BAC1B,CAAC,QAAQ,CAAC,MAAM;gCACd,CAAC,CAAC,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gCAC5D,CAAC,CAAC,EAAE,CAAC;qBACV;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,qFAAqF;QACnF,sGAAsG;QACtG,qGAAqG;QACrG,uGAAuG;QACvG,mGAAmG;QACnG,+FAA+F;QAC/F,8EAA8E,EAChF;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAChG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC3F,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACxC,QAAQ,CACP,8FAA8F;YAC5F,yGAAyG,CAC5G;KACJ,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;YACjF,CAAC;YAED,8DAA8D;YAC9D,IAAI,GAAQ,CAAC;YACb,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;gBAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,eAAe,CAAC,kCAAkC,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAE1D,MAAM,KAAK,GACT,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU;gBAChC,CAAC,CAAC,kBAAkB,KAAK,CAAC,QAAQ,gBAAgB,KAAK,CAAC,UAAU,EAAE;gBACpE,CAAC,CAAC,EAAE,CAAC;YACT,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,UAAU,KAAK,CAAC,KAAK,uBAAuB,KAAK,CAAC,UAAU,MAAM,KAAK,CAAC,KAAK,UAAU;4BACvF,GAAG,KAAK,CAAC,SAAS,4BAA4B,KAAK,CAAC,KAAK,GAAG,KAAK,EAAE;qBACtE;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6vBAA6vB,EAC7vB;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,qFAAqF,CACtF;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;aAC3B,QAAQ,CAAC,wNAAwN,CAAC;KACtO,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC/B,iBAAiB,OAAO,EAAE,EAC1B;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CACF,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4BAA4B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;yBACjG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAChD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,mFAAmF;oBACnF,kFAAkF;oBAClF,qFAAqF;oBACrF,uEAAuE,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,sBAAsB,IAAI,CAAC,QAAQ,iCAAiC,gBAAgB,EAAE;qBAC7F;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uDAAuD;IACvD,KAAK,UAAU,eAAe,CAAC,QAAgB;QAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,eAAe,CAAC,uBAAuB,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,qBAAqB;QACrB,OAAO,EAAE,QAAQ,EAAE,GAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,iGAAiG;QAC/F,uFAAuF;QACvF,4EAA4E;QAC5E,qGAAqG,EACvG;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,8FAA8F,CAC/F;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACvD,QAAQ,EAAE;aACV,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CACP,2FAA2F;YACzF,yDAAyD;YACzD,4FAA4F;YAC5F,wEAAwE;YACxE,6DAA6D;YAC7D,mFAAmF,CACtF;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qFAAqF,CACtF;KACJ,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,UAAU,IAAI,GAAG,CAAC,CAAC;YAC9D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;YAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,OAAO,GAA0C,EAAE,CAAC;YAE1D,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACnG,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,sDAAsD;gBACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;YAE3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,eAAe,CAC1B,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,CAC3E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,IAAI,eAAe,CACvB,sEAAsE,SAAS,EAAE,CAClF,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;oBACjE,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,WAAW;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "comfyui-mcp",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.2",
|
|
4
4
|
"mcpName": "io.github.artokun/comfyui-mcp",
|
|
5
|
-
"description": "Local-first, agent-native control plane for ComfyUI
|
|
5
|
+
"description": "Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
|
|
6
6
|
"homepage": "https://comfyui-mcp.artokun.io/docs",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/index.js",
|
|
@@ -49,10 +49,11 @@ ComfyUI workflows are JSON objects mapping **string node IDs** to node definitio
|
|
|
49
49
|
|
|
50
50
|
### Important: API Format vs Web UI Format
|
|
51
51
|
|
|
52
|
-
- **API format** (
|
|
53
|
-
- **Web UI format** (
|
|
54
|
-
-
|
|
55
|
-
-
|
|
52
|
+
- **API format** (for execution/analysis): `{ "1": { class_type, inputs }, "2": { ... } }` — compact, used by `enqueue_workflow`, `validate_workflow`, `modify_workflow`, etc.
|
|
53
|
+
- **Web UI format** (for saving and frontend editing): `{ "nodes": [...], "links": [...] }` — includes layout positions, sizes, groups, and visual metadata so ComfyUI's canvas can open and edit it
|
|
54
|
+
- Execution tools expect and return **API format**
|
|
55
|
+
- **Saving tools must use Web UI format** so saved workflows stay readable and editable in the ComfyUI frontend — an API-format save "exists" in the library but loads blank in the canvas, which strands users (and tempts agents into creating yet another new workflow instead of reopening the old one)
|
|
56
|
+
- `get_workflow` defaults to `format="api"` for analysis/execution; use `format="ui"` when loading a workflow to re-save or edit in the canvas
|
|
56
57
|
- Muted/bypassed nodes are preserved with `_meta.mode: "muted"` — these are inactive but visible for understanding the workflow
|
|
57
58
|
- Get/Set virtual wire nodes are preserved with `_meta.title` and `Constant` key for tracing data flow
|
|
58
59
|
|
|
@@ -60,8 +61,8 @@ ComfyUI workflows are JSON objects mapping **string node IDs** to node definitio
|
|
|
60
61
|
|
|
61
62
|
- **`analyze_workflow(filename)`** — **use this first** to understand any saved workflow. Returns a structured text summary with sections, node IDs, key settings, virtual wires, and connection graph. No raw JSON — just what you need to reason about the workflow. Supports views: summary (default), overview (mermaid), detail (section mermaid), list, flat.
|
|
62
63
|
- **`list_workflows`** — list all saved workflows in ComfyUI's user library
|
|
63
|
-
- **`get_workflow(filename)`** — load raw workflow JSON. Only use when you need the actual JSON for `enqueue_workflow`, `modify_workflow`, or `save_workflow`. Use `analyze_workflow` instead for understanding.
|
|
64
|
-
- **`save_workflow(filename, workflow)`** — save a workflow to the user library
|
|
64
|
+
- **`get_workflow(filename)`** — load raw workflow JSON. Only use when you need the actual JSON for `enqueue_workflow`, `modify_workflow`, or `save_workflow`. Use `analyze_workflow` instead for understanding. **For `save_workflow`, request `format="ui"`** so the workflow stays editable in the frontend.
|
|
65
|
+
- **`save_workflow(filename, workflow)`** — save a workflow to the user library. **Pass Web UI format (`{ nodes, links }`)** so it can be opened and edited in ComfyUI's canvas; API-format graphs are accepted but the frontend cannot open them.
|
|
65
66
|
|
|
66
67
|
## Data Types
|
|
67
68
|
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
// Shared arena scenario set — task prompts + harness-side ground-truth
|
|
2
|
+
// verification, used by BOTH scripts/llm-arena.mjs (compact 3-tool mode) and
|
|
3
|
+
// scripts/llm-arena-full.mjs (full 113-tool surface for the fine-tune
|
|
4
|
+
// pipeline). verify(harnessCall, t) receives a direct (toolName, args) → text
|
|
5
|
+
// callback in either mode and NEVER trusts the model's claims.
|
|
6
|
+
/**
|
|
7
|
+
* Each scenario: task prompt, the underlying tools that count as the "right"
|
|
8
|
+
* primary move, and an optional verify(harnessCall, transcript) ground-truth
|
|
9
|
+
* check the HARNESS runs against ComfyUI itself (never trusts the model).
|
|
10
|
+
*/
|
|
11
|
+
export const SCENARIOS = [
|
|
12
|
+
{
|
|
13
|
+
id: "health",
|
|
14
|
+
title: "Server health & GPU report",
|
|
15
|
+
task: "Check whether the ComfyUI server is healthy and tell me the GPU name and how much free VRAM it has.",
|
|
16
|
+
primary: ["health_check", "get_system_stats"],
|
|
17
|
+
verify: async (_call, t) => /(cuda|nvidia|rtx|gtx|radeon|vram)/i.test(t.finalAnswer),
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: "models",
|
|
21
|
+
title: "Installed checkpoint discovery",
|
|
22
|
+
task: "Find out which checkpoint models are installed on the ComfyUI server and tell me the name of one of them.",
|
|
23
|
+
primary: ["list_local_models"],
|
|
24
|
+
verify: async (call, t) => {
|
|
25
|
+
const res = await call("list_local_models", { model_type: "checkpoints" });
|
|
26
|
+
const names = [...res.matchAll(/([\w.-]+)\.(safetensors|ckpt|sft|gguf)/gi)].map((m) =>
|
|
27
|
+
m[1].toLowerCase(),
|
|
28
|
+
);
|
|
29
|
+
const answer = t.finalAnswer.toLowerCase();
|
|
30
|
+
return names.some((n) => answer.includes(n) || answer.includes(n.slice(0, 12)));
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "registry",
|
|
35
|
+
title: "Custom-node registry search",
|
|
36
|
+
task: "Find a tool that can search for ComfyUI custom node packs, then use it to search for 'controlnet' and tell me the name of one node pack from its results.",
|
|
37
|
+
primary: ["search_custom_nodes", "search_models"],
|
|
38
|
+
verify: async (_call, t) => t.finalAnswer.trim().length > 0,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: "queue",
|
|
42
|
+
title: "Queue inspection",
|
|
43
|
+
task: "How many jobs are currently running or pending in the ComfyUI queue? Answer with the numbers.",
|
|
44
|
+
primary: ["get_queue", "health_check", "get_system_stats"],
|
|
45
|
+
verify: async (_call, t) => /\d/.test(t.finalAnswer),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "generate",
|
|
49
|
+
title: "Text-to-image generation + async polling",
|
|
50
|
+
task:
|
|
51
|
+
"Generate a 512x512 image of a red apple on a wooden table. The generation runs asynchronously — " +
|
|
52
|
+
"after starting it, check its job status until it has finished, then tell me the output filename or asset id.",
|
|
53
|
+
primary: ["generate_image", "enqueue_workflow"],
|
|
54
|
+
// right family but incomplete execution (built a workflow, never enqueued)
|
|
55
|
+
partial: ["create_workflow", "dsl_to_workflow"],
|
|
56
|
+
followup: ["get_job_status", "get_history", "list_output_images", "view_image", "list_assets", "get_queue", "generation_stats"],
|
|
57
|
+
verify: async (call, t) => {
|
|
58
|
+
// ground truth: the prompt_id the model started must be done with outputs
|
|
59
|
+
const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
|
|
60
|
+
if (!ids.length) return false;
|
|
61
|
+
for (let attempt = 0; attempt < 30; attempt++) {
|
|
62
|
+
const status = await call("get_job_status", { prompt_id: ids[ids.length - 1] });
|
|
63
|
+
if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
|
|
64
|
+
if (/"error":/.test(status)) return false;
|
|
65
|
+
await new Promise((r) => setTimeout(r, 2000));
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
// ── The GAUNTLET — added when the whole SoTA tier tied 10/10 on the base
|
|
71
|
+
// set. Same server-side verification discipline, but these stress parameter
|
|
72
|
+
// fidelity, error recovery, and multi-render state tracking.
|
|
73
|
+
{
|
|
74
|
+
id: "precision",
|
|
75
|
+
title: "Parameter-exact build + render",
|
|
76
|
+
task:
|
|
77
|
+
"Render a txt2img image with the checkpoint v1-5-pruned-emaonly-fp16.safetensors, EXACTLY 12 sampling steps, " +
|
|
78
|
+
"EXACTLY 384x384 pixels, positive prompt 'a green pear on a table'. Wait until it finishes, then report the prompt_id.",
|
|
79
|
+
primary: ["generate_image", "enqueue_workflow"],
|
|
80
|
+
partial: ["create_workflow", "dsl_to_workflow"],
|
|
81
|
+
verify: async (_call, t) => {
|
|
82
|
+
// ground truth from ComfyUI itself: the EXECUTED graph must carry the
|
|
83
|
+
// exact parameters, and the job must have completed with outputs.
|
|
84
|
+
const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
|
|
85
|
+
for (const id of ids.reverse()) {
|
|
86
|
+
try {
|
|
87
|
+
const res = await fetch(`${process.env.COMFYUI_URL ?? "http://127.0.0.1:8188"}/history/${id}`);
|
|
88
|
+
const hist = (await res.json())[id];
|
|
89
|
+
if (!hist?.status?.completed) continue;
|
|
90
|
+
const nodes = Object.values(hist.prompt?.[2] ?? {});
|
|
91
|
+
const steps = nodes.some((n) => n.inputs?.steps === 12);
|
|
92
|
+
const size = nodes.some((n) => n.inputs?.width === 384 && n.inputs?.height === 384);
|
|
93
|
+
if (steps && size) return true;
|
|
94
|
+
} catch {
|
|
95
|
+
/* try the next id */
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "breakfix",
|
|
103
|
+
title: "Deliberate failure → diagnose → recover",
|
|
104
|
+
task:
|
|
105
|
+
"First, try to render an image using a checkpoint named exactly 'nonexistent-model.safetensors'. That will fail — " +
|
|
106
|
+
"read the error and explain in ONE sentence why. Then recover: render 'a blue cube' at 512x512 with a checkpoint " +
|
|
107
|
+
"that IS installed, wait for it to complete, and report its prompt_id.",
|
|
108
|
+
primary: ["generate_image", "enqueue_workflow"],
|
|
109
|
+
partial: ["create_workflow"],
|
|
110
|
+
verify: async (call, t) => {
|
|
111
|
+
// (a) the failure actually happened (the bogus name shows up in an error),
|
|
112
|
+
// (b) a real render then completed.
|
|
113
|
+
const sawFailure = /nonexistent-model\.safetensors/.test(t.toolText) && /error|invalid|not (?:found|in)/i.test(t.toolText);
|
|
114
|
+
if (!sawFailure) return false;
|
|
115
|
+
const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
|
|
116
|
+
for (const id of ids.reverse()) {
|
|
117
|
+
const status = await call("get_job_status", { prompt_id: id });
|
|
118
|
+
if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id: "provenance",
|
|
125
|
+
title: "Generate → find asset → regenerate with override",
|
|
126
|
+
task:
|
|
127
|
+
"Render a 512x512 image of 'a red bicycle' and wait for it to complete. Then find the ASSET it produced " +
|
|
128
|
+
"(the asset registry lists recent assets), and regenerate that asset with a steps=8 override, waiting for the " +
|
|
129
|
+
"second render to complete too. Report both prompt_ids.",
|
|
130
|
+
primary: ["generate_image", "enqueue_workflow"],
|
|
131
|
+
partial: ["create_workflow", "list_assets", "get_asset_metadata"],
|
|
132
|
+
verify: async (call, t) => {
|
|
133
|
+
// regenerate must have actually run, and there must be two DISTINCT
|
|
134
|
+
// completed prompts.
|
|
135
|
+
if (!t.calls.some((c) => c.tool === "regenerate" && c.ok)) return false;
|
|
136
|
+
const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
|
|
137
|
+
if (ids.length < 2) return false;
|
|
138
|
+
let done = 0;
|
|
139
|
+
for (const id of ids) {
|
|
140
|
+
const status = await call("get_job_status", { prompt_id: id });
|
|
141
|
+
if (/"done":\s*true/.test(status) && !/"error"/.test(status)) done++;
|
|
142
|
+
}
|
|
143
|
+
return done >= 2;
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
// ── The CRUCIBLE — round 3, added when four models tied the gauntlet at
|
|
147
|
+
// 16/16. Custom graph COMPOSITION (no template covers these): one graph
|
|
148
|
+
// with two piped outputs, and a two-stage pipeline chained through the
|
|
149
|
+
// staging tool. All still SD1.5-only and server-verified.
|
|
150
|
+
{
|
|
151
|
+
id: "multiout",
|
|
152
|
+
title: "One graph, two piped outputs",
|
|
153
|
+
task:
|
|
154
|
+
"Build and enqueue ONE single workflow that renders 'a lighthouse at dusk' at 512x512 AND, in the same graph, " +
|
|
155
|
+
"pipes that image through a 2x upscale so the SAME run saves TWO outputs: the 512x512 original and a 1024x1024 " +
|
|
156
|
+
"version. No template does this — compose the graph yourself. Wait for completion and report the prompt_id.",
|
|
157
|
+
primary: ["enqueue_workflow"],
|
|
158
|
+
partial: ["create_workflow", "dsl_to_workflow", "generate_image", "modify_workflow"],
|
|
159
|
+
verify: async (_call, t) => {
|
|
160
|
+
const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
|
|
161
|
+
const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
|
|
162
|
+
for (const id of ids.reverse()) {
|
|
163
|
+
try {
|
|
164
|
+
const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
|
|
165
|
+
if (!hist?.status?.completed) continue;
|
|
166
|
+
// gather every output image of THIS single prompt and read its real
|
|
167
|
+
// pixel size from the PNG header — need two distinct sizes, 2x apart.
|
|
168
|
+
const dims = new Set();
|
|
169
|
+
for (const out of Object.values(hist.outputs ?? {})) {
|
|
170
|
+
for (const img of out.images ?? []) {
|
|
171
|
+
if (img.type !== "output") continue;
|
|
172
|
+
const u = new URL("/view", base);
|
|
173
|
+
u.searchParams.set("filename", img.filename);
|
|
174
|
+
u.searchParams.set("type", "output");
|
|
175
|
+
if (img.subfolder) u.searchParams.set("subfolder", img.subfolder);
|
|
176
|
+
const buf = Buffer.from(await (await fetch(u)).arrayBuffer());
|
|
177
|
+
if (buf.length > 24 && buf.toString("ascii", 1, 4) === "PNG") {
|
|
178
|
+
dims.add(`${buf.readUInt32BE(16)}x${buf.readUInt32BE(20)}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (dims.has("512x512") && dims.has("1024x1024")) return true;
|
|
183
|
+
} catch {
|
|
184
|
+
/* try next id */
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return false;
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
id: "pipeline",
|
|
192
|
+
title: "Two-stage pipe via output staging",
|
|
193
|
+
task:
|
|
194
|
+
"Two-stage pipeline. Stage 1: render 'a plain wooden mask' at 512x512 and wait for it to finish. Stage 2: run an " +
|
|
195
|
+
"img2img pass over stage 1's ACTUAL output image with the prompt 'an ornate golden mask' and denoise about 0.55, " +
|
|
196
|
+
"and wait for it too. Do NOT guess file paths — use the staging tool that feeds a previous output into the next " +
|
|
197
|
+
"stage's loader. Report both prompt_ids.",
|
|
198
|
+
primary: ["enqueue_workflow", "generate_image"],
|
|
199
|
+
partial: ["create_workflow", "stage_output_as_input"],
|
|
200
|
+
verify: async (call, t) => {
|
|
201
|
+
// the staging tool must have actually run…
|
|
202
|
+
if (!t.calls.some((c) => c.tool === "stage_output_as_input" && c.ok)) return false;
|
|
203
|
+
const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
|
|
204
|
+
const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
|
|
205
|
+
if (ids.length < 2) return false;
|
|
206
|
+
// …and the LAST completed prompt must be a real img2img graph: a
|
|
207
|
+
// LoadImage feeding it and a KSampler with partial denoise.
|
|
208
|
+
for (const id of ids.reverse()) {
|
|
209
|
+
try {
|
|
210
|
+
const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
|
|
211
|
+
if (!hist?.status?.completed) continue;
|
|
212
|
+
const nodes = Object.values(hist.prompt?.[2] ?? {});
|
|
213
|
+
const hasLoad = nodes.some((n) => n.class_type === "LoadImage");
|
|
214
|
+
const partialDenoise = nodes.some(
|
|
215
|
+
(n) => typeof n.inputs?.denoise === "number" && n.inputs.denoise > 0.2 && n.inputs.denoise < 0.9,
|
|
216
|
+
);
|
|
217
|
+
if (hasLoad && partialDenoise) return true;
|
|
218
|
+
break; // only judge the newest completed prompt as stage 2
|
|
219
|
+
} catch {
|
|
220
|
+
/* try next id */
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return false;
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
];
|
package/scripts/llm-arena.mjs
CHANGED
|
@@ -28,6 +28,7 @@ import { fileURLToPath } from "node:url";
|
|
|
28
28
|
import { dirname, join } from "node:path";
|
|
29
29
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
30
30
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
31
|
+
import { SCENARIOS } from "./arena-scenarios.mjs";
|
|
31
32
|
|
|
32
33
|
const OLLAMA = process.env.OLLAMA_HOST ?? "http://127.0.0.1:11434";
|
|
33
34
|
const MODELS = (process.env.ARENA_MODELS ?? "gemma4:e4b,gemma4:e2b,qwen3:8b,qwen3:4b,llama3.1:8b")
|
|
@@ -48,228 +49,6 @@ const SYSTEM =
|
|
|
48
49
|
"Always look up a tool with describe_tool before running it with call_tool. " +
|
|
49
50
|
"Catalog entries are tool NAMES, not data — complete every task by actually running tools with call_tool.";
|
|
50
51
|
|
|
51
|
-
/**
|
|
52
|
-
* Each scenario: task prompt, the underlying tools that count as the "right"
|
|
53
|
-
* primary move, and an optional verify(harnessCall, transcript) ground-truth
|
|
54
|
-
* check the HARNESS runs against ComfyUI itself (never trusts the model).
|
|
55
|
-
*/
|
|
56
|
-
const SCENARIOS = [
|
|
57
|
-
{
|
|
58
|
-
id: "health",
|
|
59
|
-
title: "Server health & GPU report",
|
|
60
|
-
task: "Check whether the ComfyUI server is healthy and tell me the GPU name and how much free VRAM it has.",
|
|
61
|
-
primary: ["health_check", "get_system_stats"],
|
|
62
|
-
verify: async (_call, t) => /(cuda|nvidia|rtx|gtx|radeon|vram)/i.test(t.finalAnswer),
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: "models",
|
|
66
|
-
title: "Installed checkpoint discovery",
|
|
67
|
-
task: "Find out which checkpoint models are installed on the ComfyUI server and tell me the name of one of them.",
|
|
68
|
-
primary: ["list_local_models"],
|
|
69
|
-
verify: async (call, t) => {
|
|
70
|
-
const res = await call("list_local_models", { model_type: "checkpoints" });
|
|
71
|
-
const names = [...res.matchAll(/([\w.-]+)\.(safetensors|ckpt|sft|gguf)/gi)].map((m) =>
|
|
72
|
-
m[1].toLowerCase(),
|
|
73
|
-
);
|
|
74
|
-
const answer = t.finalAnswer.toLowerCase();
|
|
75
|
-
return names.some((n) => answer.includes(n) || answer.includes(n.slice(0, 12)));
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
id: "registry",
|
|
80
|
-
title: "Custom-node registry search",
|
|
81
|
-
task: "Find a tool that can search for ComfyUI custom node packs, then use it to search for 'controlnet' and tell me the name of one node pack from its results.",
|
|
82
|
-
primary: ["search_custom_nodes", "search_models"],
|
|
83
|
-
verify: async (_call, t) => t.finalAnswer.trim().length > 0,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
id: "queue",
|
|
87
|
-
title: "Queue inspection",
|
|
88
|
-
task: "How many jobs are currently running or pending in the ComfyUI queue? Answer with the numbers.",
|
|
89
|
-
primary: ["get_queue", "health_check", "get_system_stats"],
|
|
90
|
-
verify: async (_call, t) => /\d/.test(t.finalAnswer),
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
id: "generate",
|
|
94
|
-
title: "Text-to-image generation + async polling",
|
|
95
|
-
task:
|
|
96
|
-
"Generate a 512x512 image of a red apple on a wooden table. The generation runs asynchronously — " +
|
|
97
|
-
"after starting it, check its job status until it has finished, then tell me the output filename or asset id.",
|
|
98
|
-
primary: ["generate_image", "enqueue_workflow"],
|
|
99
|
-
// right family but incomplete execution (built a workflow, never enqueued)
|
|
100
|
-
partial: ["create_workflow", "dsl_to_workflow"],
|
|
101
|
-
followup: ["get_job_status", "get_history", "list_output_images", "view_image", "list_assets", "get_queue", "generation_stats"],
|
|
102
|
-
verify: async (call, t) => {
|
|
103
|
-
// ground truth: the prompt_id the model started must be done with outputs
|
|
104
|
-
const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
|
|
105
|
-
if (!ids.length) return false;
|
|
106
|
-
for (let attempt = 0; attempt < 30; attempt++) {
|
|
107
|
-
const status = await call("get_job_status", { prompt_id: ids[ids.length - 1] });
|
|
108
|
-
if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
|
|
109
|
-
if (/"error":/.test(status)) return false;
|
|
110
|
-
await new Promise((r) => setTimeout(r, 2000));
|
|
111
|
-
}
|
|
112
|
-
return false;
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
// ── The GAUNTLET — added when the whole SoTA tier tied 10/10 on the base
|
|
116
|
-
// set. Same server-side verification discipline, but these stress parameter
|
|
117
|
-
// fidelity, error recovery, and multi-render state tracking.
|
|
118
|
-
{
|
|
119
|
-
id: "precision",
|
|
120
|
-
title: "Parameter-exact build + render",
|
|
121
|
-
task:
|
|
122
|
-
"Render a txt2img image with the checkpoint v1-5-pruned-emaonly-fp16.safetensors, EXACTLY 12 sampling steps, " +
|
|
123
|
-
"EXACTLY 384x384 pixels, positive prompt 'a green pear on a table'. Wait until it finishes, then report the prompt_id.",
|
|
124
|
-
primary: ["generate_image", "enqueue_workflow"],
|
|
125
|
-
partial: ["create_workflow", "dsl_to_workflow"],
|
|
126
|
-
verify: async (_call, t) => {
|
|
127
|
-
// ground truth from ComfyUI itself: the EXECUTED graph must carry the
|
|
128
|
-
// exact parameters, and the job must have completed with outputs.
|
|
129
|
-
const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
|
|
130
|
-
for (const id of ids.reverse()) {
|
|
131
|
-
try {
|
|
132
|
-
const res = await fetch(`${process.env.COMFYUI_URL ?? "http://127.0.0.1:8188"}/history/${id}`);
|
|
133
|
-
const hist = (await res.json())[id];
|
|
134
|
-
if (!hist?.status?.completed) continue;
|
|
135
|
-
const nodes = Object.values(hist.prompt?.[2] ?? {});
|
|
136
|
-
const steps = nodes.some((n) => n.inputs?.steps === 12);
|
|
137
|
-
const size = nodes.some((n) => n.inputs?.width === 384 && n.inputs?.height === 384);
|
|
138
|
-
if (steps && size) return true;
|
|
139
|
-
} catch {
|
|
140
|
-
/* try the next id */
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return false;
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
id: "breakfix",
|
|
148
|
-
title: "Deliberate failure → diagnose → recover",
|
|
149
|
-
task:
|
|
150
|
-
"First, try to render an image using a checkpoint named exactly 'nonexistent-model.safetensors'. That will fail — " +
|
|
151
|
-
"read the error and explain in ONE sentence why. Then recover: render 'a blue cube' at 512x512 with a checkpoint " +
|
|
152
|
-
"that IS installed, wait for it to complete, and report its prompt_id.",
|
|
153
|
-
primary: ["generate_image", "enqueue_workflow"],
|
|
154
|
-
partial: ["create_workflow"],
|
|
155
|
-
verify: async (call, t) => {
|
|
156
|
-
// (a) the failure actually happened (the bogus name shows up in an error),
|
|
157
|
-
// (b) a real render then completed.
|
|
158
|
-
const sawFailure = /nonexistent-model\.safetensors/.test(t.toolText) && /error|invalid|not (?:found|in)/i.test(t.toolText);
|
|
159
|
-
if (!sawFailure) return false;
|
|
160
|
-
const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
|
|
161
|
-
for (const id of ids.reverse()) {
|
|
162
|
-
const status = await call("get_job_status", { prompt_id: id });
|
|
163
|
-
if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
|
|
164
|
-
}
|
|
165
|
-
return false;
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
id: "provenance",
|
|
170
|
-
title: "Generate → find asset → regenerate with override",
|
|
171
|
-
task:
|
|
172
|
-
"Render a 512x512 image of 'a red bicycle' and wait for it to complete. Then find the ASSET it produced " +
|
|
173
|
-
"(the asset registry lists recent assets), and regenerate that asset with a steps=8 override, waiting for the " +
|
|
174
|
-
"second render to complete too. Report both prompt_ids.",
|
|
175
|
-
primary: ["generate_image", "enqueue_workflow"],
|
|
176
|
-
partial: ["create_workflow", "list_assets", "get_asset_metadata"],
|
|
177
|
-
verify: async (call, t) => {
|
|
178
|
-
// regenerate must have actually run, and there must be two DISTINCT
|
|
179
|
-
// completed prompts.
|
|
180
|
-
if (!t.calls.some((c) => c.tool === "regenerate" && c.ok)) return false;
|
|
181
|
-
const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
|
|
182
|
-
if (ids.length < 2) return false;
|
|
183
|
-
let done = 0;
|
|
184
|
-
for (const id of ids) {
|
|
185
|
-
const status = await call("get_job_status", { prompt_id: id });
|
|
186
|
-
if (/"done":\s*true/.test(status) && !/"error"/.test(status)) done++;
|
|
187
|
-
}
|
|
188
|
-
return done >= 2;
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
// ── The CRUCIBLE — round 3, added when four models tied the gauntlet at
|
|
192
|
-
// 16/16. Custom graph COMPOSITION (no template covers these): one graph
|
|
193
|
-
// with two piped outputs, and a two-stage pipeline chained through the
|
|
194
|
-
// staging tool. All still SD1.5-only and server-verified.
|
|
195
|
-
{
|
|
196
|
-
id: "multiout",
|
|
197
|
-
title: "One graph, two piped outputs",
|
|
198
|
-
task:
|
|
199
|
-
"Build and enqueue ONE single workflow that renders 'a lighthouse at dusk' at 512x512 AND, in the same graph, " +
|
|
200
|
-
"pipes that image through a 2x upscale so the SAME run saves TWO outputs: the 512x512 original and a 1024x1024 " +
|
|
201
|
-
"version. No template does this — compose the graph yourself. Wait for completion and report the prompt_id.",
|
|
202
|
-
primary: ["enqueue_workflow"],
|
|
203
|
-
partial: ["create_workflow", "dsl_to_workflow", "generate_image", "modify_workflow"],
|
|
204
|
-
verify: async (_call, t) => {
|
|
205
|
-
const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
|
|
206
|
-
const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
|
|
207
|
-
for (const id of ids.reverse()) {
|
|
208
|
-
try {
|
|
209
|
-
const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
|
|
210
|
-
if (!hist?.status?.completed) continue;
|
|
211
|
-
// gather every output image of THIS single prompt and read its real
|
|
212
|
-
// pixel size from the PNG header — need two distinct sizes, 2x apart.
|
|
213
|
-
const dims = new Set();
|
|
214
|
-
for (const out of Object.values(hist.outputs ?? {})) {
|
|
215
|
-
for (const img of out.images ?? []) {
|
|
216
|
-
if (img.type !== "output") continue;
|
|
217
|
-
const u = new URL("/view", base);
|
|
218
|
-
u.searchParams.set("filename", img.filename);
|
|
219
|
-
u.searchParams.set("type", "output");
|
|
220
|
-
if (img.subfolder) u.searchParams.set("subfolder", img.subfolder);
|
|
221
|
-
const buf = Buffer.from(await (await fetch(u)).arrayBuffer());
|
|
222
|
-
if (buf.length > 24 && buf.toString("ascii", 1, 4) === "PNG") {
|
|
223
|
-
dims.add(`${buf.readUInt32BE(16)}x${buf.readUInt32BE(20)}`);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
if (dims.has("512x512") && dims.has("1024x1024")) return true;
|
|
228
|
-
} catch {
|
|
229
|
-
/* try next id */
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
return false;
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
id: "pipeline",
|
|
237
|
-
title: "Two-stage pipe via output staging",
|
|
238
|
-
task:
|
|
239
|
-
"Two-stage pipeline. Stage 1: render 'a plain wooden mask' at 512x512 and wait for it to finish. Stage 2: run an " +
|
|
240
|
-
"img2img pass over stage 1's ACTUAL output image with the prompt 'an ornate golden mask' and denoise about 0.55, " +
|
|
241
|
-
"and wait for it too. Do NOT guess file paths — use the staging tool that feeds a previous output into the next " +
|
|
242
|
-
"stage's loader. Report both prompt_ids.",
|
|
243
|
-
primary: ["enqueue_workflow", "generate_image"],
|
|
244
|
-
partial: ["create_workflow", "stage_output_as_input"],
|
|
245
|
-
verify: async (call, t) => {
|
|
246
|
-
// the staging tool must have actually run…
|
|
247
|
-
if (!t.calls.some((c) => c.tool === "stage_output_as_input" && c.ok)) return false;
|
|
248
|
-
const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
|
|
249
|
-
const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
|
|
250
|
-
if (ids.length < 2) return false;
|
|
251
|
-
// …and the LAST completed prompt must be a real img2img graph: a
|
|
252
|
-
// LoadImage feeding it and a KSampler with partial denoise.
|
|
253
|
-
for (const id of ids.reverse()) {
|
|
254
|
-
try {
|
|
255
|
-
const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
|
|
256
|
-
if (!hist?.status?.completed) continue;
|
|
257
|
-
const nodes = Object.values(hist.prompt?.[2] ?? {});
|
|
258
|
-
const hasLoad = nodes.some((n) => n.class_type === "LoadImage");
|
|
259
|
-
const partialDenoise = nodes.some(
|
|
260
|
-
(n) => typeof n.inputs?.denoise === "number" && n.inputs.denoise > 0.2 && n.inputs.denoise < 0.9,
|
|
261
|
-
);
|
|
262
|
-
if (hasLoad && partialDenoise) return true;
|
|
263
|
-
break; // only judge the newest completed prompt as stage 2
|
|
264
|
-
} catch {
|
|
265
|
-
/* try next id */
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return false;
|
|
269
|
-
},
|
|
270
|
-
},
|
|
271
|
-
];
|
|
272
|
-
|
|
273
52
|
/**
|
|
274
53
|
* Two API dialects, one arena:
|
|
275
54
|
* - ARENA_API=ollama (default): Ollama-native /api/chat — lets us pin num_ctx.
|