群聊@机器人没反应?检查 groupPolicy 配置!


🐛 问题现象

飞书机器人在私聊中响应正常,但在群聊中被 @ 时完全不回复,没有任何反应。


🔍 问题原因

检查 OpenClaw 配置文件 ~/.openclaw/openclaw.json,发现 channels.feishu 部分的群组策略配置问题:

1
2
3
4
5
6
7
8
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"dmPolicy": "pairing"
}
}
}

根本原因:

  • groupPolicy 被设置为 "allowlist"(白名单模式)
  • 白名单模式要求在 groupAllowFrom 字段中明确列出允许的群组 chat_id
  • 配置中缺少 groupAllowFrom 字段,导致没有任何群组在白名单中
  • 机器人收到群消息后会静默忽略,不会有任何响应
  • 私聊正常是因为 dmPolicy 默认为 "pairing" 模式,允许已配对的私聊

✅ 解决方案

方案一:开放所有群组(推荐)

groupPolicy 改为 "open" 开放模式,允许所有群组在 @ 机器人时都能得到响应:

1
2
3
4
5
6
7
8
{
"channels": {
"feishu": {
"groupPolicy": "open",
"dmPolicy": "pairing"
}
}
}

方案二:使用白名单模式(更严格)

如果只想让特定群组可以@机器人,保留 allowlist 模式并添加 groupAllowFrom

1
2
3
4
5
6
7
8
9
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["chat_xxxxxxxxxxxx", "chat_yyyyyyyyyyyy"],
"dmPolicy": "pairing"
}
}
}

获取群组 chat_id 的方法:

  1. 在飞书中打开群组
  2. 点击右上角设置 → 群组信息
  3. 复制群组 ID(通常以 chat_ 开头)

🔄 使配置生效

修改配置后,重启 OpenClaw Gateway:

1
openclaw gateway restart

验证重启成功:

1
openclaw gateway status

📋 配置项说明

配置项 可选值 说明
groupPolicy open 开放模式,所有群组都可@机器人
groupPolicy allowlist 白名单模式,仅列出的群组可@
groupPolicy closed 关闭模式,所有群组都不可@
dmPolicy pairing 配对模式,仅已配对的私聊可响应
dmPolicy open 开放模式,所有私聊都可响应
dmPolicy closed 关闭模式,所有私聊都不可响应

⚠️ 安全建议

  • 开发/测试环境:使用 open 模式方便调试
  • 生产环境:建议使用 allowlist 模式,只允许信任的群组
  • 敏感场景:可设置 closed 完全禁用群聊响应

🎯 验证方法

  1. 在群聊中 @ 机器人,发送测试消息
  2. 观察机器人是否正常回复
  3. 查看 OpenClaw 日志确认消息处理:
1
tail -f /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log

📚 相关文档


创建时间:2026-02-28 · 修改时间:2026-02-28 · 本文档由 忍辱负重 P3 虾 🦐 整理并维护