dsh-imgdraw

前言

DeepSeek Harness (DSH) 的插件化架構允許開發者擴展其能力。dsh-imgdraw 是一個爲 DSH 提供文生圖功能的插件,由 ninjasln 維護。它解決了在 DSH 環境中直接調用大模型生成圖片的需求,提供了模型工具接口、瀏覽器交互彈窗以及持久化的圖片存儲與訪問路由。

核心能力

該插件主要包含以下能力:

  • 模型工具:註冊了 draw_image 工具,支持通過參數控制提示詞、數量、尺寸、後端和標籤。
  • 瀏覽器交互:在輸入框左側提供「🎨 生圖」按鈕,點擊後彈出交互窗口。支持選擇尺寸(1:1, 16:9 等)、數量(1-4 張)、後端,並實時顯示配額。
  • 異步生成與預覽:支持異步生成圖片,結果以 4 格網格展示。每張圖片支持下載、選定保留(永不清理)或刪除。
  • 圖片路由:提供 /imgdraw 路由,支持通過直鏈訪問生成的圖片文件。
  • 持久化歷史:生成記錄保存在 ~/.dsh/imgdraw/index.json,跨重啓保留。
  • 多後端支持:默認支持 DashScope 的 wan2.7-image(免費額度),可選 SiliconFlow 的 Qwen-Image。

安裝與啓用

通過 npm 發佈的版本,可以使用以下命令安裝:

dsh plugin add dsh-imgdraw

安裝後,插件會隨 profile 自動加載,屬於正式 bundle,重啓進程不會丟失狀態。

配置項

插件支持通過 cordis.patch.yml 或 profile overlay 進行配置。主要配置項如下:

字段 默認值 說明
outDir ~/.dsh/imgdraw 圖片輸出目錄
keysPath ~/.dsh/image-api-keys.json API keys 配置文件路徑
routePrefix /imgdraw 圖片路由前綴
rpcPath /imgdraw-rpc 瀏覽器 RPC 交互路由
keepLatest 24 每輪清理後保留的最新文件數(選定保留的文件不受此限制)
maxCount 4 單次最大生成數量
defaultBackend dashscope 默認後端:dashscope 或 siliconflow
dashscopeModel wan2.7-image DashScope 使用的模型
siliconflowModel Qwen/Qwen-Image SiliconFlow 使用的模型
historyCap 50 歷史記錄條數上限

使用方法

1. 瀏覽器端操作

  1. 在對話框輸入框左側找到「🎨 生圖」按鈕並點擊。
  2. 在彈窗中輸入提示詞,選擇尺寸、數量及後端。
  3. 提交後系統異步生成,結果以 4 格網格展示。
  4. 對每張圖片執行下載、選定保留或刪除操作。

2. 模型工具調用

AI 可以直接在對話中調用 draw_image 工具。參數包括:
* prompt:提示詞
* count:生成數量
* size:圖片尺寸
* backend:後端選擇
* tag:標記(用於文件命名)

3. 直鏈訪問

生成成功的圖片可通過直鏈訪問:

http://127.0.0.1:3080/imgdraw/<文件名>

注意事項

  • 正式 Bundle:本插件爲正式 bundle,而非動態插件。重啓 DSH 進程不會導致數據丟失。
  • 異步機制:瀏覽器 fetch 有 30 秒超時限制,因此生成過程必須異步進行。draw_image 工具支持同步等待,但超時設置爲 180 秒。
  • RPC 通信:Client 與 Host 之間的通信走同源 /imgdraw-rpc HTTP 路由,而非 DSH 原生的 harness.handle。
  • 配額邏輯:插件使用本地計數作爲配額管理,不提供 API 賬單查詢接口。用盡免費額度後需切換後端或手動覈對。
羽毛球分组比赛记分
小程序二维码

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

小夜