前言¶
在 DeepSeek Harness(DSH)Web GUI 中,圖片附件可能遇到兩類限制:模型側未聲明圖片輸入,上游側不支持圖片部件。@dsh-external/dsh-image-unlock 是一個 DSH 外部插件,用於放行圖片附件,並將圖片塊文本化,使附件路徑能交給 vision skill 處理。
下面介紹它的定位、核心能力、安裝方式、啓用切換方式,以及需要注意的補丁問題。
插件定位¶
@dsh-external/dsh-image-unlock 由 FrostLeafKEE 維護,許可證爲 MIT。
它的一句話定位是:解除 DeepSeek Harness Web GUI 的圖片輸入限制,讓圖片附件在不支持圖片的上游(Console Go)下可用。
它本身不替代視覺模型,也不保證目標模型可以直接識圖。實際識圖需要配合 claude-vision-skill。
核心功能¶
插件主要做兩件事:放行圖片附件,並將圖片塊轉換爲文本標記。
1、解除 DeepSeek Harness Web GUI 的圖片輸入限制。
2、爲未聲明 input 的 llm-pi-ai 模型添加:
defaultInput: [text, image]
3、將 durable 圖片塊文本化爲:
[圖片附件: <名稱>]
4、附件路徑交由 claude-vision-skill/vision.js 按魔數嗅探 MIME 識別。
5、根據 claude-vision-skill 目錄存在與否,即時切換文本化或原生圖片部件。
6、支持在 profile cordis.patch.yml 的插件條目中附加配置:
textifyImages
skillDir
7、重裝或升級後,可重新運行補丁腳本:
node scripts/patch-pi-ai.mjs
其中,defaultInput 補丁隻影響未聲明 input 的模型,不受 skill 開關影響。文本化隻影響 opencode-go 路由,其它 pi-ai 路由行爲不變。
安裝¶
可以從 GitHub 安裝:
dsh plugin --profile web add https://github.com/FrostLeafKEE/dsh-image-unlock.git
也可以在本地目錄安裝。命令中的 <本插件目錄> 需要替換爲實際插件目錄:
dsh plugin --profile web add <本插件目錄>
安裝後,還需要在 profile 的 cordis.patch.yml 中插入 image-unlock 插件條目,並執行一次代碼補丁:
node scripts/patch-pi-ai.mjs
啓用與切換¶
插件通過 claude-vision-skill 目錄的位置切換行爲。
啓用 skill 流程時,保持 claude-vision-skill 目錄在 .agents/skills 下。此時插件會文本化圖片塊,附件路徑交給 claude-vision-skill/vision.js 處理。
禁用 skill 流程時,把 claude-vision-skill 目錄移出 .agents/skills。此時文本化關閉,請求走原生圖片部件路徑。若目標模型或上游不支持圖片部件,仍可能無法完成識圖。
運行時由標誌控制:
globalThis.__dsh_image_unlock_textify
該標誌爲 true 時才文本化。插件條目被禁用、插件被移除,或 claude-vision-skill 目錄不存在時,該標誌會被清除。
配置覆蓋¶
在 profile 的 cordis.patch.yml 中,可以在 image-unlock 插件條目的附加配置中設置:
textifyImages: true
強制關閉文本化時,可以設置爲:
textifyImages: false
如果需要指定 skill 目錄位置,可以配置:
skillDir
注意事項¶
1、該插件會針對本地 node_modules 打代碼補丁。pnpm install 或升級 @deepseek-ai/dsh 後,補丁可能丟失,需要重新執行:
node scripts/patch-pi-ai.mjs
2、插件只放行圖片附件並文本化,不改變模型本身的圖像輸入能力。
3、文本化隻影響 opencode-go 路由,其它 pi-ai 路由行爲不變。
4、插件以當前 dsh 進程權限運行。安裝前應檢查源碼、安裝路徑與 MIT 許可證。
鏈接¶
GitHub:https://github.com/FrostLeafKEE/dsh-image-unlock