DeepSeek Harness 的智能體默認只處理文本。當需要分析截圖或多圖對比時,直接把圖片塞進主會話會迅速填滿上下文窗口,導致推理質量下降或 Token 浪費。dsh-vision-subagent 插件通過將圖片閱讀委託給一個獨立的子智能體來解決這個問題。這個子智能體運行在配置好的視覺路由(如 MiniMax 或 Kimi)上,僅返回最終文本結果,從而將圖片字節流和中間上下文隔離在主會話之外。
核心能力¶
這是一個爲 DSH 文本智能體提供視覺能力的插件。它允許智能體通過 vision_agent 工具調用一個一次性子智能體來分析圖片。
- 上下文隔離:圖片數據流和視覺模型的中間推理過程不會進入主會話窗口,只有最終的分析文本返回,避免主窗口被截圖信息污染。
- 多輪視覺推理:子智能體可以在回答前多次調用
read_image讀取工作區內的文件,實現更復雜的視覺分析。 - 成本與路由分離:視覺調用走 MiniMax/Kimi 路由計費,主模型僅負責推理,無需在同一個路由上消耗昂貴的大模型 Token。
- Web 端粘貼支持:在 Web 聊天框中粘貼或拖入圖片時,會自動觸發一次視覺分析,氣泡界面保持整潔。
- 工具化還原:提供
vision_image_fetch工具,可將分析後的圖片高保真還原到工作區進行後續編輯。
安裝與配置¶
插件通過安裝包方式提供。在安裝前,請確保已準備好源碼路徑。執行以下命令將插件添加到當前 Web 配置文件中:
dsh plugin --profile web add /path/to/dsh-vision-subagent
安裝後需要配置視覺路由。編輯 ~/.dsh/profiles/web/cordis.patch.yml 文件,添加如下配置段:
- insert:
- id: vision-subagent
name: 'dsh-vision-subagent'
config:
provider: kimi-coding # 或 minimax-cn / 自定義路由
model: k3 # 或 MiniMax-M3 / MiniMax-VL-01
配置完成後,重啓 dsh web 服務並開啓新會話即可使用。
使用示例¶
在 Web 界面或工具調用中,智能體可以直接要求查看本地圖片。例如:
“Look at ~/Desktop/error.png — what is the error?”
智能體會自動調用子智能體分析圖片,並僅在主會話中返回關於錯誤的文字描述。
安全與限制¶
使用時需注意以下幾點:
- 密鑰管理:插件的密鑰不直接管理,而是通過配置的視覺路由的憑證引用獲取。插件本身不接觸明文密鑰。
- 圖片來源:當前版本不支持遠程圖片 URL(
allowRemoteUrls: false),圖片必須位於會話工作區內(allowOutsideWorkspace: false)。本地符號鏈接會被拒絕。 - 安全限制:子智能體運行時被限制深度爲 1(
maxDepth: 1),禁止其進一步委託其他智能體或修改文件系統,僅允許讀取圖片。 - 路由要求:必須手動配置
provider和model字段,否則插件處於休眠狀態。
總結¶
dsh-vision-subagent 通過子智能體機制,爲文本型 DSH 智能體提供了輕量級的視覺分析能力,解決了上下文溢出和成本分攤的問題。該項目由 ruby1304 維護,採用 MIT 許可證。源碼位於 GitHub。