AppZ3/slackops-agent
GitHub: AppZ3/slackops-agent
一款集成于 Slack 的 AI 驱动 DevOps 事件响应代理,能自动分析告警严重程度并联动 GitHub、Jira、PagerDuty 等工具执行响应动作。
Stars: 0 | Forks: 0
# SlackOps Agent
面向 Slack 的 AI 驱动 DevOps 事件响应工具 —— 为 Slack Agent Builder Challenge 而构建。
## 功能简介
SlackOps Agent 会监控你的 Slack 工作区中的事件警报,并在 60 秒内自动响应:
1. **检测** -- 监控 `#incidents` 和 `#alerts` 频道中的关键词(outage、spike、error、degraded)
2. **分析** -- Claude Sonnet 分析严重程度(P1-P4),识别受影响的服务,并选择正确的响应措施
3. **行动** -- 执行 MCP 工具:在 GitHub 中搜索相关的 PR,创建 Jira ticket,通过 PagerDuty 呼叫值班工程师,更新状态页
4. **响应** -- 发布结构化的话题回复,包含所有已执行的操作和相关链接
## 演示(无需 Slack 凭据)
```
pip install anthropic
python src/slackops_agent.py
```
输出:
```
Alert: API gateway latency spike to 8s (p99) in production
Severity: P1
Service: api-gateway
[search_github_issues]: Found 2 related PRs: #4521 'Add rate limiting' (merged 2h ago)
[create_jira_ticket]: Created ticket INC-4821 in Jira
[page_oncall]: Paged on-call engineer @alice via PagerDuty
[update_status_page]: Status page updated: 'Investigating API performance issues'
```
## Slack App 设置(实时模式)
```
pip install slack-bolt anthropic
export SLACK_BOT_TOKEN=xoxb-... # Bot User OAuth Token
export SLACK_APP_TOKEN=xapp-... # App-Level Token (Socket Mode)
export ANTHROPIC_API_KEY=sk-ant-... # Anthropic API key
python src/slackops_agent.py
```
机器人会对以下内容做出响应:
- `@SlackOps alert: ` -- 完整的事件分析与响应
- 在事件/警报频道中,任何包含 "alert"、"incident"、"outage"、"down"、"error"、"spike"、"degraded" 的消息
## 架构
```
Slack Event (alert mention or keyword in #incidents)
-> Slack Bolt app (Python, Socket Mode)
-> Claude Sonnet analyzes severity + service
-> MCP tool selection:
* search_github_issues -- find related PRs
* create_jira_ticket -- track the incident
* page_oncall -- notify engineer via PagerDuty
* update_status_page -- external communication
* resolve_incident -- close loop when fixed
-> Structured thread reply in Slack
```
## Agent 类型
**Coded Agent** -- `src/slackops_agent.py` 中的核心循环直接使用 Claude 的 API 输出结构化的 JSON。工具执行由 `execute_tools()` 函数处理。Agent 会根据事件分析决定调用哪些工具以及调用顺序 —— 它不是脚本化的。
## UiPath 组件
不适用 —— 这是一个 Slack Agent Builder 的提交项目。使用的 Slack 技术:
- Slack Bolt (Python) -- 事件处理和 Socket Mode
- Slack Events API -- `app_mention` + message 事件
- Slack Slash Commands(计划中)
## MCP 工具
| 工具 | 描述 |
|---|---|
| `search_github_issues` | 根据服务 + 关键词查找相关的 PR 和 issue |
| `create_jira_ticket` | 在 Jira Cloud 中创建 P1-P4 事件 ticket |
| `page_oncall` | 为值班工程师触发 PagerDuty 警报 |
| `update_status_page` | 发布状态更新(Statuspage.io) |
| `resolve_incident` | 关闭 ticket,更新状态,发布摘要 |
## 交互示例
```
User: @SlackOps alert: checkout service returning 500s for all users
SlackOps: 🚨 P1 Incident Detected
> Service: checkout-service
> Creating Jira ticket, paging on-call, updating status page...
Actions taken:
• Found 1 related PR: #4521 'Add cart session handling' (merged 45m ago)
• Created ticket INC-4822 in Jira
• Paged on-call engineer @bob via PagerDuty
• Status page updated: 'Investigating checkout errors'
```
## 赛道
**Slack Agent for Organizations** -- 企业级 DevOps 自动化
## 环境要求
- Python 3.11+
- `pip install slack-bolt anthropic`
- Slack Developer Program 账号(免费):https://api.slack.com/developer-program
- Anthropic API 密钥
标签:AIOps, Claude, CVE检测, Slack机器人, 事故响应, 逆向工具