hermes agent接入slack失败主因是应用配置缺失、凭证未注入或事件订阅未启用;需依次完成:创建slack应用并获取xoxb-与xapp-令牌、通过环境变量注入凭证、启用事件订阅并配置https回调地址、在config.yaml中启用slack通知模块并绑定触发事件、执行测试命令验证端到端链路。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您尝试将 Hermes Agent 连接到 Slack,但消息未触发、授权失败或机器人无响应,则可能是由于 Slack 应用配置缺失、凭证未注入或事件订阅未启用。以下是解决此问题的步骤:
一、创建 Slack 应用并获取认证凭证
Slack 要求所有集成必须通过官方 API 控制台创建专用应用,并获取 Bot User OAuth Token 与 App Level Token,二者分别用于消息发送与双向事件通信。未使用正式凭证将导致连接被拒绝或功能受限。
1、访问 https://api.slack.com/apps,点击 “Create New App”,选择 “From scratch” 模式。
2、为应用命名(例如 hermes-slack-gateway),选择目标工作区,点击 “Create App”。
3、进入 “OAuth & Permissions” 页面,在 “Bot Token Scopes” 区域依次添加以下权限:chat:write、channels:read、groups:read、im:read、reactions:write。
4、滚动至页面底部,点击 “Install to Workspace”,在授权弹窗中确认全部权限,安装成功后复制生成的 Bot User OAuth Token(以 xoxb- 开头)。
5、进入 “Settings → Socket Mode”,启用该功能,复制显示的 App Level Token(以 xapp- 开头)。
二、通过环境变量注入 Slack 凭证
Hermes Agent 仅通过运行时环境变量读取 Slack 凭证,硬编码于配置文件或未导出变量将导致初始化失败,且存在密钥泄露风险。必须确保变量在 Agent 启动前已生效。
1、在部署主机上执行命令导出凭证:export SLACK_BOT_TOKEN=xoxb-your-bot-token 与 export SLACK_APP_TOKEN=xapp-your-app-token。
2、验证变量是否加载成功:运行 echo $SLACK_BOT_TOKEN,确认输出为非空字符串。
3、若使用 systemd 托管服务,需编辑 /etc/systemd/system/hermes.service,在 [Service] 段中添加两行:Environment="SLACK_BOT_TOKEN=xoxb-your-bot-token" 与 Environment="SLACK_APP_TOKEN=xapp-your-app-token"。
4、执行 systemctl daemon-reload && systemctl restart hermes 使配置生效。
三、启用事件订阅并配置回调地址
Slack 事件(如 @提及、频道消息、反应添加)必须通过 HTTPS 回调 URL 推送至 Hermes Agent 的内置 Webhook 端点;未启用事件订阅或回调地址不可达将导致消息无法被接收。
1、在 Slack API 控制台左侧菜单中进入 “Event Subscriptions”,将开关切换为 “On”。
Hermes Agent (v0.8.0) 是由 Nous Research 开发的开源自进化 AI 智能体,被誉为“与你共同成长的 Agent”。其核心优势在于内置学习闭环,能从任务中自动提炼技能、持久记忆用户偏好,越用越懂你。该版本聚焦“智能”升级,支持后台任务自动通知、模型实时切换及 MCP OAuth 2.1。它兼容 200+ 主流大模型,支持微信、Telegram 等多平台接入,仅需 5 美元 VPS 即可部署,是提升个人与企业生产力的理想选择。
2、在 “Request URL” 栏填写 Hermes Agent 的公开回调地址,格式为:https://your-domain.com/slack/events;若本地调试,须使用 ngrok http 8000 或类似工具暴露端口并填入生成的 HTTPS 地址。
3、点击 “Subscribe to Workspace Events”,添加以下事件类型:app_mention、message.channels、message.im、reaction_added。
4、滚动至页面底部,点击 “Enable Events” 保存设置。
四、配置通知模块并绑定触发事件
仅启用底层通信不足以触发业务逻辑,必须在 Hermes Agent 配置中显式激活 Slack 通知模块,并声明哪些系统事件应投递至指定频道,否则即使连接成功也不会产生任何推送。
1、编辑主配置文件 config.yaml,定位到 notifications: 节点下。
2、添加 slack: 配置块,设置 enabled: true,并指定目标频道:channel: "#hermes-alerts"(该频道需已在 Slack 中手动创建)。
3、在 events: 列表中声明需触发通知的指标类型,例如:high_cpu_usage、task_failure_rate、memory_threshold_exceeded。
4、保存配置后重启 Hermes Agent 进程,使变更立即生效。
五、验证 Slack 消息投递与响应能力
完成前述配置后,必须通过 CLI 命令或真实交互验证端到端链路是否畅通,避免因签名验证失败、会话隔离未启用或网关未加载导致静默失败。
1、执行命令触发测试消息:hermes notify slack "Test alert from Hermes Agent"。
2、检查 Slack 目标频道是否收到该消息;若未收到,查看 Hermes Agent 日志中是否出现 "Failed to send Slack message" 或 "Invalid signature" 错误。
3、在 Slack 中向机器人发送 @hermes-slack-gateway hello,确认是否返回预期响应;若无响应,检查日志中是否存在 "Event payload rejected: signature verification failed"。
4、确认配置项 session_isolation_by_platform: true 已启用,防止 Slack 与 Discord 等多平台会话混淆。










