尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

给 opencode 装个眼睛:一个能读截图、看剪贴板的 vision 插件

给 opencode 装个眼睛:一个能读截图、看剪贴板的 vision 插件
📅 发布时间:2026/8/2 14:32:34

最近把 opencode 当主力 CLI 助手用,遇到一个烦人的问题:我用的主模型不带多模态。贴一张截图进去,它回一句 “Cannot read”,没了。想让它看个报错、分析个设计稿,还得先把图存下来,再手动切到网页版模型去问。

来回折腾几次,我写了个小插件,给 opencode 加一个vision工具。现在贴图给它,它会自动把图发给 OpenRouter 的视觉模型(默认 qwen3-vl-8b),把识别结果带回来继续干活。

能干什么

  • 剪贴板识图。截图后不用存文件,直接说"看看剪贴板",插件调 Python Pillow 或 pngpaste 把剪贴板内容抓出来分析。
  • 多图对比。传逗号分隔的多个路径,一次调用对比几张图。
  • 自动压缩。超过 1568px 的图先用 macOS 自带的 sips 缩放再上传,省 token,识别速度也快。
  • 模型可换。默认 qwen3-vl-8b,要更强识别就传model: "google/gemini-2.5-flash"。
  • 失败重试。请求超时 90s 或 5xx 时自动重试一次。

实现思路

实现本身不复杂,三块:

  1. 图片转 base64 data URL,以image_url形式发给 OpenRouter 的/chat/completions接口;
  2. 大图先压缩再上传,避免传原图浪费流量和 token;
  3. 剪贴板优先走 Python Pillow 的 ImageGrab,没装 Pillow 就退回 pngpaste。

API key 从 opencode.json 的 provider 配置或OPENROUTER_API_KEY环境变量读,代码里没有写死的 key,开源出去也不用担心泄密。

安装

把vision.ts放进插件目录,装好依赖重启即可:

mkdir-p~/.config/opencode/pluginscpvision.ts ~/.config/opencode/plugins/

配置 key 两种方式任选:

{"provider":{"openrouter":{"options":{"apiKey":"sk-or-v1-你的key"}}}}

或者export OPENROUTER_API_KEY="你的key"。

用法

主模型遇到图片会自动调vision,也可以手动指定:

vision({ imagePath: "/path/to/screenshot.png", question: "截图里有什么错误" }) vision({ imagePath: "/a.png,/b.png", question: "对比这两张图" }) vision({ imagePath: "clipboard" }) vision({ imagePath: "clipboard", model: "google/gemini-2.5-flash" })

实际感受

用了一个多月,最常用的场景是贴图表截图让它算数。之前给它看一张缓存命中率统计图,它把命中、未命中、输出几项都读出来,算了命中率,还发现"总计"和分项对不上,差值恰好等于输出数,怀疑统计口径把输出也加进去了。这种活以前要么我肉眼对,要么得自己写脚本解析。

识别速度从几秒到十几秒不等,取决于图片大小和模型负载。写这个插件主要是自己用,顺手开源出来,给同样被"模型不支持图片"卡住的人一个参考。仓库里有完整代码、安装说明和示例。

GitHub: https://github.com/xiucaicoder/opencode-vision

License: MIT

相关新闻

  • 2026阳江一站式海洋馆门店哪家好怎么选?避坑指南与靠谱门店推荐 - mobible
  • 2026高青县护工保姆机构推荐,住家保姆机构哪家好?合悦家政用口碑说话 - mobible
  • 构建飞特STS舵机文档中心:从SDK设计到实战调试全解析

最新新闻

  • 基因、等位基因、基因座辨析:从DNA片段到基因组的功能与定位
  • 嵌入式条码扫描模块(E)选型、硬件连接与驱动开发全解析
  • InfiniteTalk终极指南:用开源AI工具创建无限时长对话视频的完整教程
  • 【独家首发】2024Q2电商/金融/快消行业AI营销效能白皮书(含12个真实A/B测试数据集)
  • 2026 年 8 月吉安非急救医疗转运产业全景调研与本土合规企业运营实录 - 官方推广
  • 寄大件走物流还是快递便宜?2026年寄行李避坑指南,这样寄能省一半钱 - 快递物流资讯

日新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号