前言¶
做图像相关需求时,常见做法是单独接一套多模态 API,或在对话里手写上传与 prompt 拼装。图片路径、用户身份、历史记录往往各写一套,Agent 也很难稳定复现同一套流程。下面介绍 SkillHub 上的 Large Model Visual Question Answering Skill | 大模型视觉问答技能(坐标 @user_bb47e3e3/visual-qa-analysis,当前版本 1.0.4):把「看图 + 任意自然语言提问 + 云端问答与历史查询」收敛成标准 SKILL.md 与配套脚本,由 Agent 按文档触发与执行。
这是什么¶
一句话定位:基于计算机视觉与大语言模型的开放式图片问答(VQA) Skill,支持对任意图片提问并得到自然语言回答。
- 出品与来源:社区发布者
user_bb47e3e3,来源为 community,分类 knowledge-management。 - 解决的问题:统一图片输入(本地文件或公网 URL)、用户标识(
open-id)、调用后端 API 问答,以及从云端拉取历史问答清单;避免 Agent 自行拼接口或误读本地记忆充当历史数据。
官方页面:SkillHub - visual-qa-analysis。SkillHub 展示评分 100000,下载 656 次;技能标签含 requires_api_key=true,表示运行链路与密钥/身份配置相关,需按文档准备。
核心功能¶
以下能力均来自该 Skill 的 SKILL.md(v1.0.4)说明:
- 开放式视觉问答:识别物体、场景、文字、图表等视觉元素,结合 LLM 对用户问题做推理,生成自然语言回答;支持多轮对话场景的描述(如图像分析、文档解读、教育辅助等)。
- 双通道图片输入:本地路径(
--input)或网络图片 URL(--url,由 API 服务下载,Agent 侧无需先下载到本地)。 - 历史问答清单:通过
--list与--open-id从云端接口查询历史记录,并以 Markdown 表格输出(含reportImageUrl跳转链接);Skill 明确要求不得用本地 memory 或 LanceDB 替代云端数据。 - 可配置输出:
--detail支持basic/standard/json;可选--output写入结果文件。 - 格式与体积限制:图片支持 jpg、png、jpeg、webp,单张最大 20MB。
脚本依赖:requests>=2.28.0(见 Skill 前置准备)。
安装与启用¶
安装 SkillHub CLI(若尚未安装)¶
先确认本机是否已有 CLI:
command -v skillhub && skillhub --version
未安装时,可按 SkillHub 安装说明 执行完整安装或仅 CLI:
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only
安装本 Skill¶
安装时必须用 --dir 指向当前 Agent 实际使用的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。
skillhub install visual-qa-analysis --namespace user_bb47e3e3 --dir <你的 skills 目录>
也可将下面提示交给 AI,让其按官方安装文档操作:
请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_bb47e3e3/visual-qa-analysis`。
常见 Agent 的 skills 路径(摘自 SkillHub 安装文档):
| 环境 | skills 目录 |
|---|---|
| Cursor | ~/.cursor/skills/ |
| Claude Code | ~/.claude/skills/ |
| Codex | ~/.codex/skills/ 或项目下 .agents/skills/ |
安装完成后,按你所用客户端要求刷新或重启 Agent,使新 Skill 被加载。
身份与配置(open-id)¶
执行问答前,Skill 规定按优先级获取 open-id(用作用户标识,并可能与 scripts/config.yaml 中的 api-key 字段关联):
- 技能目录下
scripts/config.yaml的api-key; - 若存在共享配置:
skills/smyx_common/scripts/config.yaml的api-key; - 用户在本轮对话中明确提供的 open-id;
- 以上皆无则暂停并提示用户提供用户名或手机号作为 open-id。
禁止自行编造 open-id。可选参数 --api-key 用于 API 访问密钥;未正确鉴权时按 Skill 说明处理。
典型用法¶
在技能根目录下调用模块(与官方示例一致):
# 本地图片
python -m scripts.visual_qa_analysis \
--input /path/to/image.jpg \
--question "这张图片里有什么内容?请描述一下" \
--open-id <你的-open-id>
# 网络图片(URL 由 API 侧下载)
python -m scripts.visual_qa_analysis \
--url https://example.com/image.jpg \
--question "图片中有几个人,他们在做什么?" \
--open-id <你的-open-id>
# 云端历史问答列表
python -m scripts.visual_qa_analysis --list --open-id <你的-open-id>
# 精简输出或落盘
python -m scripts.visual_qa_analysis \
--input image.jpg \
--question "描述一下这张图片" \
--open-id <你的-open-id> \
--detail basic
python -m scripts.visual_qa_analysis \
--input image.jpg \
--question "请识别图片中的文字内容" \
--open-id <你的-open-id> \
--output result.json
在 Agent 对话中的触发方式(摘自 Skill 约定):用户提供图片 URL/文件并提问;或出现 VQA、看图问答、图片问答等关键词且已上传图片;查询历史时使用「查看历史问答记录」「视觉问答历史」等表述时,应走 --list 云端查询而非本地记忆。
接口细节与错误码见技能内 references/api_doc.md(需要时再让 Agent 读取,避免撑爆上下文)。
适用场景与注意¶
适合谁
- 需要在 Cursor、Claude Code、Codex 等环境中,用统一 Skill 完成「上传或引用图片 + 自由提问」的开发者或团队。
- 希望历史问答与当前会话分离、由云端归档并可列表查看的场景。
限制与注意
- 回答由大模型生成,Skill 注明仅供参考,关键信息需人工核实。
- 必须准备有效 open-id 及(按需)API 密钥;标签
requires_api_key=true表示不能假设零配置即可调用生产接口。 - 历史记录只能走云端 API;Skill 禁止读取
memory/、MEMORY.md或 LanceDB 作为回退。 - 仅使用技能自带脚本,不要临时生成替代脚本;网络图传 URL 即可,无需 Agent 先下载到本地。
结尾¶
大模型视觉问答技能把 VQA 的输入规范、身份获取、API 调用与历史清单输出写进同一套 Agent Skill,减少每次对话重新约定接口的行为。若要安装或查看元数据,请访问 SkillHub 技能页 或 API 坐标页 https://api.skillhub.cn/user_bb47e3e3/visual-qa-analysis。