Token导航 LogoToken导航TokenDH.com
图像处理敏感数据clawhub未标认证来源可访问clear审计提醒

chat-image-reader聊天图像阅读器

Agent Skill

用于辅助图像生成、图片编辑、视觉素材处理或图像模型工作流。它适合让 Agent 根据文本生成图片、处理背景、整理视觉提示词或调用相关图像工具。使用时需要确认输入图片、版权来源、输出格式和模型限制;涉及人物、品牌、商品或公开展示素材时,应额外核对授权、真实性和内容合规边界。

总安装

2,818

周安装

114

GitHub Stars

1

下载量

885
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chat-image-reader(聊天图像阅读器)
来源仓库:https://github.com/zqy15306762317/chat-image-reader
安装命令:
openclaw skills install chat-image-reader
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install chat-image-reader

简介

使用特定于平台的 API 和统一图像处理,读取和分析 10 多个聊天平台的消息中的图像。

SKILL.md

name
chat-image-reader
description
First universal image reader for 10+ chat platforms. Features: (1) Auto platform detection (Feishu, DingTalk, WeChat, Discord, Telegram, WhatsApp, Slack, Signal, LINE, iMessage), (2) Unified API with platform-specific download logic, (3) Comprehensive API reference with error codes and rate limits, (4) Fallback strategies for missing images. Triggers: "识别图片", "读取图片", "analyze image", "read image from chat". No similar skill exists on ClawHub - fills a unique gap for cross-platform chat image analysis.
author
Qingyu Zhu
homepage
https://clawhub.ai
metadata
openclaw
emoji
🖼️
requires
bins
env
envOptional
primaryEnv
FEISHU_APP_ID
networkAccess
true
permissions

Chat Image Reader

Universal image reading and analysis skill for multiple chat platforms.

Supported Platforms

PlatformChannelImage SourceDownload Method
Feishu (飞书)feishuMessage image_keyAPI + Tenant Token
DingTalk (钉钉)dingtalkMessage downloadCodeAPI + Access Token
WeChat (微信)wechatMedia file_idAPI + Access Token
DiscorddiscordAttachment URLDirect download
Telegramtelegramfile_idBot API
WhatsAppwhatsappMedia URLDirect download
SignalsignalAttachmentDirect download
SlackslackFile URLDirect download
iMessageimessageAttachment pathLocal file
LINElineMessage contentAPI

Required Credentials

This skill requires API credentials to access chat platform messages. Configure at least one platform to use the skill.

Platform Credentials

PlatformRequired Environment VariablesNotes
Feishu (飞书)FEISHU_APP_ID, FEISHU_APP_SECRETRequired scopes: im:message:readonly, im:resource
DingTalk (钉钉)DINGTALK_APP_KEY, DINGTALK_APP_SECRETRequired permissions: IMessage, Chat
WeChat (企业微信)WECHAT_CORP_ID, WECHAT_CORP_SECRETRequired permissions: media_get
TelegramTELEGRAM_BOT_TOKENFrom @BotFather
DiscordDISCORD_BOT_TOKENFrom Discord Developer Portal
WhatsAppWHATSAPP_TOKENFrom Meta Business API

Configuration Example

# Feishu (飞书) - Required for Feishu image reading
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"

# DingTalk (钉钉) - Required for DingTalk image reading
export DINGTALK_APP_KEY="dingxxx"
export DINGTALK_APP_SECRET="xxx"

# WeChat (企业微信) - Required for WeChat image reading
export WECHAT_CORP_ID="xxx"
export WECHAT_CORP_SECRET="xxx"

# Telegram - Required for Telegram image reading
export TELEGRAM_BOT_TOKEN="123456:ABC-xxx"

Security Notes

  • Credentials are only used to download images from respective platforms
  • No data is sent to external servers except the official platform APIs
  • Images are stored temporarily in local temp directory
  • Credentials should be configured via environment variables, not hardcoded

Workflow

Step 1: Detect Platform from Context

Check inbound_meta.channel or inbound_meta.provider to determine the chat platform:

{
  "channel": "feishu",      // Feishu
  "channel": "discord",     // Discord
  "channel": "telegram",    // Telegram
  "channel": "whatsapp",    // WhatsApp
  ...
}

Step 2: Get Image by Platform

Feishu (飞书)

  1. Get message_id and image_key from message
  2. Get tenant access token via API
  3. Download from: GET /open-apis/im/v1/messages/{message_id}/resources/{image_key}
  4. Save to temp file

DingTalk (钉钉)

  1. Get downloadCode from message content
  2. Get access token via API (appKey + appSecret)
  3. Download from: GET /v1.0/robot/messageFiles/download?downloadCode={code}
  4. Save to temp file

WeChat (微信/企业微信)

  1. Get media_id from message
  2. Get access token via API
  3. Download from: GET https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token={token}&media_id={id}
  4. Save to temp file

Discord

  1. Get attachment URL from message (Discord provides direct CDN URLs)
  2. Download directly from URL
  3. No authentication needed for public channels

Telegram

  1. Get file_id from message
  2. Call Bot API: GET https://api.telegram.org/bot{token}/getFile?file_id={file_id}
  3. Download from: https://api.telegram.org/file/bot{token}/{file_path}

WhatsApp / Signal / Slack

  1. Get media URL from message
  2. Download directly (usually with token in header)

Local File Path

If user provides a local path directly:

  1. Verify file exists
  2. Use directly without download

Step 3: Analyze Image

Use the image tool with appropriate prompt:

image(
  image: "<local_path_or_url>",
  prompt: "描述图片内容,包括文字、图表、数据等关键信息"
)

Platform-Specific Implementation

Feishu Implementation

# 1. Get tenant token
$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. Get message to find 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. Download image
Invoke-WebRequest -Uri "https://open.feishu.cn/open-apis/im/v1/messages/$messageId/resources/$imageKey" -Headers @{ Authorization = "Bearer $token" } -OutFile $outputPath

DingTalk Implementation

# 1. Get access token
$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. Download image using downloadCode
# For robot messages:
Invoke-WebRequest -Uri "https://api.dingtalk.com/v1.0/robot/messageFiles/download?downloadCode=$downloadCode" -Headers @{ "x-acs-dingtalk-access-token" = $token } -OutFile $outputPath

# For user messages (via stream):
# Use conversation message download API

WeChat (企业微信) Implementation

# 1. Get access token
$token = (Invoke-RestMethod -Uri "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpId&corpsecret=$corpSecret").access_token

# 2. Download media
Invoke-WebRequest -Uri "https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=$token&media_id=$mediaId" -OutFile $outputPath

Discord Implementation

# Discord attachments are direct URLs
$attachmentUrl = $message.attachments[0].url
Invoke-WebRequest -Uri $attachmentUrl -OutFile $outputPath

Telegram Implementation

# 1. Get file path from file_id
$fileInfo = Invoke-RestMethod -Uri "https://api.telegram.org/bot$token/getFile?file_id=$fileId"
$filePath = $fileInfo.result.file_path

# 2. Download file
Invoke-WebRequest -Uri "https://api.telegram.org/file/bot$token/$filePath" -OutFile $outputPath

Reply Context Handling

When user replies to an image message:

  1. Check reply_to_id in inbound metadata
  2. Fetch the original message using platform-specific API
  3. Extract image from the original message
  4. Proceed with download and analysis

Common Analysis Prompts

Document/Screenshot

识别图片中的所有文字内容,保持原有格式和层次结构。

Chart/Table

分析图片中的图表或表格,提取所有数据和标签。

UI Screenshot

描述界面布局、功能按钮、当前状态等关键信息。

Stock/Finance Chart

识别股票代码、价格、K线形态、成交量等财务信息。

Job Posting

提取招聘信息,包括职位名称、职责、要求、薪资等关键内容。

General Image

描述图片内容,包括主要元素、文字、数据等关键信息。

Error Handling

ErrorCauseSolution
Image not foundNo image in messageAsk user to resend or provide path
Download failedPermission/Network issueCheck permissions, retry
API errorToken expired/invalidRefresh token and retry
Analysis failedImage unclear/unsupportedTry alternative prompt

Fallback Strategy

When automatic image retrieval fails:

  1. Ask user to provide path: "请提供图片的本地路径"
  2. Ask user to describe: "请描述图片内容或复制图片中的文字"
  3. Request resend: "请重新发送图片"

Temp File Management

  • Save images to $workspace/temp_images/ or system temp
  • Clean up after analysis (optional, for disk space)
  • Use unique filenames with timestamp: img_{channel}_{timestamp}.jpg

Configuration Required

Feishu (飞书)

  • FEISHU_APP_ID / channels.feishu.appId
  • FEISHU_APP_SECRET / channels.feishu.appSecret
  • Required scope: im:message:readonly, im:resource

DingTalk (钉钉)

  • DINGTALK_APP_KEY / channels.dingtalk.appKey
  • DINGTALK_APP_SECRET / channels.dingtalk.appSecret
  • Required permissions: IMessage, Chat

WeChat (企业微信)

  • WECHAT_CORP_ID / channels.wechat.corpId
  • WECHAT_CORP_SECRET / channels.wechat.corpSecret
  • Required permissions: media_get

Telegram

  • Bot token configured in OpenClaw

Discord

  • Bot token configured in OpenClaw

Notes

  • Most platforms provide images in JPG/PNG format
  • Large images may need resizing before analysis
  • Consider rate limits for API calls
  • Always validate user has permission to access the image

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.82%
按下载量换算830

安全审计

VirusTotal

未展示

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills