一个零依赖、跨平台的开源工具,让不支持图片输入的 AI 编码助手(Trae、Claude Code、Codex、ZCode、WorkBuddy、OpenCode)通过 GLM-4.6V-Flash 视觉模型"看懂"图片。本文从真实使用场景出发,讲清楚它解决什么问题、怎么跨 6 大工具适配、以及如何上手。

一、痛点:你的 AI 助手其实是"瞎子"

如果你在用 Trae、Claude Code、Codex 这类 AI 编码助手,大概率遇到过这些场景:

  • 截图报错:把 IDE 报错截图丢给 AI,它回一句"我看不到图片"

  • UI 还原:给一张设计稿让它写前端代码,它说"无法识别图片内容"

  • 流程图解读:发一张架构图让它讲解,它直接装聋作哑

  • 差异对比:两张截图让它找不同,它表示无能为力

根源很统一:底层模型不支持图片输入。不管是 DeepSeek、Qwen 还是各种纯文本 LLM,遇到图片就歇菜。

解决办法传统有三种,都不好用:

方案 问题
人工转述 效率极低,复杂图表描述不到位
OCR 提取文字 只能提文字,"整体氛围""颜色搭配"全废
换多模态模型 得换整个助手或模型,成本高

see-glm 给了第四条路:不换助手、不换主模型,给它外挂一个"眼睛"

二、方案:一座桥,而不是一个新模型

核心思路是桥接——主模型还是你正在用的那个(DeepSeek、Qwen 都行),遇到图片时,自动调用一个视觉模型把图看明白,再把结果带回当前会话。

 你的 AI 助手(不支持视觉)
  │ 用户发来图片路径,触发 Skill
  ▼
 see.py ──base64 原图──▶ GLM-4.6V-Flash ──▶ 视觉理解结果
  ◀─────────────────────────────────┘
  结果写回 Markdown,主模型直接读取

视觉端选的是智谱的 GLM-4.6V-Flash——思维链能力强、速度快、API Key 免费申请。整个桥接对用户透明:你只要把图片路径发给助手,它自己会"意识到看不见",然后去借一双眼睛。

三、跨工具适配:6 大编码助手一套方案

这是 see-glm 区别于"又一个 CLI 工具"的关键。它不只是命令行脚本,而是同时是 6 种 AI 助手的 Skill 插件

支持的工具

工具 适配包 适用人群
Trae see-glm-trae.zip 字节系 AI IDE 用户
Claude Code see-glm-claude.zip Anthropic 生态用户
Codex see-glm-codex.zip OpenAI Codex 用户
ZCode see-glm-zcode.zip ZCode 用户
WorkBuddy see-glm-workbuddy.zip WorkBuddy 用户
OpenCode see-glm-opencode.zip OpenCode 用户

适配原理:Skill 协议 + 统一内核

6 个工具虽然各自框架不同,但都支持一种类似机制——Skill:在指定目录放一个 SKILL.md 声明触发条件和用法,AI 助手看到匹配请求就自动加载执行。

see-glm 的适配策略是内核统一、外壳分身

  • 内核统一:所有包共享同一份 scripts/(Python 主逻辑),分析能力完全一致

  • 外壳分身:每个包里的 SKILL.md 按对应工具的协议格式编写,触发条件、路径占位符、输出约定都贴合该工具习惯

  • 额外配置:Codex 和 ZCode 包额外带 agents/openai.yaml,适配各自的 Agent 框架

触发协议:三个关键约定

不管哪个工具,适配都靠这三条约定咬合:

1. 触发条件:用户消息出现图片路径(.png/.jpg/.jpeg/.gif/.webp/.bmp),或"查看/识别/分析图片"等意图时,Skill 自动触发。

2. 路径占位符SKILL.md 里用 $SEE_DIR 表示 Skill 根目录,AI 执行时自行解析成绝对路径——装在哪都能跑,不用改配置。

3. 结果回传:脚本 stdout 只输出一行 output_path=/xxx/result.md,AI 助手读取这个 Markdown 文件,把视觉模型的分析带回会话。

对用户的体验是:装一次,以后直接发图片路径,剩下的事 AI 自己干

四、真实使用场景

场景 1:报错截图秒诊断

把 IDE 报错截图发给 AI 助手:

 帮我看看这张图:D:\screenshots\报错.png

AI 会自动调用 see-glm,视觉模型提取报错信息 + 分析可能原因,结果直接回到对话。不用手打报错文字,不用切窗口。

场景 2:UI 设计稿还原

 根据这张设计稿写一个 React 组件:./design/login-page.png

视觉模型先描述设计稿的布局、配色、元素位置,主模型基于描述生成代码。比纯文字描述设计稿靠谱得多。

场景 3:多图差异对比

 比较这两个版本的 UI 截图差异:./v1.png ./v2.png

--together 模式让两张图进同一次请求,视觉模型在同一上下文里对比,能找出肉眼容易漏的差异点。

场景 4:远程图片直接分析

不用先下载,直接丢 URL:

 分析这张网络图片:https://example.com/architecture.png

see-glm 会下载、校验、分析一条龙。注意它做了 SSRF 防护——只允许 HTTPS、拒绝解析到内网/回环地址的 URL,不会被人当跳板探内网。

场景 5:流程图/架构图讲解

 讲解这张架构图:./arch/microservices.png

视觉模型能识别框图、箭头、层级关系,把架构图的逻辑讲清楚。比 OCR 强在它能理解"整体结构",不只是提文字。

五、快速上手

第 1 步:下载适配包

Releases 页面(当前最新 v1.3.1),下载你用的工具对应的 ZIP,解压到该工具的 skill 目录即可。

各工具的 skill 目录(用户级):

工具 目录
Trae ~/.trae-cn/skills/
Claude Code ~/.claude/skills/
ZCode ~/.zcode/skills/
其他 参考各工具文档

也可以从源码运行:git clone https://github.com/w-zjj/see-glm.git,要求 Python 3.6+。

第 2 步:配置 API Key

智谱 API Key 在 open.bigmodel.cn 免费申请,格式为 id.secret

 python scripts/onboard.py          # 交互式引导配置
 python scripts/onboard.py --status # 查看配置状态

Key 存在用户私有目录(Windows 为 %APPDATA%\see-glm\config.env,macOS/Linux 为 ~/.config/see-glm/config.env),绝不进仓库,Unix 下自动设 600 权限。

第 3 步:直接用

在你的 AI 助手对话里发图片路径就行,不用记任何命令。也可以命令行手动调:

 # 单图分析
 python scripts/see.py screenshot.png
 ​
 # 带自定义问题
 python scripts/see.py error.png --task "提取报错信息并分析原因"
 ​
 # 多图并行(默认 3 并发)
 python scripts/see.py a.png b.png c.png --jobs 3
 ​
 # 多图联合对比
 python scripts/see.py --together before.png after.png --task "比较差异"
 ​
 # 分析远程图片
 python scripts/see.py https://example.com/photo.jpg
 ​
 # 指定输出文件
 python scripts/see.py image.png --output result.md

成功后 stdout 只有一行:output_path=/absolute/path/result.md

六、命令参数速查

参数 说明
图片路径/URL 必填,支持本地路径和 HTTPS URL
--task, -t 自定义问题,原样发给视觉模型
--together 多图联合分析,所有图进同一次请求
--jobs, -j 并行并发数,范围 1-64,默认 3
--allow-partial 并行模式部分失败仍返回退出码 0
--model, -m 临时覆盖模型名
--output, -o 指定 Markdown 输出路径
--onboard 启动交互式配置

七、安全与可靠性:不止是能跑

这部分是 see-glm 区别于"快速糊出来的脚本"的地方。

安全加固

  • SSRF 防护:远程图片只允许 HTTPS,每次请求都校验 DNS 解析结果,拒绝回环/私有/链路本地/保留地址,重定向逐跳校验

  • 文件头校验:本地图片按 magic bytes 识别真实格式,拒绝伪造扩展名(把 .exe 改成 .png 骗不过去)

  • 大小限制:单张本地图片 10MB、API 请求体 20MB、远程下载 50MB,防止超大文件拖垮会话

  • Key 隔离:API Key 只存用户私有目录,.gitignore 默认排除配置文件

可靠性

  • API 重试:408/429/500/502/503/504 自动重试,优先遵守服务端 Retry-After,否则指数退避,单次等待封顶 30 秒

  • 并行保序:多图并行结果按输入顺序写入,不会乱序

  • 部分失败友好:并行模式某张图失败不会让整批作废,失败项明确标记,默认退出码 2 提示部分失败,--allow-partial 可放行

八、配置项

配置优先级从高到低:环境变量 > 项目级 .env.local > 用户配置文件

配置项 默认值 说明
GLM_API_KEY 智谱 API Key
GLM_BASE_URL https://open.bigmodel.cn/api/paas/v4 API 地址
GLM_MODEL glm-4.6v-flash 视觉模型名
GLM_MAX_TOKENS 8192 回复最大 token 数
GLM_MAX_RETRIES 3 临时错误重试次数,范围 0-10
GLM_THINKING disabled 思考模式,enabled/disabled

想对接其他 OpenAI 兼容端点也行:

 export GLM_BASE_URL="https://your-endpoint/v4"
 export GLM_MODEL="your-vision-model"
 export GLM_API_KEY="your-token"

不包含点号的 Key 会直接当 Bearer Token 用;智谱标准的点号分隔 Key 会按 JWT 规则生成请求 Token。

九、和旧版的区别(给老用户)

如果你看过我之前那篇 ZCode 专版文章,这里列一下从那时到现在的主要变化:

维度 旧版(v1.0 时期) 现在(v1.3.1)
视觉模型 GLM-4.1V-Thinking-Flash GLM-4.6V-Flash
工具适配 仅 ZCode Trae / Claude / Codex / ZCode / WorkBuddy / OpenCode 共 6 个
安装方式 手动 cp 到 skill 目录 Release 页下载对应 ZIP,解压即用
远程图片 基本下载,无防护 SSRF 防护 + 文件头校验 + 大小限制
错误处理 基本捕获 重试 + 指数退避 + Retry-After + 部分失败策略
测试 18+ 单元测试,全 mock 无需真实 Key
发布 无 Release 6 个版本,每版按工具分包 + sha256 校验

十、小结

see-glm 解决的是一个具体而普遍的问题:AI 编码助手看不见图片。它不试图替代任何模型,而是做一座桥——让任何主流编码助手都能临时借一双眼睛。

如果你正在用 Trae、Claude Code、Codex 或其他几个支持的工具,并且经常被"模型看不见图片"卡住,可以试一下:

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐