开发工具

给 Agent 补上视觉输入:vision-bridge 的路由与调用

用一组 Python 脚本连接视觉模型,让没有图像输入通道的 Agent 处理图片、OCR 与视频分析任务。

图片路径不等于视觉输入

在 Agent 工作流里,把一张图片的路径发给模型,并不代表模型已经看到了图片。能否理解画面,取决于具体模型、客户端和接入通道:有的支持原生视觉,有的只传递文本,有的还需要工具去读取文件。

vision-bridge 面向的是缺少视觉输入的那一段链路。它读取图片或视频,调用已配置的视觉服务,再把分析结果返回给宿主 Agent,继续后续任务。

用 Skill 与脚本连接能力

项目由 Skill 指令和 Python 脚本组成。look.py 提供便捷入口,vision.py 处理视觉请求,图像处理工具负责可选的缩放、裁剪与压缩。

这种方式适合已经能执行 Python 命令、但没有接通图像输入的 Agent 环境。调用参数和输出可以直接检查,接入时不需要额外常驻一个服务。

MCP 则适合由兼容客户端发现和调用标准化工具。它是否可用,主要取决于宿主客户端及其工具集成,而不能只按模型名称判断。两种方式各有接入条件。

路由依据是当前环境

如果宿主已经能读取图像,就可以优先使用现有能力;如果没有视觉输入,再调用桥接脚本。用户显式请求 /look 时,则按指定方式执行。

配置字段 host_vision_capable 支持三种状态:true 表示宿主具备视觉能力,false 直接使用桥接,auto 按 Skill 指令判断。

模型自检是一种路由提示,不能视作经过测量的准确率保证。固定环境适合明确配置;更换模型或客户端后,需要重新确认。外部视觉调用也应考虑图片内容、服务可用性与实际费用。

图片、OCR 与视频入口

项目 README 完成环境与模型配置后,可以在仓库目录使用这些入口:

python scripts/vision.py health
python scripts/look.py sample.png --dry-run
python scripts/look.py invoice.jpg --ocr
python scripts/look.py chart.png -p "这张图表达了什么?"
python scripts/look.py demo.mp4 --video -p "概括视频内容"

health 检查环境,--dry-run 查看请求而不发送。实际图像或视频分析需要配置可用服务;视频请求还取决于上游模型是否支持对应输入。

目标检测会返回模型推断的位置,OCR 与视频概括也可能出错。涉及关键信息时,应回看原始素材。图片转搜索功能生成查询信息,后续检索仍需要宿主的搜索工具完成。

配置与处理边界

项目通过模型名、接口地址和密钥环境变量名称配置服务。仓库默认配置使用 GLM-4.6V-Flash,但价格、额度与接口能力会变化,应以当前服务说明为准。

核心网络调用使用 Python 标准库,可选图像处理依赖 Pillow。仓库还包含图片预处理、限流重试和请求预览等能力,用于处理接入过程中的常见问题。

配置自检通过,只能说明本地设置符合预期,不代表所有模型、所有文件和所有通道均已验证。使用时应选取自己的实际素材检查结果,并妥善保管服务凭据。

项目入口

vision-bridge 的作用是把视觉服务接入现有工作流:让宿主在需要时获得图像信息,同时保留是否调用、使用哪个模型、如何处理结果的选择。

完整代码、集成说明与参数见 vision-bridge 仓库