koishi-plugin-comfyclient
v0.1.14
Published
ComfyUI client plugin for Koishi supporting text-to-image and image-to-image workflows.
Maintainers
Readme
koishi-plugin-comfyui-client
一个为 Koishi 设计的 ComfyUI 客户端插件。通过 Koishi 机器人执行 ComfyUI 工作流,支持文生图、图生图(改图)。
✨ 功能特性
- 高度可定制:加载任意 ComfyUI 工作流(JSON)。
- 文生图指令:
comfy <prompt>直接生成图片。 - 图像输入改图:发送图片或使用
-i/--image <url>,插件自动上传到 ComfyUI 并替换工作流占位符,适配重绘/图生图流程。 - 动态连接:自动处理 HTTP + WebSocket,带重试与进度日志。
💿 安装
在 Koishi 插件市场搜索 comfyui-client 并安装。
⚙️ 配置项
| 配置项 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| serverEndpoint | string | 127.0.0.1:8188 | ComfyUI 服务器地址,格式 域名/IP:端口。|
| isSecureConnection | boolean | false | 是否使用 https/wss。|
| imageUploadMode | string | base64-first | 图片上传方式:base64-first(默认,内联为 data URI),或 image-first(优先上传到 ComfyUI,失败回退 base64)。|
| httpProxy | string | "" | 上传/请求的 HTTP(S) 代理(留空跟随环境变量 http_proxy/https_proxy)。|
| uploadTimeoutMs | number | 15000 | 上传图片单次超时时间,毫秒。|
| uploadMaxAttempts | number | 1 | 上传图片最大重试次数,>1 可在弱网下多试。|
| logEnabled | boolean | true | 是否记录与 ComfyUI 的交互日志。|
| debug | boolean | false | 调试模式:打印 debug 级别的中间件/占位符日志。|
| workflowDir | string | data/comfyworkflow | 工作流文件存储目录(可选)。|
| defaultWorkflowName | string | "" | 默认工作流名(可匹配预设或文件名)。为空则用 workflowJSON。|
| workflowPresets | array | [] | 在 Koishi 控制台维护的工作流预设。|
| workflowJSON | string | "" | 直接填入工作流 JSON 字符串(含占位符)。|
| steps | CLI 选项 | - | 通过 -s/--steps 传入,占位符 {{steps}}。|
工作流占位符约定
- 文本提示:在正面提示节点使用占位符
{{prompt}},运行时会替换为用户输入。 - 图像输入:将需要读取外部图片的字段改为
{{image}};如需子目录/类型,可用{{imageSubfolder}}、{{imageType}}(默认subfolder=""、type="input")。 - 采样步数:在采样节点的
steps字段填{{steps}},指令里用-s 24即可。 - 其它变量:支持自定义占位符,通过指令参数
--vars '{"style":"film"}'或-r 16:9等方式传入。
导出工作流并填入配置
在 ComfyUI 中构建工作流
- 文本提示节点填入
{{prompt}}作为占位符。 - 图生图/重绘时,把
LoadImage等节点的文件名改为{{image}}(可选{{imageSubfolder}}、{{imageType}})。 - 确保有
SaveImage或ImagePreview输出节点,插件会自动选择有图片输出的节点。
- 文本提示节点填入
导出工作流 JSON
- 点击 ComfyUI 右侧 Save (API Format)。
- 复制生成的 JSON 内容。
填入 Koishi 配置
- 将 JSON 粘贴到
workflowJSON或保存为文件并在workflowDir下引用。
- 将 JSON 粘贴到
🚀 使用方法
comfy <prompt>示例(文生图):
comfy a cute cat sitting on a sofa示例(图生图/改图):
comfy --image https://example.com/source.png 温柔胶片风格或直接在消息里附带图片,不写 --image。
示例(指定采样步数与比例):
comfy -s 24 -r 16:9 dreamy portrait📄 许可协议
本项目使用 MIT 许可协议。
❤️ 作者
koishi-plugin-comfyui-client © flymyd, Released under the MIT License.
GitHub @flymyd · 夏雪冬花
