Slack 比 Discord 或 Telegram 需要多点一点,但流程是线性的。你需要一个有权限安装 app 的 Slack 工作区。

1. 创建 app

  1. api.slack.com/appsCreate New AppFrom scratch
  2. 起名字(例如你的智能体名)。
  3. 选你的工作区 → Create App

2. 启用 Socket Mode

Socket Mode 让 bot 通过 WebSocket 连接 —— 不需要公开的 HTTPS endpoint。

  1. 左侧边栏 → Socket Mode → 打开 Enable Socket Mode
  2. 提示时,创建一个 scope 为 connections:writeApp-Level Token
  3. 复制 token —— 以 xapp-… 开头。存好。

3. 添加 bot scope

  1. 左侧边栏 → OAuth & Permissions
  2. 滚到 Bot Token Scopes,添加:
    • app_mentions:read
    • chat:write
    • channels:history
    • im:history
    • im:write

4. 启用事件订阅

  1. 左侧边栏 → Event Subscriptions → 打开 Enable Events
  2. Subscribe to bot events 下,添加 app_mentionmessage.im
  3. Save changes。

5. 安装到工作区

  1. 左侧边栏 → Install AppInstall to WorkspaceAllow
  2. 复制 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:historyim:write scope 没加。加上然后重装 app。
  • 被 @ 时没响应:app_mentions:read 没加,或者没订阅 app_mention 事件。
  • not_allowed_token_type 错误:你把 token 顺序搞反了 —— xapp 是 app token,xoxb 是 bot token。