feishu-chat-history
Installation
SKILL.md
Feishu Chat History
Fetch message history from a Feishu group chat and summarize or present it to the user.
When to Use
- User asks what was discussed in a group
- User wants a summary or review of recent messages
- User provides a chat_id or is in a group and asks about its history
How to Fetch Messages
Use the Feishu IM API directly via Python. See references/api.md for full details.
Quick summary:
- Read credentials from config →
channels.feishu.appId/appSecret - Get
tenant_access_tokenviaPOST /auth/v3/tenant_access_token/internal - Fetch messages via
GET /im/v1/messages?container_id_type=chat&container_id={chat_id}&page_size=50
Identifying the chat_id
- If the user is asking about the current group chat, use the
chat_idfrom the inbound metadata (chat:oc_xxxxx→ strip thechat:prefix to get the raw ID) - If the user provides a different group, ask for the chat_id
Presenting Results
Parse each message and present a clean summary:
- Filter out
msg_type=system(join/leave events) unless relevant - For
msg_type=text: extract.body.contentas JSON, get thetextfield - For
msg_type=interactive: extract text nodes from theelementsarray - For
msg_type=image: note as[图片] - Include sender name (from
mentionsor known bot app_ids), timestamp, and content - Group by thread if
root_idis present - End with a human-readable summary of topics discussed
Pagination
If has_more=true, fetch more pages using page_token. Default: fetch 1 page (50 messages). Ask user if they want more.