关于 vision
vision 是为无法直接查看图像的 Agent 提供的图像理解技能,通过脚本调用可配置的 OpenAI 兼容视觉模型并返回文本结果。可用于 OCR、截图诊断及图表理解。
主要功能
- 01调用可配置视觉模型
- 02支持本地文件与 HTTP URL
- 03从图像提取文字
- 04分析截图、图表与文档
- 05无需安装 Python 依赖
适用场景
- 01读取收据或扫描件文字
- 02诊断错误截图
- 03理解界面原型或图表
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kotot/ vision --skill vision安装后在 Claude Code 中输入/vision确认已加载。
附带文件scripts/see.py
详细介绍
视觉理解(委托式图像理解)
你没有原生视觉能力,但仍然可以通过运行附带的脚本来“查看”图像。该脚本会将图像发送给可配置的兼容 OpenAI 的视觉模型,并返回文本答案。
适用场景
每当任务需要理解图像内容,而你无法直接查看图像时,都可以使用此技能,例如:
- 用户上传或提供了图像 / 截图 / 照片,并询问其中有什么。
- 你需要读取图像中的文字(OCR)。
- 你需要根据截图诊断错误。
- 你需要理解 UI 原型图、示意图、图表或扫描文档。
- 你需要将图像显示的内容与代码或预期输出进行比较。
使用方法
使用 Bash 工具运行脚本。传入图像(本地路径或 http(s) URL),并提供清晰、具体的指令,说明你需要了解什么:
python3 "$CLAUDE_SKILL_DIR/scripts/see.py" <image_path_or_url> "your question"
如果环境中未设置 $CLAUDE_SKILL_DIR,请使用此技能文件夹的相对路径,例如在技能目录中运行 python3 scripts/see.py ...,或使用技能的安装绝对路径。
示例:
# Describe an image
python3 scripts/see.py ./photo.jpg "Describe this image in detail"
# OCR — extract text
python3 scripts/see.py ./receipt.png "Transcribe all text exactly, preserving layout"
# Diagnose an error screenshot
python3 scripts/see.py ./error.png "What error is shown and what is the likely cause?"
# Read a chart into structured data
python3 scripts/see.py ./chart.png "Extract every series, label, and value as a markdown table"
# Remote image
python3 scripts/see.py "https://example.com/diagram.png" "Explain this architecture diagram"
脚本会将模型的答案输出到 stdout。阅读该答案并据此继续任务。需要特定信息(某个数值、状态或错误消息)时,请提出聚焦的问题,而不是泛泛地要求“描述”——这样能获得更好的结果,也能节省令牌。
配置(必需,只需设置一次)
脚本从环境变量或 .claude/settings.json 的 env 块中读取配置(变量名称与 vision-mcp-server MCP 相同,因此配置可以沿用)。解析顺序:优先使用显式环境变量;否则,脚本会从当前目录开始向上搜索,然后检查 ~/.claude/ 中的 .claude/settings.json。
| 变量 | 必需 | 示例 |
|---|---|---|
VISION_BASE_URL | 是 | http://localhost:1234/v1/chat/completions |
VISION_MODEL | 是 | Qwen3-VL-32B、gpt-4o、glm-4v,... |
VISION_API_KEY | 否* | 你的 API 密钥(*本地服务可选) |
VISION_MAX_TOKENS | 否 | 4096 |
VISION_TEMPERATURE | 否 | 0.2 |
VISION_DETAIL | 否 | auto | low | high |
VISION_TIMEOUT | 否 | 120 |
VISION_BASE_URL必须是完整的聊天补全端点(.../v1/chat/completions),不能只是基础 URL。
将这些变量设置在 shell 配置文件、MCP/Agent 的 env 块中,或直接内联设置:
export VISION_BASE_URL=http://localhost:1234/v1/chat/completions
export VISION_MODEL=Qwen3-VL-32B
export VISION_API_KEY=sk-... # optional for local
也可以将它们放入 .claude/settings.json(项目级,或全局 ~/.claude/):
{
"env": {
"VISION_BASE_URL": "http://localhost:1234/v1/chat/completions",
"VISION_MODEL": "Qwen3-VL-32B",
"VISION_API_KEY": "sk-..."
}
}
注意事项
- 仅使用 Python 标准库——无需
pip install。 - 本地文件会自动转换为 base64 数据 URL;http(s) URL 则会直接传递。
- 如果脚本报告缺少变量或无法访问端点,请修复上述配置后重试。添加
--dry-run可在发送请求前检查请求内容:python3 scripts/see.py --dry-run img.png "test"。