AI AGENT SKILLS

Feishu Send Msg

一个面向 Other 场景的 Agent 技能。原始说明:发送消息到飞书。当用户提到"发飞书消息"、"给飞书发消息"、"发送消息到飞书"、"发消息到飞书"等时使用。

SKILL.md

SKILL.md


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 是飞书用户的唯一标识
  • openid 是应用相关的,同一个用户在不同的应用下有不同的 openid
  • 发送消息时需要使用当前应用下的 open_id

故障排除

发送失败:needuserauthorization

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

发送失败: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 工具发送的消息显示为机器人身份