banner
约 1,200 字
4 分钟

一句话让你的OpenCode学会全局识图

摘要

通过一个全局 Skill,让 OpenCode 具备全局识图能力,遇到图片自动调用视觉模型描述,无需切换模型,简单粗暴一劳永逸。

前言

用 OpenCode 这类 AI agent 干活的朋友,多半遇到过这个尴尬:你让 AI 帮你看图、根据截图改东西,它却"看不见"。我之前已经让 OpenCode 学会了生成图片(参考那篇"一句话让 OpenCode 学会免费生成图片和视频"),但图片生成出来之后,它自己却没法"回看"这些图——每次想让它在图的基础上继续调整,就很别扭。

虽然通过切换模型(换成带视觉能力的模型)也能达到识图的目的,但那样很麻烦,操作也不顺畅:你要记住什么时候该切、切完还要切回来,体验很差。

这篇文章介绍一个一劳永逸的办法:给 OpenCode 装一个全局的"识图 Skill",让它在任何项目、任何时候,只要遇到图片就先"看图说话"。装好之后,OpenCode 就像真正"长了眼睛",看图、读截图、描述画面都不在话下,而且所有项目通用,不用每个项目配一遍。

原理:为什么要用 Skill 来解决

先说清思路。OpenCode 默认的文本模型本身没有视觉能力,所以看不到图片。但 OpenCode 有两大机制可以利用:

  1. Skill(技能):可以给 OpenCode 定义一套"遇到某种情况该怎么做"的规则和工具调用流程。

  2. 全局配置(AGENTS.md):放在用户级全局目录,对所有项目生效。

这个方法的巧妙之处在于:用一段话同时配置好 Skill + 全局规则,强制 OpenCode 一旦遇到附件、截图、本地图片或网络图片 URL,就先调用识图 Skill(底层用带视觉的 MiMo 模型),而不是傻乎乎地走 OCR 或别的本地图像处理。

创建 Skill

好在开源社区已经有人做过类似的东西,我们不用从零写,直接让 OpenCode 去改造一个现成的项目即可。

打开 OpenCode,新建一个对话,然后把下面这段话整段发给它:

纯文本
请在 https://github.com/asuojun/claude-vision-skill  中搜索并完整阅读 asuojun/claude-vision-skill,把它改造成 opencode 的全局识图 Skill,安装到用户级全局 Skill 目录,名称使用 deepseek-vision,让所有项目都能调用。
不要只完成安装,还要加两层规则级强制:
一是更新 deepseek-vision 的 SKILL.md,明确任何任务出现附件、粘贴截图、本地图片路径或网络图片 URL 时,都必须先调用这个 Skill。
二是更新 opencode 用户级全局 AGENTS.md,明确遇到图片必须先调用 deepseek-vision,禁止用 OCR、Read、文件信息检查或其他本地图像处理代替。只有识图失败后,才允许 OCR 做补充诊断。不要只写进当前项目。
视觉模型固定使用opencode自带的 MiMo V2.5 Free 。
最后提醒我换到另一个项目,新建一个全新的 OpenCode 任务再贴图验证。不要使用当前旧任务作为最终验证,所有新项目任务遇到图片时,必须先调用 deepseek-vision,而不是 OCR。

这段话干了这么几件事,我帮你拆解一下(方便你知道它在做什么):

  1. 找到参考项目:让 OpenCode 去 GitHub 读 asuojun/claude-vision-skill(一个现成的识图 skill 实现),作为改造基础。

  2. 改造成全局 Skill:把它改成 OpenCode 格式的"全局识图 Skill",装到用户级全局目录,命名为 deepseek-vision,让所有项目都能调用

  3. 加两层强制规则:不光是装上,还要求 OpenCode 改两处配置——一是这个 Skill 自己的说明(遇到图就调用它);二是全局 AGENTS.md(遇到图先走识图 Skill,禁止用 OCR/Read 等本地手段代替,只有识图失败才允许 OCR 兜底)。这一步是"一劳永逸"的关键,相当于立了规矩。

  4. 指定视觉模型:固定用 OpenCode 自带的 MiMo V2.5 Free 视觉模型(免费,够用)。

  5. 要求用全新项目验证:指令里特别提醒要换到另一个项目、开全新任务再贴图验证——因为它要验证的是"全局规则对所有项目生效",不是只在当前这个项目里管用。

测试

Skill 配置好之后,就要验证它是不是真的"看见"了。

我用之前那张小猫的图片测试,让 AI 生成图片描述。这次 OpenCode 直接走了识图 Skill,而不是干瞪眼。

让 AI 识别小猫图片

可以看到它把画面描述得很详细——颜色、动作、场景都能讲出来,说明识图链路真的通了。

AI 生成详细的图片描述

如果你也在用,可以拿一张你手头的图(截图、照片都行)让它描述,看能不能说出画面细节。

AI 详细描述图片画面

验证要点:为什么必须开新项目测

这里强调一下指令里最后那步的意义。如果你只在当前项目里测试,测试的是"这个项目碰巧能用",而不是"全局规则真的生效了"。所以要新建一个 OpenCode 项目、开全新的对话,再贴一张图过去——如果它在新项目里也能正确识图,才证明 deepseek-vision 已经装到了全局、对所有项目都生效了。

判断标准很简单:新项目里遇到图时,OpenCode 应该自动调用识图 Skill,而不是回退到 OCR 或告诉你看不了。

常见问题

1. 装了但 OpenCode 遇到图还是说"看不到"

  • 大概率是全局 AGENTS.md 的规则没写对,或 Skill 装到了项目级而不是用户级全局目录。重新发指令,强调"用户级全局"。

  • 检查是否真的用了新的/另一个项目测试(旧项目可能带着旧配置)。

2. 识图时调用的是 OCR 而不是视觉模型

  • 说明"先识图、OCR 只做兜底"这条规则没生效。重新要求它改全局 AGENTS.md,明确禁止 OCR 优先。

3. 视觉模型不可用 / 报错

  • 确认用的是 OpenCode 自带的 MiMo V2.5 视觉模型,检查模型是否在可用列表里。

4. 这个方法对其他 AI agent 有效吗?

  • 有效。凡是支持 Skill + 全局规则机制的 AI agent,思路都一样——配一个全局视觉 skill,让所有项目遇到图都能看图。这也是它"简单粗暴一劳永逸"的原因。

我的结论

这套方案我实际用下来,最直观的感受就是省心:以前 OpenCode 看图要么切模型、要么干瞪眼,现在装一次,之后在任何项目里贴图它都能自己看懂,不用我再操心。

而且它不只是对图片生成有用——日常你让 AI 看截图排错、看 UI 图改样式、看报表图做分析,都能受益,因为 AI 终于"看见"了。整个过程就是发一段指令,剩下的交给 OpenCode 自己配置,非常适合小白。

如果你也在用 OpenCode(或其他 AI agent)却经常为"它看不见图"发愁,强烈建议按这个方法配一次,几分钟换一个真正"长了眼睛"的 AI 助手。

END