前言¶
在 DeepSeek Harness(DSH)中集成本地 AI 后端进行游戏美术开发时,往往需要解决资产落库路径、格式转换以及工作流与画布交互的问题。godot-imagegen 插件旨在将本机已安装的 SD WebUI 或 ComfyUI 后端接入 DSH,通过 10 个 image_* 工具在对话中直接生成、编辑、放大或抠图,并在侧边栏提供「美术工坊」面板,将产物自动写入 Godot 项目目录,同时给出 res:// 路径以便快速注册。
核心能力¶
插件提供了一套完整的工作流工具集与面板功能:
- 模型工具(10 个):包括状态查询(
image_backend_status)、生成(image_generate)、编辑(image_edit)、变体(image_variants)、放大(image_upscale)、抠图(image_cutout)、反推(image_interrogate)、图库(image_gallery)、工作流(image_workflow)和工坊(image_workshop)。 - REST API(
/gig/*):提供面板与宿主间的同源通道,支持后端状态、图库、生成/编辑/放大/抠图/反推任务、任务轮询与取消、后端启停、设置与预设、工作流库读写等操作。 - 工作流库:存储在本地
$DSH_HOME/godot-imagegen/workflows/,包含 6 套游戏美术模板,支持新建与改写。 - Better-Sidebar Tab「美术工坊」:按可用宽度布局(宽 ≥700px 时三栏:图库/画布/参数;窄时上下堆叠),提供提示词预设、任务进度、图库灯箱(放大/抠图/反推/发送到对话/注册资产/删除)等功能。
- 独立 KV 单元:
godot_imagegen,用于持久化图库记录、用户预设与设置。
画布桥接机制¶
由于浏览器安全限制,面板无法直接操作嵌在 iframe 中的 ComfyUI 节点。该插件通过随插件分发的 ComfyUI Web 扩展,利用 postMessage 机制实现对话与画布的通信。
- 面板中继:面板充当中继,将指令通过
postMessage传递给画布,并将画布状态回传给宿主。面板必须保持打开状态才能驱动画布。 - 队列保留:面板关闭时,画布指令会在队列中保留 10 分钟,下次打开面板时会自动投递。
- 画布折叠:画布分区默认折叠,载入失败时会自动展开并标注错误。
- 通道分工:
- 表单只管理 SD WebUI,ComfyUI 的所有参数与操作都交给画布。
- 本插件的 ComfyUI 通道目前仅支持文生图与图生图。ControlNet、放大、反推等功能请走 SD WebUI 通道。
- 使用系统浏览器外部打开的 ComfyUI 不在此通道中。
使用示例¶
通过对话或面板指令调用上述功能:
- 检查画布连接状态:
image_workshop action="bridge-status"
- 安装画布桥接:
image_workshop action="install-bridge"
*注意:安装前必须先备份,安装后必须重启 ComfyUI。*
- 操作工作流:
# 打开面板并推送到画布
image_workflow action="open" id="item-icon"
# 仅在面板打开,不动画布
image_workflow action="open" id="item-icon" to_canvas=false
# 改写工作流并推送到画布
image_workflow action="patch" id="item-icon" edits=[...] to_canvas=true
- 读取画布内容:
image_workshop action="read-canvas"
部署与注意事项¶
- 令牌与备份:安装画布桥接时,令牌会被烤进 ComfyUI 扩展副本。安装前必须先备份,安装后必须重启 ComfyUI。
- 卸载清理:卸载扩展时,只会回收安装时创建的文件与目录,不会触碰其他内容。
- 状态判定:面板在线判定间隔为 15 秒,画布心跳间隔为 60 秒。
参考资料¶
- GitHub 仓库:https://github.com/LINinLIN-0079/godot-imagegen
- 插件目录:https://www.skillhub.cn/plugins/LINinLIN-0079/godot-imagegen