dsh-imagegen:DSH 用的圖片生成插件

DSH 裏的模型調用通常遵循聊天協議。guaihub provider 走的是 api: anthropic-messages,即便聲明瞭圖片模型也只回文字。中轉站本身有 POST /v1/images/generations 接口,這個插件直接打那個接口,跟網頁版 Studio 用的是同一套後端。

插件定位

dsh-imagegen 是由 dong2007-png 維護的模型推理插件。它直接調用 New API 中轉站(如 guaihub)的 OpenAI 風格接口生成圖片,支持將圖片顯示在對話工具卡片中,同時支持落盤到工作區。

核心能力

插件提供以下工具:

  1. generate_image:文字生成圖片。支持參數包括 prompt、model、size、n、quality、background、save_path。
  2. 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 "把背景換成海邊"

注意事項

  1. 文件系統權限:寫盤使用宿主進程裏的 node:fs,不經過 DSH 的 fs 沙箱與文件版本觀測。
  2. 依賴處理:pnpm 對 file: 依賴是複製而不是軟鏈。
  3. 更新同步:改完源碼後,需要把 ~/dsh/dsh-imagegen 重新 install_bundle 一次,或者手動複製 lib/index.js 到 ~/.dsh/profiles/desktop/node_modules/dsh-imagegen/lib/。
  4. 網絡問題:github.com 的 releases/raw 在某些網絡下直連不通,可改用第三方鏡像。

許可證

基於 MIT License 發佈。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜