跨10+个聊天平台读取消息图片,通过平台专属API和统一图像处理技术进行分析。
聊天图像阅读器
功能概述
聊天图像阅读器是一项面向实际任务的技能,主要用于多个聊天平台的通用图像读取和分析技能;. 支持的平台;
核心要点
- Platform.;
- Channel.;
- Image Source.;
使用与执行
Download Method.;Feishu (飞书).;Feishu.;Message image key.;API + T。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
结果检查与注意事项
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Chat Image Reader
面向多个聊天平台的通用图像读取与分析能力。
支持的平台
| 平台 | Channel | 图像来源 | 下载方式 |
|---|---|---|---|
| Feishu (飞书) | feishu | 消息中的 image_key |
API + Tenant Token |
| DingTalk (钉钉) | dingtalk | 消息中的 downloadCode |
API + Access Token |
| WeChat (微信) | 媒体文件 file_id |
API + Access Token | |
| Discord | discord | 附件 URL | 直接下载 |
| Telegram | telegram | file_id |
Bot API |
| 媒体 URL | 直接下载 | ||
| Signal | signal | 附件 | 直接下载 |
| Slack | slack | 文件 URL | 直接下载 |
| iMessage | imessage | 附件路径 | 本地文件 |
| LINE | line | 消息内容 | API |
必需的凭据
该能力需依赖 API 凭据访问各聊天平台的消息。至少需配置一个平台方可启用本能力。
平台凭据
| 平台 | 必需的环境变量 | 说明 |
|---|---|---|
| Feishu (飞书) | FEISHU_APP_ID、FEISHU_APP_SECRET |
必需权限范围:im:message:readonly、im:resource |
| DingTalk (钉钉) | DINGTALK_APP_KEY、DINGTALK_APP_SECRET |
必需权限:IMessage、Chat |
| WeChat (企业微信) | WECHAT_CORP_ID、WECHAT_CORP_SECRET |
必需权限:media_get |
| Telegram | TELEGRAM_BOT_TOKEN |
通过 @BotFather 获取 |
| Discord | DISCORD_BOT_TOKEN |
从 Discord Developer Portal 获取 |
WHATSAPP_TOKEN |
来自 Meta Business API |
配置示例
# Feishu (飞书) —— 用于读取 Feishu 图像所必需 export FEISHU_APP_ID="cli_xxx" export FEISHU_APP_SECRET="xxx" # DingTalk (钉钉) —— 用于读取 DingTalk 图像所必需 export DINGTALK_APP_KEY="dingxxx" export DINGTALK_APP_SECRET="xxx" # WeChat (企业微信) —— 用于读取 WeChat 图像所必需 export WECHAT_CORP_ID="xxx" export WECHAT_CORP_SECRET="xxx" # Telegram —— 用于读取 Telegram 图像所必需 export TELEGRAM_BOT_TOKEN="123456:ABC-xxx"
安全说明
- 凭据仅用于从对应平台下载图像
- 除调用官方平台 API 外,不向任何外部服务器发送数据
- 图像临时存储于本地临时目录中
- 凭据应通过环境变量配置,禁止硬编码
工作流程
步骤 1:根据上下文识别平台
检查 inbound_meta.channel 或 inbound_meta.provider 字段以确定聊天平台:
{
"channel": "feishu", // Feishu
"channel": "discord", // Discord
"channel": "telegram", // Telegram
"channel": "whatsapp", // WhatsApp
...
}
步骤 2:按平台获取图像
Feishu (飞书)
- 从消息中提取
message_id和image_key - 调用 API 获取租户访问令牌(Tenant Access Token)
- 通过以下接口下载:
GET /open-apis/im/v1/messages/{message_id}/resources/{image_key} - 保存为临时文件
DingTalk (钉钉)
- 从消息内容中提取
downloadCode - 调用 API(使用 appKey + appSecret)获取访问令牌(Access Token)
- 通过以下接口下载:
GET /v1.0/robot/messageFiles/download?downloadCode={code} - 保存为临时文件
WeChat (微信/企业微信)
- 从消息中提取
media_id - 调用 API 获取访问令牌(Access Token)
- 通过以下接口下载:
GET https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token={token}&media_id={id} - 保存为临时文件
Discord
- 从消息中提取附件 URL(Discord 提供 CDN 直链)
- 直接通过 URL 下载
- 公开频道无需身份验证
Telegram
- 从消息中提取
file_id - 调用 Bot API:
GET https://api.telegram.org/bot{token}/getFile?file_id={file_id} - 通过返回的
file_path构造下载地址:https://api.telegram.org/file/bot{token}/{file_path}
WhatsApp / Signal / Slack
- 从消息中提取媒体 URL
- 直接下载(通常需在请求头中携带 token)
本地文件路径
若用户直接提供本地路径:
- 校验文件是否存在
- 跳过下载,直接使用该文件
步骤 3:图像分析
使用 image 工具,并传入合适的 prompt:
image( image: "", prompt: "描述图片内容,包括文字、图表、数据等关键信息" )
平台特异性实现
Feishu 实现
# 1. 获取租户令牌
$body = @{ app_id = $appId; app_secret = $appSecret } | ConvertTo-Json
$token = (Invoke-RestMethod -Uri "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal" -Method Post -Body $body).tenant_access_token
# 2. 获取消息以定位 image_key
$message = Invoke-RestMethod -Uri "https://open.feishu.cn/open-apis/im/v1/messages/$messageId" -Headers @{ Authorization = "Bearer $token" }
$imageKey = $message.data.items[0].body.content | ConvertFrom-Json | Select-Object -ExpandProperty image_key
# 3. 下载图像
Invoke-WebRequest -Uri "https://open.feishu.cn/open-apis/im/v1/messages/$messageId/resources/$imageKey" -Headers @{ Authorization = "Bearer $token" } -OutFile $outputPath
DingTalk 实现
# 1. 获取访问令牌
$body = @{ appKey = $appKey; appSecret = $appSecret } | ConvertTo-Json
$token = (Invoke-RestMethod -Uri "https://api.dingtalk.com/v1.0/oauth2/accessToken" -Method Post -Body $body).accessToken
# 2. 使用 downloadCode 下载图像
# 针对机器人消息:
Invoke-WebRequest -Uri "https://api.dingtalk.com/v1.0/robot/messageFiles/download?downloadCode=$downloadCode" -Headers @{ "x-acs-dingtalk-access-token" = $token } -OutFile $outputPath
# 针对用户消息(通过 stream):
# 使用会话消息下载 API
WeChat (企业微信) 实现
# 1. 获取访问令牌 $token = (Invoke-RestMethod -Uri "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpId&corpsecret=$corpSecret").access_token # 2. 下载媒体文件 Invoke-WebRequest -Uri "https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=$token&media_id=$mediaId" -OutFile $outputPath
Discord 实现
# Discord 附件为直链 URL $attachmentUrl = $message.attachments[0].url Invoke-WebRequest -Uri $attachmentUrl -OutFile $outputPath
Telegram 实现
# 1. 根据 file_id 获取文件路径 $fileInfo = Invoke-RestMethod -Uri "https://api.telegram.org/bot$token/getFile?file_id=$fileId" $filePath = $fileInfo.result.file_path # 2. 下载文件 Invoke-WebRequest -Uri "https://api.telegram.org/file/bot$token/$filePath" -OutFile $outputPath
回复上下文处理
当用户回复一张图像消息时:
- 检查入站元数据中的
reply_to_id - 使用平台专属 API 获取原始消息
- 从原始消息中提取图像
- 继续执行下载与分析流程
常用分析 Prompt
文档/截图
识别图片中的所有文字内容,保持原有格式和层次结构。
图表/表格
分析图片中的图表或表格,提取所有数据和标签。
UI 截图
描述界面布局、功能按钮、当前状态等关键信息。
股票/金融图表
识别股票代码、价格、K线形态、成交量等财务信息。
招聘启事
提取招聘信息,包括职位名称、职责、要求、薪资等关键内容。
通用图像
描述图片内容,包括主要元素、文字、数据等关键信息。
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 未找到图像 | 消息中不含图像 | 提示用户重发或提供路径 |
| 下载失败 | 权限不足 / 网络异常 | 检查权限配置,重试 |
| API 错误 | Token 过期或无效 | 刷新 Token 后重试 |
| 分析失败 | 图像模糊 / 格式不支持 | 尝试更换 prompt |
降级策略
当自动图像获取失败时:
- 请用户提供路径:“请提供图片的本地路径”
- 请用户描述内容:“请描述图片内容或复制图片中的文字”
- 请求重发:“请重新发送图片”
临时文件管理
- 图像保存至
$workspace/temp_images/或系统临时目录 - 分析完成后清理(可选,节省磁盘空间)
- 采用带时间戳的唯一文件名:
img_{channel}_{timestamp}.jpg
必需配置项
Feishu (飞书)
FEISHU_APP_ID/channels.feishu.appIdFEISHU_APP_SECRET/channels.feishu.appSecret- 必需权限范围:
im:message:readonly、im:resource
DingTalk (钉钉)
DINGTALK_APP_KEY/channels.dingtalk.appKeyDINGTALK_APP_SECRET/channels.dingtalk.appSecret- 必需权限:
IMessage、Chat
WeChat (企业微信)
WECHAT_CORP_ID/channels.wechat.corpIdWECHAT_CORP_SECRET/channels.wechat.corpSecret- 必需权限:
media_get
Telegram
- Bot token 已在 OpenClaw 中配置
Discord
- Bot token 已在 OpenClaw 中配置
注意事项
- 多数平台返回的图像为 JPG/PNG 格式
- 大尺寸图像建议在分析前缩放以提升性能
- 注意各平台 API 调用频率限制(rate limit)
- 始终校验用户是否具备访问该图像的权限
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章