mcpField
F
feishu-chat-history

feishu-chat-history

github.com/zrt-ai-lab生产力29648 次安装14 周前更新
代码仓库

关于 feishu-chat-history

feishu-chat-history 是用于读取飞书群聊历史并整理讨论内容的技能,适合需要回顾群消息的场景。它通过飞书 IM API 获取消息,并支持按线程组织结果。

主要功能

  1. 01读取飞书群聊消息
  2. 02总结近期讨论
  3. 03解析文本、互动消息和图片
  4. 04按发送者与时间呈现消息
  5. 05支持分页获取历史

适用场景

  1. 01回顾群聊讨论主题
  2. 02总结最近的群消息
  3. 03查看指定群的历史记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zrt-ai-lab/opencode-skills --skill feishu-chat-history

安装后在 Claude Code 中输入/feishu-chat-history确认已加载。

附带文件README.mdreferences/api.md

详细介绍

飞书聊天记录

获取飞书群聊的消息历史,并向用户总结或展示。

使用场景

  • 用户询问群里讨论了什么
  • 用户想要总结或回顾近期消息
  • 用户提供了 chat_id,或身处群聊中并询问聊天记录

如何获取消息

使用 Python 直接调用飞书 IM API。完整详情请参阅 references/api.md。

快速概览:

  1. 从配置中读取凭据 → channels.feishu.appId / appSecret
  2. 通过 POST /auth/v3/tenant_access_token/internal 获取 tenant_access_token
  3. 通过 GET /im/v1/messages?container_id_type=chat&container_id={chat_id}&page_size=50 获取消息

识别 chat_id

  • 如果用户询问当前群聊,使用入站元数据中的 chat_id(chat:oc_xxxxx → 去掉 chat: 前缀,获取原始 ID)
  • 如果用户提供了其他群聊,请询问其 chat_id

呈现结果

解析每条消息并提供清晰的摘要:

  • 除非相关,否则过滤掉 msg_type=system(加入/离开事件)
  • 对于 msg_type=text:将 .body.content 解析为 JSON,获取 text 字段
  • 对于 msg_type=interactive:从 elements 数组中提取文本节点
  • 对于 msg_type=image:标注为 [图片]
  • 包含发送者名称(来自 mentions 或已知的机器人 app_ids)、时间戳和内容
  • 如果存在 root_id,则按线程分组
  • 结尾提供一段易于理解的讨论主题总结

分页

如果 has_more=true,则使用 page_token 获取更多页面。默认获取 1 页(50 条消息)。询问用户是否需要更多内容。

评论

支持 Markdown