跳转到内容

反应

Agent 可以使用 message 工具的 react 操作在消息上添加和移除表情符号反应。反应行为因渠道和传输而异。

{
"action": "react",
"messageId": "msg-123",
"emoji": "thumbsup"
}
  • 添加反应时需要 emoji
  • emoji 设置为空字符串 ("") 以移除 Bot 的反应。
  • 设置 remove: true 以移除特定的表情符号(要求 emoji 非空)。
  • 在支持状态反应的渠道上,反应上的 trackToolCalls: true 允许运行时在同一回合内的后续工具进度反应中使用该已反应的消息。
DiscordDiscord 和 Slack
  • 空的 emoji 会移除消息上所有 Bot 的反应。
  • remove: true 仅移除指定的表情符号。
Google Chat
  • 空的 emoji 会移除消息上应用 的反应。
  • remove: true 仅移除指定的表情符号。
Nextcloud Talk
  • 仅支持添加反应:emoji 是必需的,且必须非空。
  • 尚不支持移除反应;带有 remove: true(或空的 emoji)的调用将被明确拒绝并报错,而不是静默无操作。
  • 需要将 Talk Bot 注册到 reaction 功能(参见 Nextcloud Talk 渠道文档)。
Telegram
  • 空的 emoji 会移除 Bot 的反应。
  • remove: true 也会移除反应,但仍要求 emoji 非空以便通过工具验证。
WhatsAppWhatsApp
  • 空的 emoji 会移除机器人反应。
  • remove: true 在内部映射为空表情符号(在工具调用中仍需要 emojiWhatsApp)。
  • WhatsApp 每条消息只有一个机器人反应槽;状态反应更新会替换该槽位,而不是堆叠多个表情符号。
ZaloZalo Personal (zalouser)
  • 需要非空的 emoji
  • remove: true 会移除该特定的表情符号反应。
Feishu/Lark
  • 使用 feishu_reaction 工具以及操作 addremovelist
  • 添加/移除需要 emoji_type;移除还需要 reaction_id
SignalSignal
  • 入站反应通知由 channels.signal.reactionNotifications 控制:"off" 禁用它们,"own"(默认)在用户对机器人消息做出反应时发出事件,而 "all" 对所有反应发出事件。
iMessageiMessage
  • 出站反应是 iMessage 点回(lovelikedislikelaughemphasizequestion)。
  • 入站点回通知由 channels.imessage.reactionNotifications 控制:"off" 禁用它们,"own"(默认)在用户对机器人创建的消息做出反应时发出事件,而 "all" 对来自授权发件人的所有点回发出事件。

reactionLevel 的配置控制 agent 使用反应的广泛程度。值通常为 offackminimalextensive

在各个渠道上设置 reactionLevel,以调整 agent 在每个平台上对消息做出反应的活跃程度。