Slack 比 Discord 或 Telegram 需要多点一点,但流程是线性的。你需要一个有权限安装 app 的 Slack 工作区。
1. 创建 app
- 去 api.slack.com/apps → Create New App → From scratch。
- 起名字(例如你的智能体名)。
- 选你的工作区 → Create App。
2. 启用 Socket Mode
Socket Mode 让 bot 通过 WebSocket 连接 —— 不需要公开的 HTTPS endpoint。
- 左侧边栏 → Socket Mode → 打开 Enable Socket Mode。
- 提示时,创建一个 scope 为
connections:write的 App-Level Token。 - 复制 token —— 以
xapp-…开头。存好。
3. 添加 bot scope
- 左侧边栏 → OAuth & Permissions。
- 滚到 Bot Token Scopes,添加:
app_mentions:readchat:writechannels:historyim:historyim:write
4. 启用事件订阅
- 左侧边栏 → Event Subscriptions → 打开 Enable Events。
- 在 Subscribe to bot events 下,添加
app_mention和message.im。 - Save changes。
5. 安装到工作区
- 左侧边栏 → Install App → Install to Workspace → Allow。
- 复制 Bot User OAuth Token —— 以
xoxb-…开头。存好。
6. 运行 sento init
npx sentoagent init
选 Slack。在提示时粘贴两个 token:
SLACK_APP_TOKEN=xapp-…SLACK_BOT_TOKEN=xoxb-…
访问控制
~/.claude/channels/slack/access.json:
{
"dmPolicy": "allowlist",
"allowFrom": ["U01ABCD1234"],
"groups": {
"C01EFGH5678": { "requireMention": true, "allowFrom": [] }
}
}
allowFrom存 Slack 用户 ID(以U开头)。groups的键是频道 ID(公开频道以C开头,私密的以G)。
常见坑
- DM 里没响应:
im:history和im:writescope 没加。加上然后重装 app。 - 被 @ 时没响应:
app_mentions:read没加,或者没订阅app_mention事件。 not_allowed_token_type错误:你把 token 顺序搞反了 ——xapp是 app token,xoxb是 bot token。