DeepSeek Harness 插件:dsh-tool-imagegen

前言

DeepSeek Harness (DSH) 的插件機制允許開發者通過擴展功能來增強工作流。對於需要視覺輸出的智能體或工作流,dsh-tool-imagegen 插件提供了一個解決方案。它通過 OpenRouter 的統一圖片生成 API,將文本轉圖片和圖片轉圖片的能力集成到 DSH 中。

核心定位

  • 作者: Pappet
  • 許可證: MIT
  • 功能: Text-to-image 和 image-to-image 生成
  • 依賴: Node.js >= 22.19
  • 接口: OpenRouter 的 POST /api/v1/images (非 OpenAI 兼容接口)

安裝

在終端中運行以下命令將插件安裝到 web profile:

dsh plugin --profile web add dsh-tool-imagegen

安裝完成後,插件會出現在 dsh.profile.bundles 中,並自動插入插件行。

配置與啓用

插件安裝後需要配置 API 密鑰。推薦將密鑰存儲在憑證文件中,環境變量次之。

  1. 設置憑證: 在 $DSH_HOME/.credentials.yaml 中添加:
   refs:
     OPENROUTER_API_KEY: sk-or-...

或者在 shell 中導出環境變量:

   export OPENROUTER_API_KEY=sk-or-...
  1. 配置別名與參數: 在 cordis.patch.yml 中添加配置覆蓋。由於配置是整行替換而非深度合併,所有需要覆蓋的鍵都必須顯式列出。示例配置如下:
   - id: imagegen
     config:
       apiKeyEnv: OPENROUTER_API_KEY
       baseURL: https://openrouter.ai/api/v1
       outputDir: .dsh/images
       defaultModel: seedream
       capabilityTtlMs: 86400000
       maxImagesPerCall: 4
       maxReferenceBytes: 8388608
       maxReferenceTotalBytes: 33554432
       showInChat: true
       models:
         seedream:
           id: bytedance-seed/seedream-4.5
           defaults: { resolution: "2K", aspect_ratio: "16:9" }

使用方法

在 DSH 的對話或工具調用中,可以通過 JSON 格式調用 generate_image 工具。

基礎文本生成

{
  "prompt": "一隻在太空中的貓",
  "model": "seedream"
}

圖生圖

通過 input_references 參數傳入路徑或 URL:

{
  "prompt": "Turn this into a soft watercolor painting, same composition.",
  "input_references": ["bilder/vorlage.png", "https://example.com/style.jpg"]
}

關鍵特性與注意事項

1. 模型別名與能力門控

模型別名不僅是詞彙表,還是允許列表。插件會根據模型的能力記錄 (GET /api/v1/images/models) 動態檢查參數,而不是硬編碼。如果模型不支持請求的參數(例如不支持某分辨率),會返回具體的錯誤信息。

2. 輸出路徑與編碼

output_path 中的文件擴展名僅作爲建議。實際的編碼格式由模型決定。例如,如果你請求生成 .png 但模型返回的是 JPEG,文件名會被重命名爲 .jpg。插件不會因爲文件名錯誤而報錯。

3. 配置覆蓋機制

在 cordis.patch.yml 中的配置覆蓋會整行替換配置,而不是深度合併。這意味着如果你不列出某個鍵,它將使用該行的默認值,而不是繼承其他配置的值。

4. 運行時可編輯

插件在瀏覽器端註冊了設置卡片,允許在運行時編輯別名和可調參數,無需重啓 DSH 進程。

5. 圖片引用處理

圖片引用 (input_references) 支持工作區路徑或 URL。插件通過讀取文件的魔數來判斷格式,忽略文件名中的後綴。引用圖片的數量和大小受模型能力限制(例如 Seedream 4.5 支持 14 張,GPT-Image 系列支持 16 張)。

總結

dsh-tool-imagegen 是 DeepSeek Harness 中用於集成 OpenRouter 圖片生成能力的工具。它通過動態能力檢查和靈活的配置方式,爲開發者提供了在智能體工作流中直接生成和編輯圖片的能力。

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

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

小夜