前言¶
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. 瀏覽器端操作¶
- 在對話框輸入框左側找到「🎨 生圖」按鈕並點擊。
- 在彈窗中輸入提示詞,選擇尺寸、數量及後端。
- 提交後系統異步生成,結果以 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-rpcHTTP 路由,而非 DSH 原生的 harness.handle。 - 配額邏輯:插件使用本地計數作爲配額管理,不提供 API 賬單查詢接口。用盡免費額度後需切換後端或手動覈對。