mcpField
F
feishu-im

feishu-im

github.com/alextangsonProductivity64139 installsUpdated 31w ago
Repository

About feishu-im

feishu-im is a skill for sending messages and managing group chats through the Feishu IM API. It is suited to workflows that automate Feishu communication, membership, and group settings.

Key features

  1. 01Send, reply to, and manage messages
  2. 02Send interactive cards
  3. 03Create and manage group chats
  4. 04Manage members and group owners
  5. 05Configure announcements, menus, and tabs

Use cases

  1. 01Send notifications to users or group chats
  2. 02Send messages to multiple people in batches
  3. 03Maintain project group membership and details
  4. 04Update group announcements and menus

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/alextangson/feishu_skills --skill feishu-im

After installing, type/feishu-imin Claude Code to confirm it loaded.

Details

From the project README

飞书消息与群管理

通过 IM API 发送消息、管理群聊和配置群功能。

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

认证与 Token 获取

从 feishu_skills 根目录执行共享脚本:

TOKEN="$(./scripts/get_feishu_token.sh)"

请求头统一使用 Authorization: Bearer ${TOKEN}。

如果业务接口返回 token 无效、过期或 401,强制刷新后仅重试一次原请求:

TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"

环境变量:

  • FEISHU_APP_ID
  • FEISHU_APP_SECRET

本地缓存: ./.feishu_token_cache.json(未过期直接复用,默认提前 5 分钟刷新)


消息操作

API端点说明
发送消息POST /messages?receive_id_type=open_id支持文本/卡片/图片/文件
批量发送POST /messages/batch_send最多 200 人
回复消息POST /messages/{message_id}/reply-
撤回消息DELETE /messages/{message_id}24 小时内
加急消息PATCH /messages/{message_id}/urgent_app-
置顶消息POST /pins-
添加表情POST /messages/{message_id}/reactions-

发送文本消息:

{
  "receive_id": "ou_xxx",
  "msg_type": "text",
  "content": "{\"text\":\"Hello\"}"
}

⚠️ content 必须是字符串化的 JSON。

receive_id_type: open_id / user_id / email / chat_id


交互卡片

发送卡片:

{
  "receive_id": "ou_xxx",
  "msg_type": "interactive",
  "content": "<card_json_string>"
}

卡片结构:

{
  "config": {"wide_screen_mode": true},
  "header": {
    "title": {"tag": "plain_text", "content": "标题"},
    "template": "blue"
  },
  "elements": [
    {"tag": "div", "text": {"tag": "lark_md", "content": "**加粗**"}},
    {"tag": "action", "actions": [
      {"tag": "button", "text": {"tag": "plain_text", "content": "确认"}, "type": "primary"}
    ]}
  ]
}

常用元素:

  • div: 文本块(支持 lark_md / plain_text)
  • hr: 分割线
  • action: 按钮组
  • img: 图片
  • note: 备注

群聊管理

API端点说明
创建群聊POST /chats-
获取群信息GET /chats/{chat_id}-
更新群信息PUT /chats/{chat_id}修改群名/描述/头像
解散群聊DELETE /chats/{chat_id}-
搜索群聊GET /chats/search-

创建群聊:

{
  "name": "项目群",
  "description": "项目讨论",
  "user_id_list": ["ou_xxx", "ou_yyy"]
}

群成员管理

API端点说明
获取成员列表GET /chats/{chat_id}/members-
添加成员POST /chats/{chat_id}/members最多 50 人/次
移除成员DELETE /chats/{chat_id}/members-
转让群主PUT /chats/{chat_id}/owner-

群功能配置

API端点说明
群公告PATCH /chats/{chat_id}/announcement-
群置顶POST /chats/{chat_id}/top_notice/put_top_notice-
群菜单POST /chats/{chat_id}/menu_tree-
群 TabPOST /chats/{chat_id}/chat_tabs-

设置群公告:

{
  "content": "群公告内容",
  "i18n_contents": {
    "zh_cn": "中文公告",
    "en_us": "English Announcement"
  }
}

最佳实践

  1. 批量发送优先(减少 API 调用)
  2. 卡片 content 必须字符串化
  3. 群成员操作最多 50 人/次
  4. 消息撤回限 24 小时内

Comments

Markdown supported