vision
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVision (delegated image understanding)
Vision(委托式图片理解)
You do not have native vision, but you can still "see" an image by running the
bundled script, which sends the image to a configurable OpenAI-compatible vision
model and returns a text answer.
您不具备原生视觉能力,但可以通过运行附带的脚本“看见”图片,该脚本会将图片发送至可配置的兼容OpenAI的视觉模型,并返回文本结果。
When to use
使用场景
Use this skill whenever a task requires understanding image content and you
cannot view it directly, for example:
- The user uploads or points to an image / screenshot / photo and asks what's in it.
- You need to read text inside an image (OCR).
- You need to diagnose an error from a screenshot.
- You need to understand a UI mockup, diagram, chart, or scanned document.
- You need to compare what an image shows against code or expected output.
当任务需要理解图片内容而您无法直接查看时,即可使用此技能,例如:
- 用户上传或指向某张图片/截图/照片并询问其中内容。
- 您需要提取图片中的文字(OCR)。
- 您需要通过截图诊断错误。
- 您需要理解UI原型、示意图、图表或扫描文档。
- 您需要对比图片显示内容与代码或预期输出。
How to use
使用方法
Run the script with the Bash tool. Pass the image (local path or http(s) URL)
and a clear, specific instruction describing what you need to know:
bash
python3 "$CLAUDE_SKILL_DIR/scripts/see.py" <image_path_or_url> "your question"If is not set in your environment, use the relative path to
this skill folder, e.g. from the skill directory,
or the absolute path where the skill is installed.
$CLAUDE_SKILL_DIRpython3 scripts/see.py ...Examples:
bash
undefined使用Bash工具运行脚本。传入图片(本地路径或http(s) URL)以及清晰、明确的指令说明您需要了解的信息:
bash
python3 "$CLAUDE_SKILL_DIR/scripts/see.py" <image_path_or_url> "your question"如果您的环境中未设置,请使用此技能文件夹的相对路径,例如在技能目录下使用,或使用技能安装的绝对路径。
$CLAUDE_SKILL_DIRpython3 scripts/see.py ...示例:
bash
undefinedDescribe an image
描述图片内容
python3 scripts/see.py ./photo.jpg "Describe this image in detail"
python3 scripts/see.py ./photo.jpg "Describe this image in detail"
OCR — extract text
OCR——提取文字
python3 scripts/see.py ./receipt.png "Transcribe all text exactly, preserving layout"
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?"
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"
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"
The script prints the model's answer to stdout. Read that answer and use it to
continue the task. Ask a focused question rather than a generic "describe" when
you need something specific (a value, a status, an error message) — you get
better results and spend fewer tokens.python3 scripts/see.py "https://example.com/diagram.png" "Explain this architecture diagram"
脚本会将模型的结果打印到标准输出。读取该结果并继续完成任务。当您需要特定信息(某个数值、状态、错误信息)时,请提出针对性问题,而非泛泛的“描述”——这样能获得更好的结果,且消耗更少的token。Configuration (required, set once)
配置(必填,仅需设置一次)
The script reads its config from environment variables or a
block (same variable names as the
vision-mcp-server MCP, so config carries over). Resolution order: an explicit
environment variable wins; otherwise the script reads ,
searching from the current directory upward and then .
.claude/settings.jsonenv.claude/settings.json~/.claude/| Variable | Required | Example |
|---|---|---|
| yes | |
| yes | |
| no* | your API key (*optional for local servers) |
| no | |
| no | |
| no | |
| no | |
must be the full chat-completions endpoint (VISION_BASE_URL), not just the base URL..../v1/chat/completions
Set them in your shell profile, or in the MCP/agent block, or inline:
envbash
export VISION_BASE_URL=http://localhost:1234/v1/chat/completions
export VISION_MODEL=Qwen3-VL-32B
export VISION_API_KEY=sk-... # optional for localOr put them in (project-level, or global ):
.claude/settings.json~/.claude/jsonc
{
"env": {
"VISION_BASE_URL": "http://localhost:1234/v1/chat/completions",
"VISION_MODEL": "Qwen3-VL-32B",
"VISION_API_KEY": "sk-..."
}
}脚本从环境变量或的块中读取配置(变量名称与vision-mcp-server MCP相同,因此配置可通用)。优先级:显式设置的环境变量优先;否则脚本会从当前目录向上搜索,若未找到则查找目录下的文件。
.claude/settings.jsonenv.claude/settings.json~/.claude/| 变量名 | 是否必填 | 示例 |
|---|---|---|
| 是 | |
| 是 | |
| 否* | 您的API密钥(*本地服务器可选) |
| 否 | |
| 否 | |
| 否 | |
| 否 | |
必须是完整的聊天补全端点(VISION_BASE_URL),而非仅基础URL。.../v1/chat/completions
您可以在shell配置文件中设置这些变量,或在MCP/agent的块中设置,也可直接在命令行中设置:
envbash
export VISION_BASE_URL=http://localhost:1234/v1/chat/completions
export VISION_MODEL=Qwen3-VL-32B
export VISION_API_KEY=sk-... # 本地服务器可选或者将其放入中(项目级或全局目录下):
.claude/settings.json~/.claude/jsonc
{
"env": {
"VISION_BASE_URL": "http://localhost:1234/v1/chat/completions",
"VISION_MODEL": "Qwen3-VL-32B",
"VISION_API_KEY": "sk-..."
}
}Notes
注意事项
- Pure Python standard library — no needed.
pip install - Local files are auto-converted to a base64 data URL; http(s) URLs are passed through.
- If the script reports a missing variable or an unreachable endpoint, fix the
config above and retry. Add to inspect the request without sending it:
--dry-run.python3 scripts/see.py --dry-run img.png "test"
- 基于纯Python标准库——无需执行安装依赖。
pip install - 本地文件会自动转换为base64数据URL;http(s)URL会直接传递。
- 如果脚本提示缺少变量或端点不可达,请修复上述配置并重试。添加参数可在不发送请求的情况下检查请求内容:
--dry-run。python3 scripts/see.py --dry-run img.png "test"