DeepSeek Harness(DSH)默認的模型(例如 deepseek-v4-flash)是純文本的,無法直接“看懂”圖片。當你在對話中請求模型分析圖片內容時,通常會因爲缺乏視覺能力而失敗。
dsh-tool-see-image 是一個爲 DSH 設計的插件工具。它充當中間層:當文本模型需要處理圖片時,插件會將圖片文件路徑發送給一個配置好的視覺模型(默認爲智譜的 GLM-4V-Flash,免費),並將模型返回的文本描述回傳給對話會話。這解決了文本模型無法直接處理視覺信息的問題。
核心功能¶
see_image工具:輸入圖片路徑和問題,輸出文本描述。- 視覺模型無關:支持任何兼容 OpenAI
/chat/completions接口的視覺模型(默認 GLM-4V-Flash,也可切換至 SiliconFlow 或 Qwen2.5-VL 等)。 - 沙箱感知:通過
ctx.fs讀取文件,遵守 DSH 的沙箱和觀察策略,不直接訪問本地文件系統。 - 粘貼轉文字(Bonus):附帶補丁腳本,允許直接將圖片粘貼到聊天框並自動轉換爲文字描述。
安裝與啓用¶
插件需要手動安裝到你的 Web 配置文件中。
- 複製插件文件:將插件目錄複製到你的 Web 配置文件路徑下,例如:
$DSH_HOME/profiles/web/plugins/dsh-tool-see-image/
(`$DSH_HOME` 通常是 `~/.dsh`)。
- 聲明依賴:編輯 Web 配置目錄下的
package.json,添加依賴聲明:
"dsh-tool-see-image": "file:plugins/dsh-tool-see-image"
然後運行安裝命令:
pnpm install
- 配置插件:編輯
$DSH_HOME/profiles/web/cordis.patch.yml,在合適位置插入配置:
- insert:
- id: tool-see-image
name: 'dsh-tool-see-image'
config:
baseURL: https://open.bigmodel.cn/api/paas/v4
apiKeyEnv: ZHIPU_API_KEY
model: glm-4v-flash
- 設置 API 密鑰:你需要一個智譜 AI 的 API Key。在終端設置環境變量(以 Windows 爲例):
setx ZHIPU_API_KEY "your-api-key-here"
設置後**重啓終端**,並重啓 `dsh web` 進程。
- 驗證:在新的對話會話中,
see_image工具應該已經可用。嘗試以下指令:
Use see_image to look at path/to/your/image.png
配置說明¶
在 cordis.patch.yml 的 config 節點下,可以調整以下參數:
| 配置項 | 默認值 | 說明 |
|---|---|---|
baseURL |
https://open.bigmodel.cn/api/paas/v4 |
OpenAI 兼容接口地址,插件會自動拼接 /chat/completions |
apiKeyEnv |
ZHIPU_API_KEY |
存放 API 密鑰的環境變量名 |
model |
glm-4v-flash |
視覺模型 ID,智譜 GLM-4V-Flash 默認免費 |
maxTokens |
1024 |
最大輸出 Token 數。注意:glm-4v-flash 的上限是 1024,超過會報錯 |
timeoutMs |
60000 |
請求超時時間(毫秒) |
maxBytes |
15728640 |
單張圖片大小限制(約 15MB) |
prompt |
(中文描述指令) | 默認問題提示詞,question 參數會覆蓋此設置 |
如果需要使用其他服務商(如 SiliconFlow),只需修改 baseURL、apiKeyEnv 和 model 即可。
典型用法¶
在對話中直接調用工具即可:
Use see_image to look at path/to/your/image.png
插件會讀取該路徑下的圖片,將其發送給視覺模型,並將返回的文本描述插入到對話流中。
注意事項¶
- 重啓要求:修改
cordis.patch.yml或依賴後,必須重啓dsh web才能生效。 - Token 限制:默認配置的
maxTokens爲 1024。如果切換到支持更長輸出的視覺模型,需要相應調高此值。 - 權限與沙箱:插件運行在 DSH 進程內,通過
ctx.fs讀取文件。這意味着圖片路徑必須在當前沙箱的觀察範圍內,且不會繞過 DSH 的安全策略。
生態背景¶
該插件遵循 MIT 協議,由社區開發者 gugu123a 維護。它是 DeepSeek Harness 生態中“一切皆插件”理念的一個體現,旨在通過輕量級的工具擴展,讓基礎模型的能力邊界更靈活。