← 返回
内容创作 Key

Feishu Toolkit

Complete Feishu (Lark) integration toolkit for AI agents. Read/write documents, fetch chat history, send files & screenshots, manage permissions, and create...
完整飞书(Lark)AI代理集成工具包,支持文档读写、获取聊天记录、发送文件与截图、管理权限并创建...
ye4wzp
内容创作 clawhub v1.0.0 1 版本 99658.1 Key: 需要
★ 2
Stars
📥 6,665
下载
💾 29
安装
1
版本
#latest

概述

Feishu Toolkit (飞书工具箱)

A comprehensive Feishu (Lark) integration skill for AI agents. Covers 6 major capabilities:

  1. 📄 Document Operations — Read, create, write, and append Feishu Docs, Sheets, Bitable, Wiki
  2. 💬 Chat History — Fetch and summarize group chat messages
  3. 📎 File Sending — Upload and send files to Feishu chats via REST API
  4. 📸 Screenshot — Capture macOS screenshots and send to Feishu
  5. 🔐 Permission Management — List, add, remove document collaborators
  6. ⏰ Cron Reminders — Create scheduled recurring reminders to Feishu chats

Prerequisites

Feishu App Setup

  1. Go to Feishu Open Platform and create an app
  2. Enable required permissions:
    • im:message:send_as_bot — Send messages
    • im:resource — Upload files/images
    • docx:document — Read/write documents
    • drive:permission — Manage permissions (optional)
  3. Set FEISHU_APP_ID and FEISHU_APP_SECRET environment variables

Authentication

All API calls use Feishu's tenant access token:

import requests

def get_tenant_token(app_id, app_secret):
    r = requests.post(
        'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal',
        json={'app_id': app_id, 'app_secret': app_secret}
    )
    return r.json()['tenant_access_token']

1. Document Operations (Read/Write/Create/Append)

Read a Document

# Fetch document content as Markdown
# Supports: doc, docx, sheet, bitable, wiki
GET /open-apis/docx/v1/documents/{document_id}/raw_content

Create a Document

POST /open-apis/docx/v1/documents
Body: {"title": "My Document"}

Write (Overwrite) a Document

# Overwrite entire document content with Markdown
POST /open-apis/docx/v1/documents/{document_id}/blocks/batch_update

Append Content (Long Documents)

For documents exceeding LLM output limits:

  1. Create the document first to get a doc_token
  2. Chunk content into logical sections
  3. Append each chunk sequentially
  4. Do NOT try to write the entire document in one call if it is very long

Wiki URL Resolution

Wiki URLs need to be resolved to actual document tokens first:

POST /open-apis/wiki/v2/spaces/get_node
Body: {"token": "wiki_token"}
# Returns the actual doc_token and doc_type

2. Chat History

Fetch and summarize messages from a Feishu group chat.

Fetch Messages

# GET /open-apis/im/v1/messages
params = {
    'container_id_type': 'chat',
    'container_id': chat_id,
    'page_size': 50
}

Message Types

TypeHandling
----------------
textExtract .body.content JSON → text field
interactiveExtract text nodes from elements array
imageNote as [图片]
systemFilter out unless relevant

Pagination

If has_more=true, fetch more pages using page_token. Default: 50 messages per page.


3. File Sending

Send files to Feishu chats via REST API.

Upload File

# POST /open-apis/im/v1/files
headers = {'Authorization': f'Bearer {token}'}
data = {'file_type': 'stream', 'file_name': 'filename.ext'}
files = {'file': ('filename.ext', open(path, 'rb'), 'application/octet-stream')}

Supported file_type: opus, mp4, pdf, doc, xls, ppt, stream (generic)

Send File Message

# POST /open-apis/im/v1/messages
json = {
    'receive_id': chat_id,
    'msg_type': 'file',
    'content': json.dumps({'file_key': file_key})
}

4. Screenshot & Send

Capture macOS screenshots and send to Feishu.

# 1. Capture screenshot
SCREENSHOT_PATH="$TMPDIR/screenshot_$(date +%s).png"
screencapture -x "$SCREENSHOT_PATH"

# 2. Upload image
# POST /open-apis/im/v1/images
# data: image_type=message, file=screenshot

# 3. Send image message
# POST /open-apis/im/v1/messages
# msg_type: image, content: {"image_key": "..."}

> Note: Use $TMPDIR not /tmp on macOS.


5. Permission Management

Manage document/file permissions.

Actions

ActionDescription
---------------------
listList all collaborators
addAdd collaborator with permission level
removeRemove a collaborator

Token Types

doc, docx, sheet, bitable, folder, file, wiki, mindnote

Member Types

email, openid, userid, unionid, openchat, opendepartmentid

Permission Levels

LevelDescription
--------------------
viewView only
editCan edit
full_accessFull access (can manage permissions)

Example: Share document

# POST /open-apis/drive/v1/permissions/{token}/members
params = {'type': 'docx'}
json = {
    'member_type': 'email',
    'member_id': 'user@company.com',
    'perm': 'edit'
}

> Note: Permission management is sensitive. Use with caution.


6. Cron Reminders

Create recurring scheduled reminders to Feishu chats.

Before Creating

Always confirm with the user:

  1. Frequency: How often? (e.g., every 10 min, every hour, daily at 9am)
  2. Target: Where to send? (default: current IM conversation)

Template

cron add \
  --name "<task_name>" \
  --every "<interval>" \
  --session main \
  --system-event "[CRON] <task_name>. Send message to Feishu: '<reminder_content>'"

Interval Examples

IntervalDescription
-----------------------
1mEvery minute
5mEvery 5 minutes
30mEvery 30 minutes
1hEvery hour
/30 *Cron expression (with --tz)

Management

cron list          # List all tasks
cron edit <id>     # Edit task
cron rm <id>       # Delete (ask user first!)
cron runs --id <id> # View execution history
cron run <id>      # Manual trigger

API Reference

APIMethodPath
-------------------
Tenant TokenPOST/auth/v3/tenant_access_token/internal
Read DocumentGET/docx/v1/documents/{id}/raw_content
Create DocumentPOST/docx/v1/documents
Send MessagePOST/im/v1/messages
Upload FilePOST/im/v1/files
Upload ImagePOST/im/v1/images
List MessagesGET/im/v1/messages
Manage PermissionsPOST/drive/v1/permissions/{token}/members
Resolve WikiPOST/wiki/v2/spaces/get_node

Base URL: https://open.feishu.cn/open-apis


Notes

  • All APIs require tenant_access_token in the Authorization header
  • File upload uses multipart/form-data
  • Message sending uses application/json
  • Bot can only download files it uploaded itself
  • For detailed API docs, visit: https://open.feishu.cn/document

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-31 18:51 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

AdMapix

fly0pants
广告情报与应用数据分析助手,支持搜索广告素材、分析应用排名、下载量、收入及市场洞察,用于广告素材和竞品分析。
★ 295 📥 136,420
data-analysis

AMiner Academic Search

ye4wzp
使用 AMiner 开放平台 API 进行学术数据搜索与分析,查询学者、论文、机构、期刊和专利,包含 6 个复合工作流。
★ 0 📥 817
content-creation

Humanizer

biostartechnology
消除AI写作痕迹,使文本更自然真实。基于维基百科"AI写作特征"指南,识别并修正夸张象征、宣传用语、肤浅-ing分析、模糊归因、破折号滥用、三项排比、AI词汇、负面平行结构及冗长连接词等模式。
★ 857 📥 199,333