| name | image-recognition |
|---|---|
| description | 图片识别基础工作流 - 自动调用 Gemini 进行图片内容分析,然后基于分析结果与用户对话。 |
| version | 0.1.0 |
这是一个基于 Gemini 视觉能力的图片识别技能,当接收到图片时,自动调用 Gemini 进行图片内容分析,然后基于分析结果与用户进行智能对话。
定义:当用户发送图片时,系统自动按照以下流程处理:
- 图片接收:用户发送图片到对话
- 图片保存:将图片保存到
workspace/images/目录 - 调用 Gemini:使用 Gemini 的视觉能力分析图片内容
- 获取描述:获取 Gemini 返回的详细图片描述
- 智能对话:基于图片描述与用户进行交互
- 任务执行:根据用户需求,执行相应的任务(如合盘、分析等)
触发条件:
- ✅ 用户发送了图片到对话中
- ✅ 需要分析图片内容
- ✅ 需要基于图片进行后续操作(如八字分析、合盘等)
典型任务:
- 图片内容识别(文字、物体、场景等)
- 图片描述生成
- 基于图片信息的后续任务(如八字分析、合盘等)
- 图片中文字的 OCR 识别
系统自动执行:
- 接收用户发送的图片
- 获取图片路径(通常在
/home/node/.openclaw/media/inbound/目录) - 将图片复制到
/home/node/.openclaw/workspace/images/目录 - 记录图片信息(格式、分辨率、大小)
输出:图片已保存,准备好进行分析
系统自动执行:
- 构造 Gemini 视觉请求
- 将图片路径传递给 Gemini
- 请求 Gemini 分析图片内容
- 获取 Gemini 返回的详细描述
提示词模板:
请详细描述这张图片的内容,包括:
1. 图片中的主要元素(人物、物体、文字、场景等)
2. 图片的整体风格和氛围
3. 任何可见的文字信息(请准确转录)
4. 图片的布局和结构
5. 其他值得注意的细节
请用清晰、详细的语言描述,方便后续进行基于图片内容的分析。
输出:Gemini 返回的详细图片描述
基于 Gemini 返回的描述:
- 向用户展示图片识别结果
- 确认用户是否需要进一步操作
- 根据用户需求,执行相应的任务
对话示例:
我分析了这张图片,内容如下:
[展示 Gemini 的图片描述]
请问你想让我:
1. 继续基于这个内容进行分析?
2. 提取特定信息?
3. 进行其他操作?
功能描述:识别图片中的主要元素、物体、人物、场景等
输出格式:
- 主要元素列表
- 图片风格和氛围
- 布局和结构描述
- 其他细节信息
功能描述:识别图片中的文字内容(如八字信息、表格、文档等)
输出格式:
- 准确转录的文字内容
- 文字布局信息
- 识别的置信度(如适用)
功能描述:基于图片识别结果,执行相应的任务
支持的后续任务:
- 八字分析(如果图片包含八字信息)
- 合盘分析(如果包含两个人的八字)
- 文档分析(如果是文档图片)
- 数据提取(如果是表格或结构化数据)
- 其他基于图片内容的任务
保存路径:/home/node/.openclaw/workspace/images/
文件命名:
- 使用原始文件名(从 inbound 复制时保持不变)
- 或使用时间戳命名(如
2026-03-11-05-11-00.jpg)
文件管理:
- 定期清理旧图片(建议 30 天后删除)
- 重要图片可永久保存
模型选择:Gemini Pro Vision(支持图片理解)
API 配置:
- API Key:在环境变量或配置文件中配置
- 模型版本:
gemini-pro-vision或最新版本
请求格式:
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "请详细描述这张图片的内容..."
},
{
"file_data": {
"mime_type": "image/jpeg",
"file_uri": "file:///path/to/image.jpg"
}
}
]
}
]
}
用户发送:一张包含八字信息的图片
系统执行:
- 保存图片到
workspace/images/ - 调用 Gemini 分析图片
- Gemini 返回:
这是一张八字命盘的截图,包含以下信息: - 年柱:甲辰年 - 月柱:丙寅月 - 日柱:壬午日 - 时柱:丁巳时 - 性别:男 - 出生日期:2024年3月10日 - 系统向用户展示识别结果
- 询问用户是否需要进行八字分析
对话:
我分析了这张八字图片,内容如下:
年柱:甲辰年
月柱:丙寅月
日柱:壬午日
时柱:丁巳时
性别:男
出生日期:2024年3月10日
请问你想让我:
1. 对这个八字进行详细分析?
2. 进行合盘分析(需要另一个人的八字)?
3. 其他操作?
用户发送:一张包含文档的图片
系统执行:
- 保存图片到
workspace/images/ - 调用 Gemini 分析图片
- Gemini 返回:
这是一份文档的截图,主要内容如下: - 标题:项目计划书 - 内容包括:项目背景、目标、时间计划、预算等 - 文字内容:[准确转录所有可见文字] - 布局:标准文档格式,有清晰的段落结构 - 系统向用户展示识别结果
- 询问用户是否需要进一步处理
对话:
我识别了这张文档图片,内容如下:
标题:项目计划书
主要内容:项目背景、目标、时间计划、预算等
[显示识别的文字内容]
请问你想让我:
1. 总结这份文档的核心要点?
2. 提取特定信息(如时间计划、预算等)?
3. 对文档进行分析或评价?
4. 其他操作?
用户发送:一张包含两个人八字的图片
系统执行:
- 保存图片到
workspace/images/ - 调用 Gemini 分析图片
- Gemini 返回:
这是一张合盘命盘,包含两个人的八字信息: 第一个人(甲): - 年柱:甲辰年 - 月柱:丙寅月 - 日柱:壬午日 - 时柱:丁巳时 - 性别:男 第二个人(乙): - 年柱:乙巳年 - 月柱:戊辰月 - 日柱:癸酉日 - 时柱:己未时 - 性别:女 - 系统向用户展示识别结果
- 询问用户是否需要进行合盘分析
对话:
我识别了这张合盘图片,内容如下:
第一个人(男):
年柱:甲辰年
月柱:丙寅月
日柱:壬午日
时柱:丁巳时
第二个人(女):
年柱:乙巳年
月柱:戊辰月
日柱:癸酉日
时柱:己未时
请问你想让我:
1. 对这两个人进行八字合盘分析?
2. 分别分析每个人的八字?
3. 其他操作?
不适用场景:
- ❌ 非图片文件(如 PDF、Word 等,需先转换)
- ❌ 模糊不清的图片(识别准确度会降低)
- ❌ 包含敏感或非法内容的图片
使用建议:
- ✅ 确保图片清晰可读
- ✅ 尽量提供高分辨率的图片
- ✅ 图片内容完整,不要被裁剪
- ✅ 如果识别不准确,可以提供更多上下文信息
- Gemini 视觉识别准确度较高,但不是 100%
- 文字识别(OCR)对清晰图片的准确度可达 95% 以上
- 手写文字的识别准确度会降低
- 复杂场景或模糊图片的识别准确度会降低
- 如果识别结果不准确,可以要求用户手动输入或确认
支持同时分析多张图片:
- 对比图片内容
- 提取共同点或差异
- 综合多张图片信息进行分析
自动识别图片类型:
- 八字图片 → 触发八字分析技能
- 文档图片 → 触发文档分析技能
- 表格图片 → 触发数据提取技能
- 其他图片 → 通用内容识别
基于图片内容,智能推荐后续操作:
- 如果识别出八字信息 → 推荐八字分析或合盘
- 如果识别出文档 → 推荐总结或提取信息
- 如果识别出表格 → 推荐数据提取或分析
配置文件路径:/home/node/.openclaw/workspace/config/gemini.json
配置示例:
{
"apiKey": "your_gemini_api_key_here",
"model": "gemini-pro-vision",
"maxTokens": 4096,
"temperature": 0.7
}环境变量(可选):
GEMINI_API_KEY: Gemini API 密钥
当识别到八字图片时:
- 自动调用
image-recognition技能识别八字信息 - 将识别结果传递给
eight-characters-analysis技能 - 执行八字分析
当识别到两个人八字图片时:
- 自动调用
image-recognition技能识别两个人的八字信息 - 将识别结果传递给
bazi-marriage-matchmaker技能 - 执行合盘分析
图片识别基础工作流 - 自动识别图片内容,智能执行后续任务