在群组里用 AI 助手,最大的挑战是: AI 什么时候发言,什么时候保持沉默? 本文从配置到设计思路,讲清楚群消息的正确用法。
群消息触发方式
方式一:requireMention(@ 触发,推荐)
只有 @ Bot 才触发 AI 回复,不打扰正常群聊:
{
"groups": {
"default": {
"requireMention": true
}
}
}群成员:@openclaw-bot 帮我查一下这个 API 文档
Bot:根据文档,这个 API 的参数是...
群成员:今天午饭吃什么(普通聊天,Bot 不回复)
方式二:commandPrefix(命令前缀触发)
消息以特定前缀开头才触发:
{
"groups": {
"default": {
"commandPrefix": "!ai"
}
}
}!ai 翻译这段英文 → Bot 翻译
普通消息 → Bot 静默
方式三:respondToAll(响应所有消息)
适合专用 AI 频道(如 #ai-assistant):
{
"groups": {
"my-special-channel-id": {
"respondToAll": true
}
}
}⚠️ 不推荐在日常群组中开启,会占满对话空间。
各渠道群组配置
Telegram 群组
{
"channels": {
"telegram": {
"groups": {
"-1001234567890": {
"requireMention": true,
"allowedUsers": ["123456789", "987654321"]
}
}
}
}
}获取 Telegram 群组 ID:把 Bot 加入群组,发消息后查看日志中的 chatId。
Discord 服务器/频道
{
"channels": {
"discord": {
"groups": {
"channel-id-123456": {
"requireMention": false,
"commandPrefix": "?",
"allowedRoles": ["admin", "moderator"]
}
}
}
}
}Discord 支持按**角色(Role)**限制权限,更符合服务器管理习惯。
Slack 频道
{
"channels": {
"slack": {
"groups": {
"C0123456789": {
"requireMention": true,
"threadMode": "thread"
}
}
}
}
}threadMode: "thread":AI 回复在线程内,不占用主频道空间。
WhatsApp 群组
{
"channels": {
"whatsapp": {
"groups": {
"120363xxxxxx@g.us": {
"requireMention": true,
"allowedNumbers": ["+8613800138000"]
}
}
}
}
}响应限速(防刷屏)
多人群组中,限制相邻两次 AI 回复的最短间隔:
{
"groups": {
"default": {
"cooldown": 10,
"cooldownMessage": "AI 正在冷却中,请稍等..."
}
}
}用户触发限速时会看到 cooldownMessage,
避免 Bot 被人刷导致 API 费用激增。
成员白名单与黑名单
{
"groups": {
"my-group-id": {
"allowedUsers": ["user1", "user2"],
"blockedUsers": ["spammer-id"]
}
}
}allowedUsers:只有这些用户才能触发 AIblockedUsers:这些用户的消息直接忽略- 不设置时:所有群成员都能触发(在 requireMention 限制下)
群组记忆与上下文
群组 Session 的上下文管理:
{
"groups": {
"default": {
"sessionScope": "per-thread",
"maxContextMessages": 20
}
}
}"per-thread":每个线程独立会话(推荐,防止上下文污染)"per-group":整个群组共享会话(所有对话都在一个上下文里)"per-user":每个用户在群里有独立会话
多 Bot 协同配置
一个群组里,不同 Bot 负责不同领域:
群组:#engineering
@devbot 帮我 review 这段代码 → Claude Code Agent(专注编程)
@docsbot 更新一下 API 文档 → Docs Agent(专注文档)
@monitorbot 服务器状态怎么样? → Ops Agent(专注运维)
配置方案:
{
"routing": {
"rules": [
{
"channel": "slack",
"groupId": "C-engineering",
"mentionedBot": "devbot",
"agent": "code-reviewer"
},
{
"channel": "slack",
"groupId": "C-engineering",
"mentionedBot": "docsbot",
"agent": "doc-writer"
}
]
}
}AI 在群组里的礼貌设计
在 SOUL.md 中配置群组行为规范:
# SOUL.md — 群组行为规范
## 什么时候发言
- 被直接 @ 提问
- 有明确的任务需要我处理
- 需要纠正错误信息
## 什么时候沉默
- 普通日常聊天(不涉及需要 AI 处理的内容)
- 别人在聊我不了解的私事
- 话题已经被人工解答了
- 我的回复只会是「好的」「明白」这类无意义内容
## 群组回复格式
- 控制在 200 字以内(群组不适合长篇大论)
- 直接回答,不废话
- 长内容用线程/链接形式,不刷屏来源:OpenClaw 官方文档 - docs.openclaw.ai/channels/group-messages