为什么需要
Slack 是海外团队事实上的工作沟通工具——从硅谷初创到 Fortune 500,每天有数百万团队在 Slack 里讨论需求、做决策、跟踪 issue。出海产品的客户基本都跑在 Slack 上,怎么把 AI 嵌进他们的工作流就成了独立开发者绕不开的事。
Anthropic 官方有「Claude in Slack」,但它是闭源商业服务,按 seat 计费、订阅价格高、无法自定义系统提示词、用户数据走 SaaS 厂商。OpenTag 给的是开源、自托管、自带模型的 Slack AI Agent,定位就是「Claude in Slack 的开源替代」——你拥有 runtime、模型和工具链,不被任何供应商锁定。
怎么用
1. 创建 Slack App
在 api.slack.com/apps 选 From a manifest,粘贴仓库里的 slack-app-manifest.yaml,获取 Bot User OAuth Token(xoxb-…)和 App-Level Token(xapp-…)。
2. 配置三个环境变量
cp .env.example .env
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
OPENAI_API_KEY=sk-... # 或 ANTHROPIC_API_KEY,自带模型
3. 从 CopilotKit monorepo 启动
git clone https://github.com/CopilotKit/CopilotKit
cd CopilotKit
pnpm install
pnpm --filter slack-example runtime # 启动 agent 后端,监听 :8200
pnpm --filter slack-example dev # 启动 Slack 机器人
4. 在 Slack 频道 @ 机器人
@OpenTag 把这个线程总结一下,归档成 bug
机器人就会读取线程、调用你接入的工具,生成结构化响应。整个循环跑完。
如果想让机器人接入 Linear、Notion、内嵌图表或 Redis 持久化,看 setup.md。
使用案例
客服自动化的海外 SaaS
出海产品每天有 100+ Slack 消息来自客户问询。配置 OpenTag 机器人读取客户线程,自动调用内部 API 查订单状态、起草回复、生成带图表的退款说明草稿。涉及金额 > $50 的动作自动进入人工审批门(点 Approve 按钮才会真正发出去)。原本两个人处理的客服消息,现在一人加一个 agent 就能 cover。
PST 时区的远程团队日报
团队每天早上 9 点 PST 自动让 OpenTag 抓前 24 小时所有 channel 线程,调用 LLM 总结成 200 字日报,写回 #daily 频道。员工每天开 Slack 就看到摘要,不需要逐个 thread 翻。
注意事项
- 许可:MIT 协议,完全开源
- 部署:自托管,需要 Node.js 18+ 和 pnpm
- 状态:Bot SDK 包尚未发布到 npm,需要从 CopilotKit monorepo 启动;独立部署门槛较高,适合能跑 monorepo 的开发者
- 运维:runtime 和 bot 两个进程分开跑,需要自己处理重启、监控和日志聚合
- 替代方案:不想运维的独立开发者可以等 CopilotKit 即将推出的 managed 服务(waitlist),云上或自有 infra 都能托管