Feishu Image Tool
name: feishu-img-tool
by bo170814 · published 2026-03-22
$ claw add gh:bo170814/bo170814-feishu-img-tool---
name: feishu-img-tool
description: |
Feishu image upload and send tool. Send images to Feishu chats by uploading first then sending with image_key.
Usage: `node feishu-image-tool.js send --target <open_id> --file <path>`
---
# Feishu Image Tool
Tool `feishu_image` for uploading and sending images to Feishu chats.
How It Works
Feishu requires a two-step process to send images:
1. **Upload Image** - Call `/open-apis/im/v1/images` to upload the image and get `image_key`
2. **Send Message** - Call `/open-apis/im/v1/messages` with `msg_type: "image"` and the `image_key`
Actions
Upload and Send Image
{
"action": "send",
"target": "ou_xxx", // User open_id or chat_id
"file_path": "/path/to/image.png",
"message": "Optional caption"
}**Parameters:**
**Returns:**
Upload Image Only
{
"action": "upload",
"file_path": "/path/to/image.png"
}Returns `image_key` for later use.
Send Image with Key
{
"action": "send_with_key",
"target": "ou_xxx",
"image_key": "img_v3_xxx"
}Image Limits
- GIF: max 2000 x 2000 pixels
- Other formats: max 12000 x 12000 pixels
Configuration
Feishu App Credentials
Required credentials (in order of priority):
1. Environment variables: `FEISHU_APP_ID`, `FEISHU_APP_SECRET`
2. Config file: `~/.feishu-image/config.json`
# Method 1: Environment variables
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"
# Method 2: Config file (~/.feishu-image/config.json)
{
"appId": "cli_xxx",
"appSecret": "xxx"
}Required Permissions
Permissions
Example Usage
Send stock chart to user
{
"action": "send",
"target": "ou_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"file_path": "/tmp/stock-report.png",
"message": "📊 今日股票报告"
}Send to current conversation (omit target)
{
"action": "send",
"file_path": "/tmp/chart.png"
}Implementation Notes
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...