Claude Code 看设计图,TaoToken 提供 Key 调 agent-vision-toolkit 技能包
1. 设计图还原卡在「图片不可读」Claude Code agent-vision-toolkit 的组合思路产品经理甩来一张设计图说“照着这个页面写一版”你手上的 Claude Code 却只能回一句“我处理不了图片”——这是前端工程师用纯文本 coding agent 时最常见的断点。要补上这块能力推荐路径是先去 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentagent_vision_intro拿 Key再把 Claude Code 的 Base URL 填成 https://taotoken.net/api最后让 agent-vision-toolkit 技能包把设计图翻译成结构化文本。这样 Claude Code 消耗的还是文本推理 Token却能完成“看设计图→生成前端代码”的闭环。这件事的关键不是让模型突然长出视觉神经元而是把“看图”拆成可调用的工具步骤截图先被 OCR 或 UI 还原工具转成布局描述、文字内容和组件层级再作为上下文交给 Claude Code 推理。agent-vision-toolkit 的价值就在这里它给能调用 shell 的 agent 提供一组视觉 CLI 和一个技能包让 agent 自己判断当前该做长截图文字提取、前端 UI 还原、屏幕元素定位还是图片差异问答。对 Claude Code 来说它仍然是那个擅长读代码、改文件、执行命令的 agent只是现在多了一双通过工具链借来的“眼睛”。本文以前端工程师还原设计图为主线完整走一遍TaoToken 拿 Key、Claude Code 配置 ANTHROPIC_*、安装与挂载 agent-vision-toolkit 技能包、用设计图生成 React 页面、查看调用记录与 Token 消耗以及遇到“还是看不到图”时怎么排障。可复现产出包括一张设计图、生成的前端代码、以及一次真实调用记录。整个过程不依赖换一个更贵的多模态模型而是把视觉能力放在运行时里补足。2. 先拿 Key 再配通道TaoToken 官网与 Claude Code 的 ANTHROPIC_* 配置第一步不是改代码而是把 Claude Code 的模型通道接到 TaoToken。打开 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentget_api_key注册或登录后进入控制台创建一个 API Key。这个 Key 就是后续 Claude Code 调用文本推理的凭证占位符统一写成YOUR_API_KEY。创建完成后先不要关页面因为接下来要确认 Base URL 和模型 ID。Claude Code 推荐的配置方式有两种项目级settings.json和 shell 环境变量。项目级配置适合团队共享环境变量适合本机临时切换。下面是一份settings.json示例放在项目根目录或 Claude Code 可读取的配置位置{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }如果你更习惯环境变量可以在~/.zshrc或~/.bashrc中写入export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENYOUR_API_KEY export ANTHROPIC_MODELclaude-sonnet-4-20250514改完后执行source ~/.zshrc再用下面命令做一次最小验证claude --version claude -p 用一句话确认你已连接到 TaoToken 通道并说明当前 Base URL如果 Claude Code 能正常返回文本说明通道已经通了。这里要特别注意ANTHROPIC_BASE_URL只属于 Claude Code 这一侧不要把它复制到 Codex 的config.toml里也不要给 Codex 配ANTHROPIC_*。两个工具的供应商配置是分开的混用最常见的表现就是请求 404 或鉴权失败。3. 给 Claude Code 装上 agent-vision-toolkit技能包放在哪、怎么让 agent 自己调用通道通了之后Claude Code 依然“看不到图”因为它默认只处理文本和文件路径。接下来要让 agent-vision-toolkit 进入 Claude Code 的技能系统。这个项目本身是 Python 工具集核心包括两类东西一类是可直接调用的视觉 CLI比如长截图 OCR、前端 UI 还原、GUI 自动化、像素对比、前景提取另一类是 skill 技能包用来教 agent 判断“什么时候该用哪个工具”。先在本地准备一个干净环境python -m venv .venv source .venv/bin/activate pip install -U pip # 按 agent-vision-toolkit 项目 README 安装包名或本地路径以实际项目为准 pip install agent-vision-toolkit如果项目提供的是本地仓库安装方式也可以进入项目目录后执行pip install -e .接着把技能包放到 Claude Code 能读取的位置。不同版本的 Claude Code 对 skills 目录支持略有差异常见做法是在项目内建立.claude/skills/并把技能包目录整体放进去project/ ├─ .claude/ │ └─ skills/ │ └─ agent-vision-toolkit/ │ ├─ SKILL.md │ └─ scripts/ ├─ design/ │ └─ design.png ├─ src/ │ └─ pages/ │ └─ Dashboard.tsx └─ CLAUDE.md然后在CLAUDE.md里写清楚视觉任务的调用规则让 Claude Code 不要一遇到图片就放弃## 视觉任务规则 - 遇到 .png、.jpg、.jpeg、.webp 设计图或界面截图时先调用 agent-vision-toolkit 的 UI 还原工具不要直接回答“我处理不了图片”。 - 遇到长截图报错、日志截图、聊天记录截图时先调用 OCR 工具提取文字再基于提取结果分析。 - 遇到需要点击、定位屏幕元素的自动化任务时先调用 GUI 自动化工具读取屏幕结构。 - 调用视觉工具后把结构化输出作为上下文再生成或修改前端代码。 - 每次视觉任务结束时输出调用的工具命令和 Token 消耗摘要。这样 Claude Code 在收到“照着 design.png 写页面”时会先查CLAUDE.md和技能包说明再决定是走 UI 还原还是 OCR。它消耗的仍然是 TaoToken 通道上的文本推理 Token图片本身不直接送给模型而是先被工具转成文本。4. 前端工程师复现从 design.png 到 React 页面的一次完整记录准备一张设计图放在./design/design.png。假设这是一个运营 dashboard顶部有标题和导出按钮中间三张指标卡底部一个目标完成度进度条。现在给 Claude Code 一个明确任务要求它必须调用视觉工具并留下调用记录请读取 ./design/design.png。 执行步骤 1. 先调用 agent-vision-toolkit 的 UI 还原工具提取布局、颜色、字号、间距、组件层级。 2. 把提取结果整理成前端实现清单列出每个区块的组件拆分。 3. 用 React Tailwind 生成页面代码写入 ./src/pages/Dashboard.tsx。 4. 保持设计图中的信息层级和间距节奏不要自行添加未出现的模块。 5. 最后输出本次调用的工具命令和 Token 消耗摘要。Claude Code 会先执行视觉工具再基于工具输出的结构化描述进行文本推理。它可能产出类似下面的 React 代码import { Card, ProgressBar } from ../components; export default function Dashboard() { return ( main classNamemin-h-screen bg-slate-50 p-8 header classNamemb-8 flex items-center justify-between div h1 classNametext-2xl font-semibold text-slate-900运营概览/h1 p classNamemt-1 text-sm text-slate-500数据更新于 10 分钟前/p /div button classNamerounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white 导出报表 /button /header section classNamegrid grid-cols-1 gap-6 md:grid-cols-3 Card title今日访问 value12,480 trend8.2% / Card title转化率 value3.76% trend0.4% / Card title平均停留 value4m 32s trend-1.1% / /section section classNamemt-8 rounded-xl bg-white p-6 shadow-sm h2 classNamemb-4 text-lg font-medium text-slate-900目标完成度/h2 ProgressBar value{76} / p classNamemt-3 text-sm text-slate-500 本月目标已完成 76%距离月底还有 6 天。 /p /section /main ); }如果设计图里还有颜色、圆角、阴影、字体字重等细节UI 还原工具的输出里应包含这些结构化字段。Claude Code 再根据这些字段映射到 Tailwind 类名。调用记录可以整理成下面这种格式方便团队复盘[vision] ui-rebuild --image ./design/design.png --out ./design/design.spec.json [vision] ocr --image ./design/bug-long.png --out ./design/bug.txt [claude-code] read: ./design/design.spec.json [claude-code] write: ./src/pages/Dashboard.tsx [claude-code] prompt_tokens: 18420 [claude-code] completion_tokens: 3210 [claude-code] total_tokens: 21630注意上面命令名只是记录格式示例实际 CLI 名称以 agent-vision-toolkit 项目 README 为准。真正要固定下来的是流程先视觉工具后文本推理先结构化后写代码。5. 报错与排障Claude Code 仍说「看不到图」时先查这 5 处接入过程中最常见的现象是Claude Code 明明已经能聊天但一给图片还是回答“我无法查看图片”。这时候不要急着换模型按下面顺序排查。第一检查 Claude Code 的 Base URL 是否真的指向 TaoTokenecho $ANTHROPIC_BASE_URL # 期望输出https://taotoken.net/api如果输出为空说明 shell 没加载环境变量或者settings.json没被读取。检查项目根目录、用户配置目录以及当前终端是否重启。第二检查 Key 是否有效。可以用一个最小请求测试通道curl -s https://taotoken.net/api/v1/models \ -H Authorization: Bearer YOUR_API_KEY | head如果返回鉴权错误回到控制台重新创建 Key。注意不要把 Key 提交到仓库也不要写进前端代码。第三检查技能包是否被 Claude Code 读取。在 Claude Code 里直接问列出你当前可用的 skills以及和视觉相关的工具。如果它完全不知道 agent-vision-toolkit说明.claude/skills/目录位置不对或者SKILL.md没有被正确识别。把技能包目录、文件权限和 Claude Code 版本一起检查一遍。第四检查视觉工具依赖是否安装成功。很多 OCR 或图片处理工具依赖系统库缺库时 Claude Code 会调用失败然后退回“看不到图”的兜底回答python -c import agent_vision_toolkit # 如果模块名以实际项目为准这里只做导入检查第五检查图片路径。Claude Code 在项目根目录工作时./design/design.png和绝对路径可能指向不同位置。可以在 prompt 里要求它先执行ls -l ./design/design.png确认文件存在后再调用视觉工具。这五步覆盖了大多数“通道通了但视觉没通”的情况。核心原则是Claude Code 负责推理agent-vision-toolkit 负责把图转成文本TaoToken 负责文本推理的 Token 通道。三者缺一不可。6. Codex 与 CC Switch 三件套多工具切换时别把 ANTHROPIC_* 套到 Codex很多团队不只用一个 coding agent。Claude Code 之外可能还会用 Codex。这时候配置最容易乱Claude Code 用ANTHROPIC_*Codex 用config.toml两者不能互相套用。Codex 的配置应写成类似下面这样# ~/.codex/config.toml model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api responses然后设置 Codex 自己的环境变量export TAOTOKEN_API_KEYYOUR_API_KEY如果你使用 CC Switch 来管理多套配置可以把它理解成“三件套”录入供应商名称、Base URL、API Key。为 Claude Code 建一套供应商填 TaoTokenBase URL 填https://taotoken.net/apiKey 填YOUR_API_KEY为 Codex 再建一套同样填 TaoToken 和同一个 Base URL但 Key 通过 Codex 自己的env_key读取。CC Switch 只负责切换不负责把ANTHROPIC_*翻译成 Codex 能识别的格式。更多通道配置可以参考 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentcc_switch上的说明。切换时建议每换一个工具就跑一次最小验证Claude Code 问“当前 Base URL 是什么”Codex 跑一个只读命令确认模型能返回文本。不要等到写代码写到一半才发现供应商配错。7. 成本与能力边界结构化看图够用审美推理仍要原生多模态agent-vision-toolkit 最实际的价值在成本结构。原生多模态模型通常比纯文本模型贵私有化部署时还会带来显存和部署复杂度。把“看图”拆成工具能力后你可以继续用纯文本模型做 coding agent只在需要 OCR、UI 还原、元素定位时调用本地或轻量工具。消耗 Token 的是 Claude Code agent 的文本推理而不是每次图片理解都走多模态大模型。但它不是万能的。工具把图片转成结构化文本或描述模型理解的仍然是文本不是像素级视觉推理。对于“这个配色是否高级”“这个插画风格是否统一”“这两个 logo 哪个更有辨识度”这类需要视觉审美的任务工具替代不了原生多模态模型。判断标准很简单如果你的需求是结构化的——提取文字、还原布局、定位元素、对比像素差异——agent-vision-toolkit 够用如果是审美判断或复杂图像推理老老实实用原生多模态。对前端工程师来说最常见的需求恰好是结构化的照着设计图写页面、照着报错截图排查、照着后台截图生成表单。这些场景里Claude Code agent-vision-toolkit TaoToken 文本推理的组合已经能覆盖大部分日常工作。它不承诺“完全替代多模态”但它把“看不了图”这个卡点变成了可配置、可排障、可复现的工程问题。8. 文末可直接跟做的 CTA模型对话、Coding Plan、创建 Key、Claude Code 文档如果你想把上面的流程完整跑一遍建议按下面顺序操作先在 TaoToken 模型对话页确认可用模型和返回格式https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchat如果你准备长期用 Claude Code 写前端可以查看 Coding Plan 是否匹配你的日常调用量https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_plan然后到控制台创建 API Key填入YOUR_API_KEYhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keys最后对照 Claude Code 文档完成ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN配置https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_code_doc配置完成后把https://taotoken.net/api填到 Claude Code 的 Base URL把 agent-vision-toolkit 技能包挂到项目里再丢一张设计图给 Claude Code。你会看到调用记录里出现视觉工具命令、生成的 React 代码以及本次文本推理的 Token 消耗。视觉能力不必长在模型里它也可以长在 harness 里而 Key 和通道先从 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentfinal_cta开始。