feat(feishu): add require_mention and free_response_chats config for group messages

Align Feishu platform with other messaging platforms (Telegram, Discord,
WhatsApp) by introducing a configurable mention requirement for group
messages.

- Add 'require_mention' config (default: true) to control whether
  group messages must @mention the bot to trigger processing.
- Add 'free_response_chats' config to whitelist specific group chats
  that bypass both mention and user allowlist checks.
- Support both YAML config (feishu.require_mention,
  feishu.free_response_chats) and env vars (FEISHU_REQUIRE_MENTION,
  FEISHU_FREE_RESPONSE_CHATS).
- Update gateway config loader to map free_response_chats from YAML
  to platform extra dict.
- Update tests to cover new mention bypass and free-response chat
  scenarios.
This commit is contained in:
Ming 2026-04-24 17:53:21 +08:00
parent 4350668ae4
commit 7eb2761b54
4 changed files with 57 additions and 18 deletions

View file

@ -40,6 +40,7 @@ _EXTRA_ENV_KEYS = frozenset({
"SIGNAL_ALLOWED_USERS", "SIGNAL_GROUP_ALLOWED_USERS",
"DINGTALK_CLIENT_ID", "DINGTALK_CLIENT_SECRET",
"FEISHU_APP_ID", "FEISHU_APP_SECRET", "FEISHU_ENCRYPT_KEY", "FEISHU_VERIFICATION_TOKEN",
"FEISHU_REQUIRE_MENTION", "FEISHU_FREE_RESPONSE_CHATS",
"WECOM_BOT_ID", "WECOM_SECRET",
"WECOM_CALLBACK_CORP_ID", "WECOM_CALLBACK_CORP_SECRET", "WECOM_CALLBACK_AGENT_ID",
"WECOM_CALLBACK_TOKEN", "WECOM_CALLBACK_ENCODING_AES_KEY",