news 2026/9/21 1:30:45

纯文本模型识图失败?TaoToken 这样改 claude-vision-skill 的环境变量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
纯文本模型识图失败?TaoToken 这样改 claude-vision-skill 的环境变量

1. 纯文本模型在 Claude Code CLI 里为什么读不了图

你在 Claude Code CLI 里挂上 DeepSeek、GLM 这类模型之后,敲代码、改文件、跑命令都挺顺,但一旦把一张截图或者设计稿拖进对话,它就开始装傻:要么说看不到图片内容,要么干脆把图片路径当成普通文本处理。原因不复杂,这些模型本身是纯文本模型,输入通道里就没有图像编码这一环,CLI 把图片塞进去,模型侧接不住。

我一开始的做法也很原始:把图丢到某个视觉聊天页面,让它先描述一遍,再把描述复制回 CLI 里继续问。来回切窗口不说,遇到多张图或者需要反复追问细节的时候,上下文全乱。另一种办法是临时改配置切到带视觉的模型,问完再切回来,配置改来改去,容易把别的参数带崩。

这篇要解决的就是这个场景:同一个 Claude Code CLI 客户端,不切模型,也能让纯文本模型"看懂"图片。落点是 claude-vision-skill 这个 Skill,配合全局规则文件 CLAUDE.md 和脚本 vision.js,把识图这件事交给一个独立的视觉模型通道去跑,主模型只负责拿结果继续干活。适合已经在用 Claude Code CLI、手上有 DeepSeek 或 GLM 这类纯文本模型、又经常需要贴图的人。下面按"拿通道 Key → 配环境变量 → 放脚本 → 写全局规则 → 验证"的顺序走一遍。

2. 前置准备:用 TaoToken 给 Skill 提供模型通道和 Key

claude-vision-skill 本身不产生识图能力,它只是一个调度层:收到图片后,调用一个视觉模型接口,把返回的文字描述交回给主模型。所以你需要一个能调视觉模型的通道和一把 Key。这里用 TaoToken 来做这件事,它在这个方案里只负责提供模型通道和 Key,不参与识图逻辑本身。

先打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 注册账号,进控制台创建一把 API Key。创建入口在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite ,拿到那串 Key 之后先存好,后面填环境变量要用。

有一点必须说清楚,也是我自己踩过的坑:DASHSCOPE_BASE_URL 要填https://taotoken.net/api,不要加/v1,也不要写成官网首页。加/v1会让请求路径拼错,写成首页则根本不是接口地址,两种情况都会让 vision.js 报连接或 404 类错误。这个地址是给脚本发请求用的,和你在浏览器里打开的页面不是一回事。

如果你后面打算长期在 CLI 里跑编码和 Agent 任务,可以顺带看下 Coding Plan 页面 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ,把常用模型和额度规划一下;只是先验证识图能不能跑通的话,拿一把 Key 就够了。

3. 可复制配置:三个环境变量 + vision.js + CLAUDE.md

这一节是全文的核心操作,照着填就行。整体分四步:配环境变量、放脚本、追加全局规则、回 CLI 验证。

3.1 配置三个环境变量

claude-vision-skill 靠三个环境变量找到通道、认证和模型,含义如下:

变量名填什么说明
DASHSCOPE_BASE_URLhttps://taotoken.net/api模型通道地址,不加 /v1,不写首页
DASHSCOPE_API_KEY你在 TaoToken 创建的 Key用于认证,别外泄
VISION_MODEL视觉模型名,如 minimax-m3、kimi-k3按你账号可用的视觉模型填

Windows 下可以用系统"环境变量"面板添加,也可以在当前终端临时设置。临时设置适合先验证:

# Windows PowerShell 临时设置,仅当前窗口有效 $env:DASHSCOPE_BASE_URL = "https://taotoken.net/api" $env:DASHSCOPE_API_KEY = "你的TaoToken Key" $env:VISION_MODEL = "minimax-m3"

macOS / Linux 下临时设置:

# macOS / Linux 临时设置,仅当前 shell 有效 export DASHSCOPE_BASE_URL="https://taotoken.net/api" export DASHSCOPE_API_KEY="你的TaoToken Key" export VISION_MODEL="minimax-m3"

想长期生效就写进系统环境变量或 shell 配置文件(如~/.zshrc~/.bashrc),改完重开终端。注意 Key 不要提交到 Git 仓库,也不要在截图里露出来。

3.2 放置 vision.js 脚本

把附件里的 vision.js 放到用户目录下的.claude/scripts/里,路径照原文不动:

# 创建目录(已存在会提示,忽略即可) mkdir -p ~/.claude/scripts # 把 vision.js 复制进去,假设你下载在 Downloads cp ~/Downloads/vision.js ~/.claude/scripts/vision.js # 确认文件到位 ls -l ~/.claude/scripts/vision.js

Windows 下对应路径是C:\Users\你的用户名\.claude\scripts\vision.js,用资源管理器或 PowerShell 复制都行。这个脚本是识图请求的实际执行者,它读上面三个环境变量,把图片发给视觉模型,再把文字结果返回。

3.3 追加全局规则到 CLAUDE.md

把附件里的 CLAUDE.md 内容追加到~/.claude/CLAUDE.md。这个文件是 Claude Code CLI 的全局规则文件,写进去之后,每次对话都会先加载这些规则,命中"遇到图片就走 claude-vision-skill"这条逻辑。

# 追加规则(如果文件不存在会新建) cat ~/Downloads/CLAUDE.md >> ~/.claude/CLAUDE.md # 看一眼追加后的内容 tail -n 40 ~/.claude/CLAUDE.md

追加而不是覆盖,是因为你可能已经在 CLAUDE.md 里写了别的全局偏好,覆盖会丢。追加完确认规则段落完整、没有和已有内容粘连在一起。

3.4 规则命中逻辑长什么样

全局规则的作用是让主模型在收到图片时,不去硬解图像,而是转交给 Skill。规则里通常会写明:当输入包含图片或图片路径时,调用~/.claude/scripts/vision.js,并把返回的描述作为上下文继续处理。这样主模型还是那个纯文本模型,但"看图"这一步被外包出去了。

4. 验证请求:回 CLI 贴一张图看是否跑通

配置完别急着写业务,先做最小验证。回到 Claude Code CLI,新开一个会话,贴一张图进去,比如一张报错截图或者一张简单的流程图。观察两件事:

第一,全局规则有没有命中 claude-vision-skill。如果命中,你会看到 CLI 侧触发了脚本调用,而不是直接对图片报"无法识别"。第二,识图请求能不能跑通,也就是 vision.js 有没有成功拿到视觉模型的返回。

如果一切正常,你会看到类似这样的过程:图片被交给 vision.js → 脚本用https://taotoken.net/api加你的 Key 发请求 → 视觉模型返回一段文字描述 → 主模型基于这段描述继续回答你的问题。跑通之后,同一个客户端不用切模型也能读图,这就是从 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 拿 Key 后能配通的场景。

想单独确认模型通道是否可用,也可以去模型对话页面 https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite 手动发一条带图或纯文本的请求,看通道和 Key 是否正常,排除是通道问题还是 Skill 配置问题。

5. 本篇常见错排查

配不通常见就下面几类,按顺序排:

报 404 或路径错误:八成是 DASHSCOPE_BASE_URL 写成了https://taotoken.net/api/v1或者写成了官网首页。改回https://taotoken.net/api,不加/v1,不加尾部斜杠。

报认证失败 / 401:检查 DASHSCOPE_API_KEY 是不是复制时带了空格或换行,或者 Key 已被删除。去 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite 重新确认一把。

规则没命中,图片还是被当文本:检查 CLAUDE.md 是否追加到了~/.claude/CLAUDE.md,路径别写错;再确认追加的内容完整,没有被截断。改完重开 CLI 会话。

脚本找不到 / 权限问题:确认 vision.js 在~/.claude/scripts/vision.js,macOS / Linux 下可执行权限不够就chmod +x。Windows 下注意路径分隔符和用户目录是否正确。

VISION_MODEL 填了不存在的模型:换一个你账号下确实可用的视觉模型名,比如 minimax-m3、kimi-k3,填错会返回模型不存在类错误。

环境变量改了但没生效:临时设置只对当前终端有效,新开窗口就没了;长期生效要写进系统环境变量或 shell 配置,改完重开终端再试。

排障时如果拿不准是通道问题还是 Skill 问题,先单独用模型对话页面发一条请求,能通说明通道和 Key 没问题,问题在 Skill 侧;不通就先解决 Key 和地址。接入细节可以对照接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 核对参数格式。

6. 把识图能力固定进你的 CLI 工作流

配通之后,建议把三个环境变量写进系统级配置而不是每次临时 export,这样换终端、重启机器都不用重配。CLAUDE.md 里的规则也可以按你的习惯微调,比如限定只在特定目录下触发识图,或者规定返回描述的字数上限,避免视觉模型话太多把上下文撑满。

另外一个小经验:vision.js 返回的是文字描述,描述质量直接决定主模型后续回答的质量。如果发现识图结果太粗,可以换一个更强的视觉模型,或者在图本身清晰度上花点功夫,比反复追问更省事。整套流程里 TaoToken 只承担通道和 Key 的角色,识图逻辑、规则命中、脚本执行都在你本地这套 Skill 配置里,改起来也方便。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 1:27:20

GPT模型进化史:从语言理解到代码生成的技术跃迁

1. 从玩具到工具的进化史2018年6月,OpenAI悄悄发布了一个只有1.17亿参数的神经网络GPT-1时,没人能预料这个看似普通的语言模型会在五年后掀起全球AI浪潮。当时它最惊艳的表现不过是能勉强完成一些简单的文本补全,而今天最新的GPT模型已经能流…

作者头像 李华
网站建设 2026/9/21 1:25:54

AI头脑风暴工具选型指南:别只会出点子,重点看这五个维度

我见过很多人第一次用AI头脑风暴工具时的流程是这样的:打开对话框,打出一句“帮我想十个点子”,AI马上给出十条四平八稳的方案,他看完觉得“这些我自己也能想出来啊”,然后关掉页面,再也没打开过。这不是AI…

作者头像 李华
网站建设 2026/9/21 1:25:34

Claude Code与MCP实战:从安装到工程化落地的完整指南

从Anthropic把Claude Code放出来之后,软件工程圈子里讨论最凶的两件事,一个是“终端里的AI程序员到底能不能直接拿来干活”,另一个就是“MCP到底是个什么东西”。我原本只把它当成又一个炫技命令行工具,直到某天下午,我…

作者头像 李华
网站建设 2026/9/21 1:24:17

微服务网关统一认证实战:SpringCloud Gateway + OAuth2.0 + JWT 全流程解析

简介:面向微服务安全场景,这套源码项目以 Spring Cloud Gateway 为统一入口,结合 OAuth2.0 授权协议与 JWT 无状态令牌,实现了登录认证、令牌签发、网关过滤和资源服务鉴权的完整链路。适合拥有 Spring Boot/Cloud 基础、正在搭建…

作者头像 李华