Reactions(反应)工具允许代理对消息添加、删除emoji反应,各平台行为略有不同。
概述
反应工具使代理能够通过emoji与用户进行非文本交互,提供快速反馈和状态指示。
基本用法
{
"tool": "reaction",
"emoji": "👍"
}
删除反应
# 方法1: 清空emoji
{
"tool": "reaction",
"emoji": ""
}
# 方法2: 使用remove参数
{
"tool": "reaction",
"emoji": "👍",
"remove": true
}
平台差异
Discord / Slack
- 支持所有标准emoji
- 支持自定义emoji
emoji=""删除机器人的所有反应remove: true仅删除指定的emoji
Google Chat
- 支持标准emoji
- 反应可能有延迟
- 删除反应功能有限
Telegram
- 支持Telegram反应集
- 使用Telegram emoji代码
- 反应立即显示
- 支持基本emoji反应
- 每条消息仅一个反应
- 新反应会覆盖旧反应
Signal
- 支持标准emoji
- 反应需要确认
- 删除反应可能需要时间
常见Emoji
| Emoji | 含义 | 使用场景 |
|---|---|---|
| ✅ | 完成 | 任务成功完成 |
| ❌ | 错误 | 操作失败 |
| ⏳ | 处理中 | 长时间任务进行中 |
| 👀 | 已查看 | 确认收到消息 |
| 🤔 | 思考中 | 正在分析问题 |
| ⚠️ | 警告 | 需要注意 |
| 💾 | 保存 | 数据已保存 |
使用场景
任务状态指示
# 开始任务
{"tool": "reaction", "emoji": "⏳"}
# 任务完成
{"tool": "reaction", "emoji": "✅"}
# 任务失败
{"tool": "reaction", "emoji": "❌"}
用户反馈
# 确认收到
{"tool": "reaction", "emoji": "👀"}
# 表示赞同
{"tool": "reaction", "emoji": "👍"}
# 表示否定
{"tool": "reaction", "emoji": "👎"}
多阶段任务
# 阶段1: 开始
{"tool": "reaction", "emoji": "1️⃣"}
# 阶段2: 进行中
{"tool": "reaction", "emoji": "2️⃣"}
# 完成
{"tool": "reaction", "emoji": "✅"}
配置
{
"tools": {
"reaction": {
"enabled": true,
"defaultTimeout": 5000,
"retryOnFailure": true
}
}
}
最佳实践
- 使用通用的、易理解的emoji
- 保持反应的一致性
- 及时移除过时的反应
- 避免过度使用反应
- 考虑不同平台的兼容性
错误处理
- 不支持的emoji: 尝试使用标准emoji
- 权限不足: 检查机器人权限
- 消息不存在: 确保消息ID有效
- 平台限制: 遵守平台的反应规则
高级用法
条件反应
{
"tool": "reaction",
"emoji": result === "success" ? "✅" : "❌"
}
批量反应
// 依次添加多个反应
["⏳", "🔄", "✅"].forEach(emoji => {
{"tool": "reaction", "emoji": emoji}
})
提示
反应是一种轻量级的交互方式,可以在不发送新消息的情况下提供即时反馈,改善用户体验。