DSH 裏的模型調用通常遵循聊天協議。guaihub provider 走的是 api: anthropic-messages,即便聲明瞭圖片模型也只回文字。中轉站本身有 POST /v1/images/generations 接口,這個插件直接打那個接口,跟網頁版 Studio 用的是同一套後端。
插件定位¶
dsh-imagegen 是由 dong2007-png 維護的模型推理插件。它直接調用 New API 中轉站(如 guaihub)的 OpenAI 風格接口生成圖片,支持將圖片顯示在對話工具卡片中,同時支持落盤到工作區。
核心能力¶
插件提供以下工具:
generate_image:文字生成圖片。支持參數包括 prompt、model、size、n、quality、background、save_path。list_image_models:從GET /v1/models接口過濾出可用的圖片模型名。
安裝¶
使用插件管理器安裝本地 bundle:
plugin_manager(action="install_bundle", target="file:<你本地的 clone 路徑>/dsh-imagegen")
安裝後,依賴會寫入 ~/.dsh/profiles/desktop/package.json,bundle 會追加到 dsh.profile.bundles,包實體會放入 ~/.dsh/profiles/desktop/node_modules/dsh-imagegen,且支持熱加載。
配置¶
默認配置指向 guaihub 中轉站,密鑰通過 DSH 的 credentials 服務解析(進程 env → provider 託管存儲 → .env)。
在 DSH 插件配置界面或 cordis.patch.yml 中可覆蓋配置:
- id: dsh-imagegen
config:
defaultModel: gpt-image-2.5-flare
outputDir: images/gen
配置項說明:
baseURL:中轉站地址(默認https://guaihub.com)。apiKeyEnv:密鑰名(默認GUAIHUB_API_KEY)。defaultModel:默認圖片模型(默認gpt-image-2)。defaultSize:默認尺寸(默認1024x1024)。outputDir:落盤目錄(相對會話工作目錄,默認images)。saveFiles:是否寫入磁盤(默認true)。timeoutMs:請求超時(默認300000)。
典型用法¶
在 DSH 對話中直接調用 generate_image 工具。也可以使用倉庫自帶的 CLI 腳本 cli/gen.mjs:
node $cli -p "一隻賽博朋克貓,霓虹雨夜" -o images/cat.png
node $cli --list
node $cli --edit in.png -p "把背景換成海邊"
注意事項¶
- 文件系統權限:寫盤使用宿主進程裏的
node:fs,不經過 DSH 的 fs 沙箱與文件版本觀測。 - 依賴處理:pnpm 對
file:依賴是複製而不是軟鏈。 - 更新同步:改完源碼後,需要把
~/dsh/dsh-imagegen重新install_bundle一次,或者手動複製lib/index.js到~/.dsh/profiles/desktop/node_modules/dsh-imagegen/lib/。 - 網絡問題:
github.com的 releases/raw 在某些網絡下直連不通,可改用第三方鏡像。
許可證¶
基於 MIT License 發佈。