360 Secure SkillHub
360 安全技能中心

Feishu Send Msg

该 Skill 说明如何调用 message 工具,以 action=send、channel=feishu 和接收者 open_id 向飞书用户发送纯文本消息,并列出授权失败、open_id 跨应用、权限不足等常见错误的排查方式。依赖宿主提供的 message 工具,未包含富媒体消息发送与 open_id 获取方法。

lhq2103387078
lhq2103387078
热度 21.26
最近更新 2026-05-25 02:02:54
分类:协作依赖:MCP 服务应用场景:工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add feishu-send-msg
Metadata
name
feishu-send-msg
version
1.0.0
description
发送消息到飞书。当用户提到"发飞书消息"、"给飞书发消息"、"发送消息到飞书"、"发消息到飞书"等时使用。
emoji
💬

飞书发送消息

发送方法

使用 message 工具(推荐)

发送消息只需要一个简单的工具调用:

message(
    action="send",
    channel="feishu",
    message="消息内容",
    target="<USER_OPEN_ID>"
)

参数说明

参数 必须 说明
action 是 固定为 "send"
channel 是 固定为 "feishu"
message 是 消息内容(文本)
target 是 接收者的 open_id,格式:ou_xxx

发送步骤

  1. 调用 message 工具,传入 channel=feishu 表示发往飞书
  2. target 填入接收者的 open_id
  3. message 填入要发送的文本内容
  4. 工具自动将消息投递到飞书

示例代码

# 发送普通文字消息
message(
    action="send",
    channel="feishu",
    message="你好,这是一条测试消息",
    target="<USER_OPEN_ID>"
)

# 发送多行消息
message(
    action="send",
    channel="feishu",
    message="第一行\n第二行\n第三行",
    target="<USER_OPEN_ID>"
)

open_id 说明

  • open_id 是飞书用户的唯一标识
  • open_id 是应用相关的,同一个用户在不同的应用下有不同的 open_id
  • 发送消息时需要使用当前应用下的 open_id

故障排除

发送失败:need_user_authorization

  • 原因:应用没有获得以用户身份发消息的权限
  • 解决:用户需要在飞书里给应用授权(发送"授权"或类似指令给机器人)

发送失败:open_id cross app

  • 原因:使用的 open_id 不是当前应用的
  • 解决:使用正确应用下的 open_id

发送失败:权限不足

  • 原因:应用缺少 im:message.send_as_user 权限
  • 解决:在飞书开放平台给应用开通该权限

技术原理

  • 通过 message 工具发送,机器人身份投递
  • 不需要获取 token 或用户授权(机器人权限即可发送)
  • 消息显示为机器人发送的消息

注意事项

  1. 飞书消息工具:使用 message 工具,channel 设为 feishu
  2. 不要混淆:不要使用 feishu_im_user_message 工具(该工具需要飞书会话上下文,从网页端调用会失败)
  3. 发送者身份:通过 message 工具发送的消息显示为机器人身份