{
  "schemaVersion": "1.0",
  "item": {
    "slug": "feishu-im",
    "name": "feishu-im",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/sunnyyao2222-eng/feishu-im",
    "canonicalUrl": "https://clawhub.ai/sunnyyao2222-eng/feishu-im",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/feishu-im",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=feishu-im",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/feishu-im"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/feishu-im",
    "agentPageUrl": "https://openagent3.xyz/skills/feishu-im/agent",
    "manifestUrl": "https://openagent3.xyz/skills/feishu-im/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/feishu-im/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "飞书消息与群管理",
        "body": "你是飞书 IM 自动化专家，负责通过 API 实现消息发送、群聊管理和群功能配置。"
      },
      {
        "title": "一、API 基础信息",
        "body": "项目值Base URLhttps://open.feishu.cn/open-apis/im/v1认证方式Authorization: Bearer {tenant_access_token}Content-Typeapplication/json"
      },
      {
        "title": "1. 发送文本消息",
        "body": "POST /open-apis/im/v1/messages?receive_id_type=open_id\n\n{\n  \"receive_id\": \"ou_xxx\",\n  \"msg_type\": \"text\",\n  \"content\": \"{\\\"text\\\":\\\"Hello\\\"}\"\n}\n\n实测心法：content 必须是字符串化的 JSON，不能直接传对象。\n\nreceive_id_type 可选值：open_id / user_id / union_id / email / chat_id"
      },
      {
        "title": "2. 发送交互卡片",
        "body": "POST /open-apis/im/v1/messages?receive_id_type=open_id\n\n{\n  \"receive_id\": \"<open_id>\",\n  \"msg_type\": \"interactive\",\n  \"content\": \"<card_json_string>\"\n}\n\n实测心法：\n\ncontent 必须是字符串化的 JSON（JSON string），不能是原始 JSON 对象。\n内部嵌套的双引号需进行转义（如 {\\\"config\\\":...}）。\n如果发送失败，请检查 API 调用参数或直接调用 API。\n\n卡片结构：\n\n{\n  \"config\": { \"wide_screen_mode\": true },\n  \"header\": {\n    \"title\": { \"tag\": \"plain_text\", \"content\": \"卡片标题\" },\n    \"template\": \"blue\"\n  },\n  \"elements\": [\n    { \"tag\": \"div\", \"text\": { \"tag\": \"lark_md\", \"content\": \"**加粗** 和 `代码` 支持\" } },\n    { \"tag\": \"hr\" },\n    { \"tag\": \"action\", \"actions\": [\n      { \"tag\": \"button\", \"text\": { \"tag\": \"plain_text\", \"content\": \"确认\" }, \"type\": \"primary\", \"value\": { \"action\": \"confirm\" } }\n    ]}\n  ]\n}\n\nHeader 颜色模板：\n\ntemplate颜色适用场景blue蓝色日常通知、信息green绿色成功、完成red红色告警、失败orange橙色警告、降级purple紫色特殊、创意turquoise青色技术结果grey灰色低优先级\n\nlark_md 语法：**加粗**、*斜体*、~~删除线~~、[链接](url)、<at id=ou_xxx>名字</at>"
      },
      {
        "title": "3. 消息置顶",
        "body": "POST /open-apis/im/v1/pins\n\n{ \"message_id\": \"om_xxx\" }\n\n实测心法：必须使用 /pins 集合端点，不能使用 messages/:id/pin 路径。"
      },
      {
        "title": "4. 消息回应（Reaction）",
        "body": "POST /open-apis/im/v1/messages/:message_id/reactions\n\n{ \"reaction_type\": { \"emoji_type\": \"OK\" } }\n\n实测心法：emoji_type 必须使用大写标准 ID（如 OK、THUMBSUP、HEART）。"
      },
      {
        "title": "5. 撤回消息",
        "body": "DELETE /open-apis/im/v1/messages/:message_id\n\n实测心法：仅能撤回机器人自己在有效期内发送的消息。"
      },
      {
        "title": "6. 消息加急",
        "body": "PATCH /open-apis/im/v1/messages/:message_id/urgent_app\n\n{ \"user_id_list\": [\"ou_xxx\"] }\n\n实测心法：消耗加急额度，请谨慎调用，仅用于 P0 级事件。"
      },
      {
        "title": "7. 设置置顶公告",
        "body": "POST /open-apis/im/v1/chats/:chat_id/top_notice\n\n{ \"action_type\": \"message\", \"message_id\": \"om_xxx\" }\n\n实测心法：置顶条目有限，建议仅置顶核心卡片。"
      },
      {
        "title": "8. 批量发送群消息",
        "body": "POST /open-apis/im/v1/messages/batch_send\n\n实测心法：注意限频策略，单次建议控制在 200 个群。"
      },
      {
        "title": "9. 发送系统消息",
        "body": "POST /open-apis/im/v1/messages/send_sys\n\n实测心法：视觉干扰度低，适合非业务强提醒（如入群须知）。"
      },
      {
        "title": "10. 创建群聊",
        "body": "POST /open-apis/im/v1/chats\n\n{ \"name\": \"群名称\", \"user_ids\": [\"ou_xxx\"] }\n\n实测心法 (重要)：\n\n建群后机器人自动成为群成员。\n可见性保障：虽然建群时可以传 user_ids，但由于飞书缓存或权限延迟，建议紧接着调用 12. 拉人入群 API 显式将用户再次加入，以确保群聊在用户端立即弹出。"
      },
      {
        "title": "11. 获取群成员列表",
        "body": "GET /open-apis/im/v1/chats/:chat_id/members\n\n实测心法：分页拉取大群成员时注意 Token 翻页。"
      },
      {
        "title": "12. 拉人入群",
        "body": "POST /open-apis/im/v1/chats/:chat_id/members?member_id_type=open_id\n\n{ \"id_list\": [\"ou_xxx\"] }\n\n实测心法：被拉取人必须在机器人可见范围内。这是确保群聊对用户可见的最稳健方式。"
      },
      {
        "title": "13. 更新群公告",
        "body": "PATCH /open-apis/im/v1/chats/:chat_id/announcement\n\n{ \"content\": \"最新进度...\" }\n\n实测心法：内容支持富文本格式。"
      },
      {
        "title": "14. 获取群公告",
        "body": "GET /open-apis/im/v1/chats/:chat_id/announcement\n\n实测心法：解析内容后可结合 LLM 生成执行周报。"
      },
      {
        "title": "15. 管理群菜单",
        "body": "POST /open-apis/im/v1/chats/:chat_id/menu_tree\n\n实测心法：在群聊右上角添加自定义菜单（如\"项目概览\"、\"一键周报\"），极大增强群聊的功能入口属性。"
      },
      {
        "title": "16. 管理群选项卡（Tab）",
        "body": "POST /open-apis/im/v1/chats/:chat_id/tabs\n\n实测心法：群内集成多维表格看板、Wiki SOP 为独立 Tab，让群聊变身为\"项目工作台\"。"
      },
      {
        "title": "17. 管理群组件（Widget）",
        "body": "POST /open-apis/im/v1/chats/:chat_id/widgets\n\n实测心法：在群聊右侧挂载动态汇率表、实时监控大屏，将群聊 UI 能力扩展到极限。"
      },
      {
        "title": "18. 管理群内协同插件",
        "body": "POST /open-apis/im/v1/chats/:chat_id/collab_plugins\n\n实测心法：在对话框上方常驻\"项目文档\"入口，减少翻找时间。"
      },
      {
        "title": "19. 更新 URL 预览",
        "body": "POST /open-apis/im/v1/url_preview\n\n实测心法：机器人发送的项目链接，自动附带最新的进度摘要，增强信息传达的视觉丰富度。"
      },
      {
        "title": "20. 管理应用快捷卡片（Feed Card）",
        "body": "POST /open-apis/im/v1/feed_cards\n\n实测心法：在飞书左侧导航栏推送即时状态，比消息更轻量，适合展示\"当前正在运行\"的任务。"
      },
      {
        "title": "21. 管理标签",
        "body": "POST /open-apis/im/v1/tags\n\n实测心法：为群聊或成员打上业务标签（如\"核心项目\"、\"高优先级\"），便于后续分类筛选。"
      },
      {
        "title": "22. 数据同步 Feed 流",
        "body": "权限：im:datasync.feed_card.time_sensitive:write\n\n实测心法：将外部 CRM 或代码仓库动态实时推送到飞书 Feed，对时间敏感型信息（如紧急 Bug）效果极佳。"
      },
      {
        "title": "23. 设置机器人 P2P 权限",
        "body": "权限：im:chat.access_event.bot_p2p_chat:read\n\n实测心法：确保机器人能主动给特定用户发送私聊，用户需在机器人可见范围内。"
      },
      {
        "title": "六、错误处理",
        "body": "错误码含义解决方案0成功—230001无发送权限检查机器人是否在群内或用户可见范围230002消息不存在检查 message_id 是否正确230014频率限制等待后重试，注意限频策略99991663token 过期重新获取 tenant_access_token"
      },
      {
        "title": "七、最佳实践",
        "body": "卡片优先：结构化信息用交互卡片，不要用纯文本\n加急慎用：消耗额度，仅用于 P0 级事件\n批量限频：批量发送控制在 200 个群/次\n置顶精简：置顶条目有限，只放核心信息\n群功能组合：菜单 + Tab + Widget 组合使用，把群聊变成工作台"
      }
    ],
    "body": "飞书消息与群管理\n\n你是飞书 IM 自动化专家，负责通过 API 实现消息发送、群聊管理和群功能配置。\n\n一、API 基础信息\n项目\t值\nBase URL\thttps://open.feishu.cn/open-apis/im/v1\n认证方式\tAuthorization: Bearer {tenant_access_token}\nContent-Type\tapplication/json\n二、消息操作\n1. 发送文本消息\nPOST /open-apis/im/v1/messages?receive_id_type=open_id\n\n{\n  \"receive_id\": \"ou_xxx\",\n  \"msg_type\": \"text\",\n  \"content\": \"{\\\"text\\\":\\\"Hello\\\"}\"\n}\n\n\n实测心法：content 必须是字符串化的 JSON，不能直接传对象。\n\nreceive_id_type 可选值：open_id / user_id / union_id / email / chat_id\n\n2. 发送交互卡片\nPOST /open-apis/im/v1/messages?receive_id_type=open_id\n\n{\n  \"receive_id\": \"<open_id>\",\n  \"msg_type\": \"interactive\",\n  \"content\": \"<card_json_string>\"\n}\n\n\n实测心法：\n\ncontent 必须是字符串化的 JSON（JSON string），不能是原始 JSON 对象。\n内部嵌套的双引号需进行转义（如 {\\\"config\\\":...}）。\n如果发送失败，请检查 API 调用参数或直接调用 API。\n\n卡片结构：\n\n{\n  \"config\": { \"wide_screen_mode\": true },\n  \"header\": {\n    \"title\": { \"tag\": \"plain_text\", \"content\": \"卡片标题\" },\n    \"template\": \"blue\"\n  },\n  \"elements\": [\n    { \"tag\": \"div\", \"text\": { \"tag\": \"lark_md\", \"content\": \"**加粗** 和 `代码` 支持\" } },\n    { \"tag\": \"hr\" },\n    { \"tag\": \"action\", \"actions\": [\n      { \"tag\": \"button\", \"text\": { \"tag\": \"plain_text\", \"content\": \"确认\" }, \"type\": \"primary\", \"value\": { \"action\": \"confirm\" } }\n    ]}\n  ]\n}\n\n\nHeader 颜色模板：\n\ntemplate\t颜色\t适用场景\nblue\t蓝色\t日常通知、信息\ngreen\t绿色\t成功、完成\nred\t红色\t告警、失败\norange\t橙色\t警告、降级\npurple\t紫色\t特殊、创意\nturquoise\t青色\t技术结果\ngrey\t灰色\t低优先级\n\nlark_md 语法：**加粗**、*斜体*、~~删除线~~、[链接](url)、<at id=ou_xxx>名字</at>\n\n3. 消息置顶\nPOST /open-apis/im/v1/pins\n\n{ \"message_id\": \"om_xxx\" }\n\n\n实测心法：必须使用 /pins 集合端点，不能使用 messages/:id/pin 路径。\n\n4. 消息回应（Reaction）\nPOST /open-apis/im/v1/messages/:message_id/reactions\n\n{ \"reaction_type\": { \"emoji_type\": \"OK\" } }\n\n\n实测心法：emoji_type 必须使用大写标准 ID（如 OK、THUMBSUP、HEART）。\n\n5. 撤回消息\nDELETE /open-apis/im/v1/messages/:message_id\n\n\n实测心法：仅能撤回机器人自己在有效期内发送的消息。\n\n6. 消息加急\nPATCH /open-apis/im/v1/messages/:message_id/urgent_app\n\n{ \"user_id_list\": [\"ou_xxx\"] }\n\n\n实测心法：消耗加急额度，请谨慎调用，仅用于 P0 级事件。\n\n7. 设置置顶公告\nPOST /open-apis/im/v1/chats/:chat_id/top_notice\n\n{ \"action_type\": \"message\", \"message_id\": \"om_xxx\" }\n\n\n实测心法：置顶条目有限，建议仅置顶核心卡片。\n\n8. 批量发送群消息\nPOST /open-apis/im/v1/messages/batch_send\n\n\n实测心法：注意限频策略，单次建议控制在 200 个群。\n\n9. 发送系统消息\nPOST /open-apis/im/v1/messages/send_sys\n\n\n实测心法：视觉干扰度低，适合非业务强提醒（如入群须知）。\n\n三、群聊管理\n10. 创建群聊\nPOST /open-apis/im/v1/chats\n\n{ \"name\": \"群名称\", \"user_ids\": [\"ou_xxx\"] }\n\n\n实测心法 (重要)：\n\n建群后机器人自动成为群成员。\n可见性保障：虽然建群时可以传 user_ids，但由于飞书缓存或权限延迟，建议紧接着调用 12. 拉人入群 API 显式将用户再次加入，以确保群聊在用户端立即弹出。\n11. 获取群成员列表\nGET /open-apis/im/v1/chats/:chat_id/members\n\n\n实测心法：分页拉取大群成员时注意 Token 翻页。\n\n12. 拉人入群\nPOST /open-apis/im/v1/chats/:chat_id/members?member_id_type=open_id\n\n{ \"id_list\": [\"ou_xxx\"] }\n\n\n实测心法：被拉取人必须在机器人可见范围内。这是确保群聊对用户可见的最稳健方式。\n\n13. 更新群公告\nPATCH /open-apis/im/v1/chats/:chat_id/announcement\n\n{ \"content\": \"最新进度...\" }\n\n\n实测心法：内容支持富文本格式。\n\n14. 获取群公告\nGET /open-apis/im/v1/chats/:chat_id/announcement\n\n\n实测心法：解析内容后可结合 LLM 生成执行周报。\n\n四、群功能增强\n15. 管理群菜单\nPOST /open-apis/im/v1/chats/:chat_id/menu_tree\n\n\n实测心法：在群聊右上角添加自定义菜单（如\"项目概览\"、\"一键周报\"），极大增强群聊的功能入口属性。\n\n16. 管理群选项卡（Tab）\nPOST /open-apis/im/v1/chats/:chat_id/tabs\n\n\n实测心法：群内集成多维表格看板、Wiki SOP 为独立 Tab，让群聊变身为\"项目工作台\"。\n\n17. 管理群组件（Widget）\nPOST /open-apis/im/v1/chats/:chat_id/widgets\n\n\n实测心法：在群聊右侧挂载动态汇率表、实时监控大屏，将群聊 UI 能力扩展到极限。\n\n18. 管理群内协同插件\nPOST /open-apis/im/v1/chats/:chat_id/collab_plugins\n\n\n实测心法：在对话框上方常驻\"项目文档\"入口，减少翻找时间。\n\n五、高级功能\n19. 更新 URL 预览\nPOST /open-apis/im/v1/url_preview\n\n\n实测心法：机器人发送的项目链接，自动附带最新的进度摘要，增强信息传达的视觉丰富度。\n\n20. 管理应用快捷卡片（Feed Card）\nPOST /open-apis/im/v1/feed_cards\n\n\n实测心法：在飞书左侧导航栏推送即时状态，比消息更轻量，适合展示\"当前正在运行\"的任务。\n\n21. 管理标签\nPOST /open-apis/im/v1/tags\n\n\n实测心法：为群聊或成员打上业务标签（如\"核心项目\"、\"高优先级\"），便于后续分类筛选。\n\n22. 数据同步 Feed 流\n\n权限：im:datasync.feed_card.time_sensitive:write\n\n实测心法：将外部 CRM 或代码仓库动态实时推送到飞书 Feed，对时间敏感型信息（如紧急 Bug）效果极佳。\n\n23. 设置机器人 P2P 权限\n\n权限：im:chat.access_event.bot_p2p_chat:read\n\n实测心法：确保机器人能主动给特定用户发送私聊，用户需在机器人可见范围内。\n\n六、错误处理\n错误码\t含义\t解决方案\n0\t成功\t—\n230001\t无发送权限\t检查机器人是否在群内或用户可见范围\n230002\t消息不存在\t检查 message_id 是否正确\n230014\t频率限制\t等待后重试，注意限频策略\n99991663\ttoken 过期\t重新获取 tenant_access_token\n七、最佳实践\n卡片优先：结构化信息用交互卡片，不要用纯文本\n加急慎用：消耗额度，仅用于 P0 级事件\n批量限频：批量发送控制在 200 个群/次\n置顶精简：置顶条目有限，只放核心信息\n群功能组合：菜单 + Tab + Widget 组合使用，把群聊变成工作台"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/sunnyyao2222-eng/feishu-im",
    "publisherUrl": "https://clawhub.ai/sunnyyao2222-eng/feishu-im",
    "owner": "sunnyyao2222-eng",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/feishu-im",
    "downloadUrl": "https://openagent3.xyz/downloads/feishu-im",
    "agentUrl": "https://openagent3.xyz/skills/feishu-im/agent",
    "manifestUrl": "https://openagent3.xyz/skills/feishu-im/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/feishu-im/agent.md"
  }
}