Add comfyui-studio plugin: zero-dependency ComfyUI 8188 toolkit (4 Skills + 6 preset workflows) - #15
Open
antianqi wants to merge 5 commits into
Open
Add comfyui-studio plugin: zero-dependency ComfyUI 8188 toolkit (4 Skills + 6 preset workflows)#15antianqi wants to merge 5 commits into
antianqi wants to merge 5 commits into
Conversation
… generation A zero-dependency toolkit for driving a local ComfyUI 8188 server. What's included: - 3 Skills: comfyui-studio (routing), comfyui-workflow (submit/poll/download), comfyui-character (LoRA-based consistency patterns) - A dependency-free stdio MCP server (server.mjs, ~200 lines, pure Node stdlib) exposing 3 tools: submit_prompt, check_queue, get_image - A dependency-free Python CLI (submit_workflow.py) for the same primitives - 2 reference workflow JSONs (text-to-image, image-to-image) - Complete docs: README, security-notes, troubleshooting, examples/minimal-run What it does NOT include (per repo policy): - Native binaries, model files, LoRAs, or any other identity assets - Installers or post-install hooks - Any network destination other than COMFYUI_URL Validation: - npm run check passes for this plugin - Python CLI probes a real ComfyUI 8188 instance - MCP server starts cleanly via 'node server.mjs'
Part 2 of the Plugin: the preset-workflow layer. Adds four generic workflow templates and one new Skill that were missing from the first commit. New preset workflows (all in workflows/, all generic with __PROMPT__/__TRIGGER__ substitution and no private content): - selfie-text-to-image.json portrait + face LoRA + ControlNet - selfie-mimicry.json i2i with IP-Adapter face pull + face LoRA - drama-first-frame.json first frame for short drama, two LoRA slots - drama-image-to-video.json image-to-video, distilled LTX class New / updated Skills: - comfyui-character (expanded) now covers both the selfie and mimicry presets, with the 4-module prompt structure and per-knob tuning tables - comfyui-drama (new) describes the 7-stage short drama pipeline and explains the boundary between what the Plugin ships (stages 4 and 5) and what the user runs in their own environment (TTS, Excel, FFmpeg) - comfyui-studio routing table updated to point to the new presets Validated: - npm run check passes for this plugin - All four new workflow JSONs were POSTed to a real ComfyUI 8188 instance and accepted (errors at validation stage are expected: the user must install custom nodes such as IPAdapterModelLoader and the specific models; this PR ships the structure, not the assets)
antianqi
force-pushed
the
add-comfyui-studio-plugin
branch
4 times, most recently
from
August 22, 2026 02:57
48b1efb to
81d3b8d
Compare
… by 6 trigger scenarios - selfie-text-to-image.json + selfie-mimicry.json: replace real LoRA filenames (goudan_zimage_c1-st8000, MysticXXX-ZIB-v1) with generic placeholders (your_face_lora.safetensors, your_style_lora.safetensors) so the Plugin stays shareable across installs - drama-image-to-video.json: fix invalid JSON booleans (True/False -> true/false) accidentally introduced in the previous commit; strict JSON parsers now parse it cleanly - README.md + 3 SKILL.md: restructure the feature surface around 6 numbered trigger scenarios -- 1=生图 (selfie), 2=模仿 (mimicry), 3=改图 (edit), 4=融合 (fuse), 5=首帧 (drama first frame), 6=出片 (image-to-video). Plugin now reads cleanly as Part A (natural-language control) + Part B (6 preset workflows), with a model-boundary section that states the actual rule: models = real filenames on disk, LoRAs = generic placeholders
antianqi
force-pushed
the
add-comfyui-studio-plugin
branch
from
August 22, 2026 03:09
81d3b8d to
7ddfbe1
Compare
- plugin.json: bump version 0.1.0 -> 0.2.0-beta.1; expand description to mention 4 Skills + 6 scenarios - BETA.md: new file. Documents 3 install options (git clone the fork / download release tarball / browse the plugin folder), 6-scenario test matrix, 3 feedback channels (GitHub issues / Feishu mcode group / PR comments), known-issues section, and versioning policy - README.md: add a top-of-file beta test banner pointing to BETA.md and the upstream PR, so anyone landing on the plugin via the fork's plugin folder can find the test install instructions
…dio repo The beta test channel is now a dedicated single-plugin repo at github.com/antianqi/comfyui-studio, not this monorepo fork. Update all install / feedback / version references to point there. The BETA.md keeps a note that this fork exists only so the upstream PR can be force-pushed.
hetaoBackend
left a comment
Collaborator
There was a problem hiding this comment.
Review result: do not approve / do not merge yet.
The repository check passes (27 tests), but the runtime and bundled workflows have blocking defects:
- MCP image corruption:
server.mjs:86-90decodes every response as UTF-8 text, thenserver.mjs:152-161reconstructs it as binary. A local mock returned different base64 for bytes containing values >= 0x80. Use a Buffer-preserving HTTP path. - Python auth redirect leak:
submit_workflow.py:41-78usesurllib.request.urlopen, which follows redirects while retaining the bearer header. A redirected endpoint can receiveCOMFYUI_API_TOKEN, contradictingdocs/security-notes.md:18-23. Disable redirects or enforce same-origin and never forward Authorization across origins. - The docs promise
__TRIGGER__,__IMAGE1__,__IMAGE2__and--trigger,--filename,--filename2substitutions (README.md:77-84,skills/comfyui-character/SKILL.md:118-129), but the CLI only implements exact__PROMPT__replacement (submit_workflow.py:81-103,219-227). - Scenario 3 puts its image marker on an unused node while the connected loader is blank; scenario 4 has connected blank loaders and no image markers (
workflows/flux2-klein-image-edit*.json). - Output paths are not constrained:
submit_workflow.py:138-145,195-205joins server/user filenames directly, so absolute or../names can escape--output-dir.
Please fix binary handling, redirect/token handling, marker/flag implementation and workflow wiring, and enforce output-directory containment before requesting another review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR adds
A zero-dependency toolkit for driving a local ComfyUI 8188 server, packaged as a MiniMax Code
Plugin under
plugins/antianqi/comfyui-studio/. Two parts in one Plugin:download outputs. Two equivalent entry points (Python CLI + stdio MCP server), both
zero-dependency.
selfie-text-to-image.jsonselfie-mimicry.jsonflux2-klein-image-edit.jsonflux2-klein-image-edit-dual.jsondrama-first-frame.jsondrama-image-to-video.jsonProblem it solves
Driving a local ComfyUI server from an agent requires either hand-rolling HTTP boilerplate per
workflow, or adopting a heavyweight MCP server that pulls in 50+ MB of native dependencies and
runs an install hook on first use. The first is tedious; the second is incompatible with the
hosted-Plugin policy ("no native binaries, no installers").
This Plugin does the first without paying the second cost. The same three primitives
(
submit_prompt,check_queue,get_image) are exposed through both a tiny Python CLI and a~200-line stdio MCP server, so the user picks whichever entry point fits their host agent.
What's included
comfyui-studio— routing layer, reads the user's intent and picks the right siblingcomfyui-workflow— submit any workflow, poll queue, download outputs (the basic transportevery other Skill uses)
comfyui-character— scenarios 1, 2, 3, 4 (selfie + mimicry + Flux.2 Klein edits)comfyui-drama— scenarios 5, 6 + the 7-stage short-drama pipeline around themserver.mjs, ~200 lines, pure Node stdlib) exposingthree tools:
submit_prompt,check_queue,get_image. Mirrors the Python CLI.submit_workflow.py, stdlib only) for hosts that preferscripts over MCP. Handles
__PROMPT__/__TRIGGER__/__IMAGE1__/__IMAGE2__markersso the user does not have to rewrite the workflow JSON for every run.
conventions.
boundary),
examples/minimal-run.md(5-minute end-to-end walkthrough), per-scenario recipesin each Skill's
SKILL.md,docs/security-notes.md,docs/troubleshooting.md, plus aBETA.mdcovering the standalone beta test channel.Model boundary
The Plugin draws a clean line between public generation models and user-supplied LoRAs:
are referenced by the actual filenames on disk in the reference ComfyUI install that built
this Plugin. The intent is "this is the model we ran, this is the field you may want to
edit." The JSON is the source of truth and the user can edit any loader node to point at
their own file.
your_face_lora.safetensors,your_style_lora.safetensors,character_a_lora.safetensors,character_b_lora.safetensors,any_motion_lora.safetensors). LoRAs are user-trained identity assets; the Plugin does notbundle or name anyone's private LoRAs. The user edits the
LoraLoader*.lora_namefield topoint at their own file.
This boundary keeps the Plugin shareable while letting users adapt the workflows to their own
environment.
Beta test channel
While this PR is open and waiting for review, the standalone single-plugin beta repo is at
antianqi/comfyui-studio, taggedv0.2.0-beta.1.The mcode internal beta group can install from there following
BETA.mdand report issuesback so we can fix them before the official merge. This fork
(
MiniMax-Code-Plugins-1) is only kept alive so this PR can be force-pushed; the installinstructions in
BETA.mdall point at the standalone repo.Verified
selfie + the two Klein presets verified end-to-end on the reference install; the two drama
presets verified at the JSON / submission layer).
npm run checkreportsOK plugin antianqi/comfyui-studio.ConvertFrom-Json/JSON.parse/json.loadsall OK).What the Plugin does not do
user already has.
identity asset. Every character and voice is user-supplied.
comfyui-dramaSkill documents the full 7-stage pipeline but only ships ComfyUI workflowtemplates for the two image-side stages (scenarios 5 and 6); the other stages are user
pipeline steps that the Plugin deliberately does not assume.