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机器人, 事故响应, 逆向工具