用 agent-vision-toolkit 給純文本編碼智能體裝上視覺工具箱

前言

DeepSeek Harness(dsh)是 DeepSeek 開源的智能體運行時,官方定位是開發者預覽版,口號是「一切皆插件」:模型適配、工具註冊、會話日誌、Agent 循環,都可以用插件替換,而不必改運行時源碼。啓動 Web UI 的官方入口是:

npx @deepseek-ai/dsh web

編碼智能體這邊更常見的缺口是另一面:DeepSeek、GLM 這類主力對話模型是純文本的,看不見圖。報錯界面、設計稿、長聊天截圖、前端渲染結果,往往只能先口述,再讓模型猜。社區目錄 deepseek-harness-plugin.com 是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係;它把這類擴展按分類收錄,其中「工具與能力」下有一個被標成精選的插件:agent-vision-toolkit

本文按該目錄詳情頁、GitHub 倉庫 README / README_CN / AGENT_INSTALL.md、許可證,以及 DeepSeek Harness 官方說明覈對後整理:它是什麼、工具怎麼分工、命令怎麼寫、和原生 dsh 接入包是什麼關係。

這是什麼

agent-vision-toolkitAnionex 維護,倉庫地址是 Anionex/agent-vision-toolkit,許可證 MIT,主要語言 Python。倉庫創建於 2026-08-01。社區目錄把它分在「工具與能力」,收錄日期 2026-08-14;GitHub API 在 2026-08-17 顯示 950 star(目錄頁快照爲 874,星標以倉庫頁面爲準)。項目主頁是 agent-vision.anionex.me

目錄頁和倉庫 README 的定位一致:給純文本編碼智能體裝上眼睛。它提供的不是「把圖片丟給多模態模型,拿回一段通用描述」,而是一套視覺工具箱,外加一份教 agent 何時調用、按什麼順序驗收的 skill。倉庫寫明已在真實 Codex + DeepSeek 會話中驗證,同一套管線也在 Claude Code、Pi、Oh My Pi、OpenCode 裏做過端到端驗證。

倉庫把內容分成兩類:

  1. 視覺工具 CLI + skillglancegrounddetecttracecrop 等命令行工具,加上 vision-tools skill。任何能調 shell 的 agent 都能用。
  2. 無縫接入(可選升級):本地透明代理,或單文件原生擴展。裝上之後,直接粘貼的圖片和 agent 內置看圖工具都可以走通,不必再額外提示。

2026-08-13 起,同一維護者另開了原生 DeepSeek Harness 接入包 dsh-vision-toolkit(npm:@anionex/dsh-vision-toolkit)。它以 Git submodule 鏈在本倉庫裏,把上述工具箱做成 Web / Headless Profile 的 Bundle。社區目錄裏也有單獨條目。本文以工具箱本體爲主,原生 dsh 安裝只在後文單獨說明。

核心功能

1. 帶意圖的看圖,而不是一段空泛描述

倉庫 README 把常見「縫合方案」的損失寫得很直接:多數轉接只是讓多模態模型生成一段通用描述,再交給純文本模型去拼。中間多了一層語義,當前這一步真正要用的細節容易被沖掉。

agent-vision-toolkit 的做法是先抽出 agent 爲什麼要看這張圖。來源可以是用戶消息,也可以是模型調用內置看圖工具時自述的理由;這段動機作爲 focus hint 一併交給視覺模型。拿回來的是貼合當前任務的描述,而不是「詳細描述一下這張圖」。倉庫把它概括成:視覺能力不一定長在模型上,也可以長在 harness 上。

它仍然是圖片轉文字的一層,不會把視覺 token 直接交給純文本模型。整體質量由主模型和多模態模型共同決定。這一點倉庫自己列在限制裏。

2. 一組可組合的 CLI

工具按問題選型,而不是一個萬能入口:

工具 回答的問題 典型輸出
glance 這張圖看起來怎樣?圖上有哪些字? 針對提問的描述,或 OCR 文本
ground 我想要的物體在哪? 原圖像素座標 x1,y1,x2,y2
detect 圖裏都有些什麼、都在哪裏? 編號清單,帶可見文字和像素框
trace 這個圖形的乾淨幾何軌跡是什麼? 可編輯 SVG(本地確定性擬合,LLM 不參與這一步)
crop 把這塊裁出來複用 獨立圖片文件

glance 只需要 Python 3.11+。ground / detect / crop 以及長截圖 OCR 用例需要 pillowtrace 需要 pillow + numpy,只有顯式使用 --outline 輪廓回退時才需要 vtracer。倉庫建議只爲實際用到的工具在隔離 venv 裏裝可選依賴。

座標約定是原圖像素。ground / detect 打出的盒子可以直接餵給 croptrace;同一個區域後面還要做多次檢查時,先裁成文件再複用。

3. vision-tools skill 與用例 playbook

CLI 只解決「怎麼調」。skill 解決「什麼時候調、按什麼順序、最後怎麼驗收」。隨倉庫提供的 vision-tools 裏有一組可對照執行的用例,文檔在 skills/vision-tools/references/

  • 長截圖 / 聊天記錄 / 滾動頁面:找低內容切口,按塊 OCR,保留髮言人、時間和引用,只合並確實重複的重疊,並標出需要複查的邊界。倉庫給了 Telegram 實跑示例。
  • 按截圖或設計稿還原 UI:優先複用項目已有組件和素材,再結合原生 UI 代碼、截圖、渲染結果和視覺對比,逐輪對齊。
  • 還原圖標、Logo、插畫:提取透明 PNG;需要可編輯或無損縮放時重建 SVG,並核形狀、顏色和透明邊緣。
  • 草圖 / 示意圖 / 白板 → 結構化代碼:識別節點、文字、連線和方向,輸出 Mermaid、Graphviz 等。
  • 按截圖操作 GUI:定位控件、執行一次操作、重新截圖並驗證,再繼續下一步,避免在過期截圖上連續點。

倉庫 README 還記錄了若干原樣效果,用來說明粒度,不是第三方評測:信息圖截圖還原成可編輯 HTML/CSS;手繪稿還原 JupyterLab 工作區(Codex + deepseek-v4-flash);快速 UI 還原以約三分鐘給出第一張截圖;用 glance 做多輪圖片問答;用 ground 定位屏幕元素、DeepSeek V4 自主下棋;按截圖排查字段名不符預期。

4. 可選的無縫接入層

CLI 適合「agent 自己調 shell」。若希望粘貼圖片和內置看圖工具也直接可用,倉庫提供可選接入:

Agent 接入方式 倉庫標明的狀態
Codex 透明本地代理(Responses API),默認監聽 127.0.0.1:19100 已驗證
Claude Code 同一個代理,把 ANTHROPIC_BASE_URL 指向它 已驗證
Pi / Oh My Pi extensions/pi/ 下的單文件原生 extension 已驗證
OpenCode extensions/opencode/ 下的單文件原生 plugin 已驗證
任何能調 shell 的 agent 只用上面的工具箱,不必裝接入層 可用

代理不保存上游文本模型的 API key。Codex / Claude Code 原有的 Authorization 原樣轉發;代理 env 只配視覺側的 VISION_API_KEYVISION_BASE_URLVISION_MODEL。完整步驟在 AGENT_INSTALL.md,安裝前要求先備份宿主配置。

安裝與啓用

社區目錄給出的命令

插件詳情頁上的安裝命令原文是:

dsh plugin add github:Anionex/agent-vision-toolkit

需要可復現安裝時,目錄頁要求固定 commit 哈希:

dsh plugin add github:Anionex/agent-vision-toolkit#<commit>

目錄頁同時提示:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼;安裝前應檢查源代碼倉庫和許可證。

需要先說清邊界。寫作時該倉庫根目錄沒有 package.json,也沒有 dsh.bundle 聲明。DeepSeek Harness 官方文檔寫過:沒有 dsh.bundle 的包仍可被 dsh plugin add 裝進 profile,但只會作爲普通依賴,打印警告,不會激活配置層。因此這條目錄命令對應的是 GitHub 源碼倉庫,並不等於「裝完就能在 Web UI 裏粘貼圖片」。dsh Web / Headless 上的原生 Bundle,維護者寫明走下面的 @anionex/dsh-vision-toolkit

倉庫推薦:讓 agent 按文檔安裝

最省事的方式是把這句話發給當前 agent(原文來自 README_CN):

根據 https://github.com/Anionex/agent-vision-toolkit 的倉庫指引,在本地安裝視覺工具箱和 skill。如果視覺 API 尚未配置,請按當前系統找到配置文件,並引導我填寫 VISION_API_KEYVISION_BASE_URLVISION_MODEL

若還要裝可選無縫接入層,改發:

完整閱讀 https://github.com/Anionex/agent-vision-toolkit/blob/main/AGENT_INSTALL.md,根據我們當前使用的 agent 應用,安裝適用的視覺代理或原生 extension/plugin。如果視覺 API 尚未配置,請按當前系統找到配置文件,並引導我填寫 VISION_API_KEYVISION_BASE_URLVISION_MODEL

需要準備的是一個支持 OpenAI Chat Completions、OpenAI Responses 或 Anthropic Messages 的多模態 API,以及它的 base URL、API key 和模型名。

三步手動安裝

1. 指向一個視覺 API

~/.config/agent-vision-toolkit/env 寫入三個環境變量,並把文件權限設爲 chmod 600

VISION_API_KEY=sk-...
VISION_BASE_URL=https://openrouter.ai/api/v1
VISION_MODEL=google/gemini-3.6-flash

任何支持 /chat/completionsimage_url 的 OpenAI 兼容端點都可以。倉庫舉例:阿里雲百鍊 https://dashscope.aliyuncs.com/compatible-mode/v1 + qwen-vl-max-latest。Python 客戶端 / 代理還可設置:

  • VISION_API_PROTOCOL=responses:走 /responses + input_image
  • VISION_API_PROTOCOL=anthropic:走 Anthropic Messages;此時 Base URL 應以 /v1 結尾,不要帶 /messages

需要英文描述時加 LANG=en,默認中文。

2. 把 CLI 放進 PATH

git clone https://github.com/Anionex/agent-vision-toolkit.git
export PATH="$PWD/agent-vision-toolkit/bin:$PATH"

要持久生效,把 export 寫進 shell 配置。若同時需要倉庫裏的 dsh 子包,克隆時加 --recurse-submodules,或在已有 checkout 裏執行 git submodule update --init --recursive

3. 安裝 skill

npx skills add Anionex/agent-vision-toolkit --skill vision-tools -a codex -g --copy -y

也可以把 skills/vision-tools/ 複製到當前 agent 的 skills 目錄(例如 ~/.codex/skills/),重啓後生效。

在 DeepSeek Harness 裏走原生 Bundle

只在 dsh Web 或 Headless 裏用、希望粘貼圖片、Settings、Artifacts 都接上時,維護者給出的命令是(寫作時 npm 版本 0.1.19):

dsh plugin --profile web add @anionex/dsh-vision-toolkit

Headless Profile 把 --profile web 換成 headless。該包聲明瞭 dsh.bundle,peer 依賴釘在 DeepSeek Harness ^0.1.0-rc.6,要求 Node.js ^22.19.0>=24.0.0,並自帶一份釘死的 agent-vision-toolkit 快照,運行時不會在後臺拉取上游 main。裝完重啓 Web Profile,打開 Settings → Vision Toolkit,默認可先用內置的共享視覺服務做連通性測試。細節以 dsh-vision-toolkit 倉庫 爲準;社區目錄也有對應頁。

典型用法

下面命令和流程都來自倉庫 README,不是另行編造的案例。

1. 對一張截圖提問或做 OCR

glance screenshot.png -q "這張圖片的主色調是什麼?"
glance screenshot.png --ocr

長聊天截圖不要指望一次 glance 喫完整張圖。skill 內置腳本會切塊、逐段 OCR、合併重疊並寫出邊界複查:

python3 skills/vision-tools/scripts/long_screenshot_ocr.py long-chat.png --mode chat -o long-chat.ocr.md

2. 定位控件,再裁切或矢量化

ground screenshot.png "發送按鈕"
crop screenshot.png --region 1563,514,1668,621 -o send-button.png
trace screenshot.png --region 1563,514,1668,621 -o icon.svg

ground 每次分析一張完整圖。目標很小就加 --region X1,Y1,X2,Y2,只在該框內查找,輸出仍是原圖座標。密集頁面要完整清單時,用 detect 按區域逐塊盤點,而不是指望整屏一遍。

3. 還原頁面或圖形

倉庫 playbook 的順序可以概括成:先定位和裁切需要的視覺素材,再寫代碼或重建 SVG,然後渲染、對比、驗收。快速 UI 還原允許顏色和圖標庫近似,目標是儘快給出第一張可看的截圖;精細還原則繼續用視覺對比往下對齊。GUI 操作同樣是「看一次、動一次、再看一次」,不要在過期截圖上連點。

4. 粘貼圖片直接可用

在 Codex 或 Claude Code 上裝好可選代理並重啓宿主之後,直接粘貼圖片,或讓模型調用內置看圖工具。Pi、Oh My Pi、OpenCode 走單文件原生 extension,不走代理,步驟見各目錄 README。代理默認直連上游,不讀 Windows 系統代理;需要顯式走本地代理時,用 --upstream-proxy 或環境變量 VISION_UPSTREAM_PROXY

適用場景與注意事項

比較適合:

  • 主力模型是 DeepSeek 這類純文本模型,但日常要看報錯界面、設計稿、長截圖
  • 需要的不只是「描述這張圖」,還要座標、裁切、OCR 流水線、UI / 圖形還原
  • 已經在 Codex、Claude Code、Pi、OpenCode 等能調 shell 的 agent 裏工作,希望同一套工具箱跨宿主複用
  • 在 dsh 裏需要原生粘貼和 Web Settings 時,改走維護者提供的 @anionex/dsh-vision-toolkit

使用前注意下面幾條,均來自目錄頁或倉庫文檔:

  1. 權限與許可證。 以 dsh 插件方式安裝時,代碼以當前 dsh 進程權限運行,安裝過程可能執行代碼。安裝前檢查 源碼 和 MIT 許可證。社區目錄不是官方應用商店。
  2. dsh 仍是開發者預覽。 插件接口可能變化。本倉庫本身是 Python 工具箱;dsh 上的原生形態是另一個包,不要把兩條安裝命令混用。
  3. 這是圖片轉文字層。 不會把視覺 token 交給純文本模型。效果取決於主模型加多模態模型。代理緩存只存在於進程內,重啓即清空。
  4. 視覺 API 是剛需。 CLI 和 Python 代理至少要配 VISION_API_KEYVISION_BASE_URLVISION_MODEL。本地小模型可以用來壓成本,倉庫提到的選項包括 Gemma 4 和 Qwen 3.5 / 3.6 系列;具體可用性以各服務商當前文檔爲準。
  5. 依賴按工具安裝。 glance 對 Python 3.11+ 即可;定位、裁切、長圖 OCR 需要 pillowtrace 還要 numpy。不要把可選依賴一次性裝進系統 Python。
  6. 密鑰不要進 argv。 env 文件權限設爲 600。代理 env 不要重複保存上游文本模型的 key。
  7. 修改宿主配置前先備份。 Codex 只應改當前 provider 的 base_url 指向本地代理;Claude Code 只改 ANTHROPIC_BASE_URLAGENT_INSTALL.md 要求用 TOML/JSON 解析器結構化編輯,不要手工拼壞配置。
  8. 上游額度自負。 多模態 API 的費用、限流和條款由提供方決定。倉庫說明每次看圖只傳遞當前意圖和圖片,並有截斷,避免上下文越積越長。

小結

agent-vision-toolkit 要解決的問題很具體:純文本編碼智能體看不見圖,而一段通用描述又不夠用。它把看圖拆成可組合的 CLI,用 vision-tools skill 規定選型、順序和驗收;需要粘貼圖片和內置看圖工具時,再加一層本地代理或原生擴展。視覺能力放在 harness 側,主模型繼續做推理和改代碼。

在 DeepSeek Harness 社區目錄裏,它被收在「工具與能力」。目錄安裝命令指向這個 GitHub 倉庫;若要在 dsh Web / Headless 裏作爲原生 Bundle 使用,同一維護者提供的是 @anionex/dsh-vision-toolkit

目錄頁與倉庫:

  • 社區目錄:https://deepseek-harness-plugin.com/zh-CN/plugins/agent-vision-toolkit/
  • GitHub:https://github.com/Anionex/agent-vision-toolkit
  • 中文 README:https://github.com/Anionex/agent-vision-toolkit/blob/main/README_CN.md
  • Agent 安裝說明:https://github.com/Anionex/agent-vision-toolkit/blob/main/AGENT_INSTALL.md
  • 原生 dsh 接入包:https://github.com/Anionex/dsh-vision-toolkit
  • 項目主頁:https://agent-vision.anionex.me
  • DeepSeek Harness:https://github.com/deepseek-ai/deepseek-harness
羽毛球分组比赛记分
小程序二维码

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

小夜