内置工具
表情回应
智能体使用 message 工具的 react
操作添加和移除表情回应。具体行为因渠道而异。
工作原理
{ "action": "react", "messageId": "msg-123", "emoji": "thumbsup"}- 添加表情回应时必须提供
emoji。 - 在支持此功能的渠道上,将
emoji设置为空字符串(""),即可移除 Bot 的表情回应。 - 设置
remove: true可移除一个特定表情(要求emoji非空)。 - 在支持状态表情回应的渠道上,对表情回应设置
trackToolCalls: true后, 运行时可在同一轮次中复用该已添加回应的消息,以显示后续工具进度 表情回应。
渠道行为
Discord 和 Slack
- 将
emoji留空会移除该消息上 Bot 的所有表情回应。 remove: true仅移除指定的表情。
Nextcloud Talk
- 仅支持添加表情回应:必须提供非空的
emoji。 - 表情回应移除功能尚未接入删除调用;使用
remove: true时会返回明确错误,而不会静默地不执行任何操作。 - 要求注册 Talk Bot 时启用
reaction功能(参阅 Nextcloud Talk 渠道文档)。
Telegram
- 将
emoji留空会移除 Bot 的表情回应。 remove: true也会移除表情回应,但工具验证仍要求emoji非空。
- 将
emoji留空会移除 Bot 的表情回应。 remove: true会在内部映射为空表情(但工具调用中仍需提供emoji)。- WhatsApp 中每条消息只有一个 Bot 表情回应槽位;发送新的表情回应会替换原有回应,而不会叠加多个表情。
Zalo Personal(zalouser)
- 添加和移除操作均要求
emoji非空。 remove: true会移除该特定表情回应。
Feishu/Lark
- 与其他渠道使用相同的
react操作(通过消息表情回应 ID 添加、移除和列出),而不是使用单独的工具。 - 添加时要求
emoji非空(映射为 Feishuemoji_type,例如SMILE、THUMBSUP、HEART)。 remove: true要求emoji非空,并移除 Bot 自己添加的、与该表情类型匹配的回应。- 将
emoji留空并使用clearAll: true,会移除该消息上 Bot 的所有表情回应。
Signal
- 入站表情回应通知由
channels.signal.reactionNotifications控制:"off"会禁用通知;"own"(默认值)会在用户回应 Bot 消息时发出事件;"all"会为所有表情回应发出事件;"allowlist"则仅为channels.signal.reactionAllowlist中的发送者发出事件。
iMessage
- 出站表情回应使用 iMessage 点回(
love、like、dislike、laugh、emphasize和question);添加表情回应时,emoji必须映射为其中一种类型。 - 使用
remove: true时,如果未指定可识别的点回类型,则会移除所有点回类型;如果指定了可识别的类型,则仅移除该类型。
表情回应级别
每个渠道的 reactionLevel 会限制智能体发送自身
表情回应的频率。可选值:off、ack、minimal 或 extensive。
- Telegram 表情回应通知 -
channels.telegram.reactionLevel(默认值为minimal) - WhatsApp 表情回应级别 -
channels.whatsapp.reactionLevel(默认值为minimal) - Signal 表情回应 -
channels.signal.reactionLevel(默认值为minimal)
相关内容
- Agent Send - 包含
react的message工具 - 渠道 - 渠道特定配置
Was this useful?