Claude Code 现在可以集成到 Slack 工作空间里——团队成员可以在 Slack 频道或 DM 里直接触发 Claude Code 任务、提问代码问题、让 Claude 修改代码并提交 PR,全程不需要打开终端。
Slack 集成能做什么?
核心能力:
- 代码问答:在 Slack 里问关于代码库的问题,Claude 直接回答
- 任务执行:让 Claude 修改代码、运行测试、提交 PR
- 代码审查:把 PR 链接发给 Claude,让它做 Code Review
- CI/CD 通知:连接 CI 失败通知,让 Claude 自动分析和修复
- 团队协作:不同团队成员用不同权限级别触发不同类型的任务
安装和配置
前提条件
- Claude Code 企业账户或 API 访问权限
- Slack 工作空间的管理员权限
- 已配置的代码仓库(GitHub/GitLab)
安装步骤
方式一:通过 Claude Code 文档
访问 Claude Code 文档 - Slack 集成,按照向导操作:
- 点击 "Add to Slack"
- 选择要授权的工作空间
- 选择允许 Claude Code 访问的频道
- 配置代码仓库连接
方式二:通过 Claude Code CLI
bash
# 登录并开始配置
claude auth slack --workspace your-workspace.slack.com
# 按照提示完成 OAuth 授权基础使用
在 Slack 里@呼叫 Claude
在任何允许的频道里:
@ClaudeCode 这个函数的时间复杂度是多少?
[附上代码片段]
@ClaudeCode 帮我查一下 src/api/users.ts 里的 getUserById 函数是怎么处理错误的?
触发代码修改任务
@ClaudeCode 请修复 #456 这个 Bug,提一个 PR
@ClaudeCode 把 src/components/ 里所有的 class 组件改成 function 组件,保持 API 不变
发起代码审查
@ClaudeCode 帮我审查一下这个 PR:https://github.com/myorg/myrepo/pull/789
重点关注安全性和性能
权限控制
按频道设置权限
在 .claude/slack-settings.json 里配置:
json
{
"slack": {
"channels": {
"#dev-team": {
"permissions": ["read", "write", "execute", "pr"],
"allowedUsers": ["@dev-team-lead", "@senior-engineers"]
},
"#general": {
"permissions": ["read"],
"allowedUsers": "*"
},
"#ci-alerts": {
"permissions": ["read", "execute"],
"autorespond": true
}
}
}
}权限说明:
read:可以读取代码库、回答问题write:可以修改文件execute:可以运行命令(测试、构建等)pr:可以创建和修改 PR
人工审批工作流
对于危险操作(删除文件、强制推送等),配置必须经过人工审批:
json
{
"slack": {
"approvalRequired": {
"operations": ["delete", "force-push", "deploy"],
"approvers": ["@tech-lead", "@engineering-manager"],
"timeout": 3600
}
}
}Claude 会在 Slack 里发送待审批消息,审批人点击按钮确认或拒绝。
CI/CD 集成:自动修复失败的 CI
设置 CI 失败自动触发
yaml
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run tests
run: npm test
# CI 失败时发送到 Slack,自动让 Claude 分析
- name: Notify Claude on failure
if: failure()
run: |
curl -X POST ${{ secrets.CLAUDE_SLACK_WEBHOOK }} \
-H "Content-Type: application/json" \
-d '{
"action": "analyze_failure",
"run_id": "${{ github.run_id }}",
"pr_number": "${{ github.event.pull_request.number }}",
"channel": "#ci-alerts"
}'Claude 会:
- 拉取失败日志
- 分析失败原因
- 在
#ci-alerts频道发送分析结果 - 如果有把握,提出修复方案
- 等待确认后执行修复
团队使用场景
场景一:技术支持快速响应
# 客服团队在 #tech-support 频道:
客服: "用户反映登录一直失败,是我们的问题吗?"
@ClaudeCode 分析一下过去 1 小时的登录错误日志,
看看是否有异常模式?
场景二:新人快速上手
# 新工程师在 #onboarding 频道:
新人: 我对 API 层的代码结构不太理解
@ClaudeCode 能解释一下 src/api/ 的整体架构吗?
为什么有些接口用了 middleware/auth.ts 而有些没有?
场景三:产品经理提需求
# 在 #product-dev 频道:
PM: 能在用户详情页加一个"最近登录时间"吗?
@ClaudeCode 按照 PM 的需求,在用户详情页加"最近登录时间",
包括后端 API 和前端显示,提一个 PR 让我们审查
场景四:紧急修复
# 凌晨 2 点,生产告警触发 #incidents 频道:
系统: 🚨 支付失败率从 0.1% 上升到 15%
@ClaudeCode 分析这个告警,
找出可能的原因,给出紧急修复方案
安全最佳实践
- 最小权限原则:给每个频道只分配必需的权限
- 审批机制:对生产相关操作强制人工审批
- 审计日志:所有 Claude 操作记录到
.claude/slack-audit.log - 频道隔离:不要在公开频道开启
write或execute权限 - 定期审查:每月检查权限配置是否仍然合理
来源:Claude Code Slack 集成文档 | 整理:ClaudeEagle