多机器人配置
配置多个企业微信机器人的详细指南。
配置方式
方式 1:WECOM_BOTS JSON(推荐)
配置多个机器人最灵活的方式:
json
{
"bot_id": {
"name": "显示名称",
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx",
"description": "AI 上下文的可选描述"
}
}完整示例:
bash
export WECOM_BOTS='{
"default": {
"name": "通用机器人",
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=general",
"description": "用于一般公告"
},
"alert": {
"name": "告警机器人",
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=alert",
"description": "用于系统告警和紧急通知"
},
"ci": {
"name": "CI/CD 机器人",
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ci",
"description": "用于构建、测试和部署通知"
},
"team-frontend": {
"name": "前端团队",
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=frontend",
"description": "前端团队群组"
}
}'powershell
$env:WECOM_BOTS = '{"default": {"name": "通用机器人", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=general"}, "alert": {"name": "告警机器人", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=alert"}, "ci": {"name": "CI/CD 机器人", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ci"}}'方式 2:独立环境变量
对于更简单的设置或无法使用 JSON 时:
bash
# 每个变量从变量名创建一个机器人
export WECOM_BOT_ALERT_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=alert"
export WECOM_BOT_CI_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ci"
export WECOM_BOT_DEVOPS_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=devops"命名规则:
- 模式:
WECOM_BOT_{NAME}_URL {NAME}成为机器人 ID(转换为小写)- 示例:
WECOM_BOT_MY_TEAM_URL→ 机器人 ID:my_team
方式 3:混合配置
将 WECOM_WEBHOOK_URL 与其他方式混合使用:
bash
# 这成为 "default" 机器人
export WECOM_WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=default"
# 额外机器人
export WECOM_BOT_ALERT_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=alert"
export WECOM_BOTS='{"ci": {"name": "CI 机器人", "webhook_url": "https://..."}}'机器人 ID 指南
- 使用小写:机器人 ID 不区分大小写,存储为小写
- 使用描述性名称:
alert、ci、team-frontend比bot1、bot2更好 - 避免特殊字符:只使用字母、数字、连字符和下划线
- 保留 "default":未指定
bot_id时使用default机器人
AI 上下文的描述
description 字段帮助 AI 助手选择正确的机器人:
json
{
"alert": {
"name": "告警机器人",
"webhook_url": "https://...",
"description": "用于系统告警、错误和紧急通知"
},
"ci": {
"name": "CI 机器人",
"webhook_url": "https://...",
"description": "用于构建结果、测试报告和部署状态"
}
}当您要求 AI "发送构建通知"时,它会智能地选择 CI 机器人。
加载优先级
当同一机器人 ID 被多次定义时:
- WECOM_WEBHOOK_URL →
default机器人(首先加载) - WECOM_BOTS → 可以覆盖
default并添加更多 - WECOM_BOT_{NAME}_URL → 仅在未定义时添加
验证
列出所有机器人
问 AI 助手:
有哪些企业微信机器人可用?或使用 Python:
python
from wecom_bot_mcp_server.bot_config import list_available_bots
print(list_available_bots())检查特定机器人
python
from wecom_bot_mcp_server.bot_config import get_bot_registry
registry = get_bot_registry()
if registry.has_bot("alert"):
print("告警机器人已配置")
print(f"URL: {registry.get_webhook_url('alert')}")故障排除
找不到机器人
Error: Bot 'xxx' not found. Available bots: default, alert, ci解决方案:
- 检查机器人 ID 拼写(不区分大小写)
- 验证环境变量已设置
- 重启 MCP 客户端
无效 JSON
Warning: Invalid JSON in WECOM_BOTS解决方案:
- 使用 JSON 验证器验证 JSON
- 检查配置文件中的正确转义
- 在 shell 中使用单引号包裹 JSON 值
空 Webhook URL
Error: Bot 'xxx' has empty webhook_url解决方案:
- 检查 webhook URL 不为空
- 验证 URL 格式正确
- 确保 URL 中没有多余空格
