Install
openclaw skills install @internettrollwatt/zai-image-understanding使用 Z.ai GLM-4.1V-thinking-flash 模型进行图片理解和分析。当用户需要分析图片内容、提取图片信息、描述图片细节、回答关于图片的问题,或进行任何形式的视觉理解任务时,必须使用此 skill。支持图片 URL 直接调用,返回结构化分析结果供主模型进一步处理。
openclaw skills install @internettrollwatt/zai-image-understanding使用 Z.ai 的 GLM-4.1V-thinking-flash 模型进行图片理解和视觉分析任务。
必须使用此 skill 的场景:
不触发场景:
POST https://open.bigmodel.cn/api/paas/v4/chat/completions
{
"model": "glm-4.1v-thinking-flash",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": { "url": "<图片URL>" }
},
{
"type": "text",
"text": "<分析提示词>"
}
]
}
],
"stream": false,
"do_sample": true,
"temperature": 0.8,
"top_p": 0.6,
"max_tokens": 4096,
"tool_choice": "auto"
}
Authorization: Bearer <API_KEY>
Content-Type: application/json
ZAI_API_KEY 是否配置scripts/analyze_image.py 脚本发送请求choices[0].message.content 作为模型分析结果请详细分析这张图片的内容,包括但不限于:
1. 画面主要包含什么物体、场景、人物
2. 文字内容(如有,请完整提取)
3. 图表/数据信息(如有,请结构化描述)
4. 画面细节和值得注意的元素
5. 整体氛围/主题/用途判断
scripts/analyze_image.pypython scripts/analyze_image.py --image-url <URL> --prompt <提示词> [--api-key <KEY>]
python scripts/analyze_image.py --image-path <本地文件路径> --prompt <提示词> [--api-key <KEY>]
参数:
--image-url / -u (二选一): 图片的公网访问 URL--image-path / -i (二选一): 本地图片文件路径(自动转为 Base64)--prompt / -p (必需): 发送给模型的分析提示词--api-key / -k (可选): API Key,默认读取环境变量 ZAI_API_KEY--timeout / -t (可选): 请求超时秒数,默认 120 秒--output / -o (可选): 输出文件路径,默认 stdout 输出 JSON--pretty (可选): 美化 JSON 输出--verbose / -v (可选): 显示详细进度和时间统计--fast (可选): 快速模式,降低 max_tokens 和 thinking 预算,适合简单任务返回格式:
{
"success": true,
"content": "模型返回的分析文本",
"reasoning_content": "模型的思考过程内容",
"raw_response": {...},
"usage": {...},
"timing": {
"request_time": 25.3,
"parse_time": 0.001,
"total_time": 25.3,
"total_elapsed": 25.5
},
"error": null
}
export ZAI_API_KEY="your-api-key-here"
export ZAI_API_BASE="https://open.bigmodel.cn/api/paas/v4"
export ZAI_DEFAULT_TIMEOUT="120"
| 错误类型 | 处理方式 |
|---|---|
| 网络超时 | 重试 2 次,指数退避 (1s, 2s),仍失败则返回错误 |
| API 认证失败 (401) | 提示检查 API Key 配置 |
| 图片下载失败/格式不支持 | 提示用户检查图片 URL 和格式 |
| 请求参数错误 (400) | 记录详细错误信息,返回给用户 |
| 速率限制 (429) | 等待 Retry-After 时间后重试 1 次 |
| 服务器错误 (5xx) | 重试 2 次,指数退避 (1s, 2s) |
| 模型返回空内容 | 返回特定错误标记,提示用户重试或调整提示词 |
| 连接失败 | 重试 2 次,指数退避,检查网络连通性 |
requests 库open.bigmodel.cn用户:"这张图片是什么?" + 图片 URL → 构建通用分析提示词 → 调用 API → 主模型整理生成自然语言描述
用户:"帮我提取这张发票的金额、日期、购买方信息" + 发票图片 URL → 构建结构化提取提示词 → 调用 API → 主模型格式化为 JSON/表格
用户:"分析这个柱状图的趋势" + 图表图片 URL → 构建图表分析提示词 → 调用 API → 主模型生成趋势分析报告
zai-image-understanding/
├── SKILL.md
├── scripts/
│ ├── __init__.py
│ ├── analyze_image.py
│ └── utils.py
├── references/
│ ├── api-spec.md
│ ├── prompt-guide.md
│ └── error-codes.md
├── evals/
│ ├── evals.json
│ └── test-images/
└── assets/
└── .env.example