前言¶
在 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