Your CI tells you it broke, but not why or how to fix it. OpenSRE is a CLI agent that reads the failed run, traces the cause and pushes a fix for you to review. Self-hosted, with your own models.
Quickstart · Docs · FAQ · Security
🚧 Public Alpha: Core workflows are usable for early exploration, though not yet fully stable. The project is in active development, and APIs and integrations may evolve.
Make sure you have:
- A terminal open in a code project
- A Git repository (recommended for the full workflow demonstration)
macOS or Linux:
curl -fsSL https://install.opensre.com | bash -s -- -ghWindows (PowerShell):
& ([scriptblock]::Create((irm https://install.opensre.com/install.ps1))) -ghThen start OpenSRE:
opensreWindows details: Windows.
The installer fetches the latest build from main without requiring sudo. If opensre is not found, follow the PATH instructions printed by the installer or open a new terminal.
For supported platforms and troubleshooting, see Install locally.
- Before you begin
- Install and start opensre
- Why OpenSRE?
- Quick Start
- Deployment
- How OpenSRE Works
- Integrations
- Security
- Telemetry
- License
- Citations
AI writes more of the code every month. Someone still has to fix the build.
When CI goes red, it tells you that something failed, not why or how to fix it. Under deadline pressure, teams hit re-run and move on, flaky checks pile up, main stays red, and the real investigation waits for whichever senior engineer has time. OpenSRE is an open-source CI/CD reliability agent that does that investigation for you, built to run on your own infrastructure with your own models:
- Recover from red builds faster: it investigates the moment a run fails, reading logs, testing hypotheses and pushing a fix for you to review
- Fix the cause, not just the rerun: it separates CI-caused failures from code-caused ones, so you fix the right thing
- Know what CI is costing you: failure rate, developer hours lost to unreliable CI, and how long
mainstays red - Senior-level context for everyone: every engineer gets the same depth of analysis
SWE-bench1 showed that agents improve fastest with realistic tasks and clear feedback. Pipeline failures are slower, noisier and harder to reproduce than local code tasks, so we hold OpenSRE to the same standard by:
- running real-world end-to-end tests across cloud-backed scenarios (tests/e2e)
- keeping semantic test-catalog naming so e2e vs unit and local vs cloud boundaries stay obvious (tests/README.md)
Start with the CI/CD overview: analyze a repository's CI reliability, fix failing checks on a PR, or set up an agent that keeps CI green.
1 https://arxiv.org/abs/2310.06770
Contributors: start at main.py for the process entrypoint map.
Run opensre to sign in and get started. The first launch activates the hosted model.
opensreWebapp contributors can run opensre setup --dev to authenticate through http://localhost:3000.
Interactive shell — with no subcommand, opensre validates your account and starts a REPL (TTY required). You can exit and stay signed out, but the shell only opens for an active account. Describe incidents in plain language, watch the agent work, and use slash commands for session control (/help, /status, /cost, /sessions, /resume, /compact, /new, /exit) and integrations (/integrations list, /integrations verify). Ctrl+C cancels an in-flight turn without losing session state. See interactive shell commands for the full reference.
Headless CLI — run one agent turn non-interactively from a terminal, script, or CI job:
opensre ask "why is checkout-api slow?"See Headless CLI for stdin prompts, JSON output, and tool approvals.
From Python — drive the agent in-process from your own code (source checkout required):
from bootstrap.embedded import start_embedded_session
session = start_embedded_session()
result = session.chat("why is checkout-api slow?")
if result.answered:
print(result.primary_response_text)See Python API for sessions, conversations, and custom output sinks.
For your team's daily loop: embed OpenSRE in the Python services and automations your teammates already use. Start with the in-repo Python API guide, then use it every day to make incident response repeatable.
Other useful commands:
opensre integrations setup
opensre update
opensre uninstall # remove opensre and all local dataAn OpenSRE Cloud managed gateway, an AWS EC2 path, and a general self-hosted option:
- OpenSRE Cloud managed gateway: an organization admin provisions it in the web app; signed-in shell users can check, start, or stop it without handling infrastructure credentials locally.
- Gateway (AMI + systemd):
make build-gateway-imagethenmake deploy-gateway— Telegram gateway only, no Docker; the gateway is installed into a server image that new servers start from. - Self-hosted container (Railway / ECS / Vercel): deploy the repo
Dockerfile, selectMODE, and setLLM_PROVIDERplus its API key. UseDATABASE_URLonly when the gateway needs shared Postgres-backed state, such as Slack Events API replicas.
Full deployment steps and prerequisites → DEPLOYMENT.md
When a CI run fails, an alert arrives, or you ask a question, OpenSRE automatically:
- Fetches the relevant context: failing checks and CI logs, recent commits and deploys, and correlated logs, metrics and traces
- Masks sensitive identifiers (optional) before external LLM calls
- Reasons across your connected systems to test hypotheses in a tool-calling loop, separating CI-caused failures from code-caused ones
- Answers with an evidence-linked response in the conversation
- Fixes the cause and pushes it to the PR branch for you to review, or suggests next steps and, optionally, executes remediation actions
- Posts a summary directly to Slack, PagerDuty, or Telegram — no context switching needed
For the current code-level agent architecture after removing the old graph and chain framework layers, see AGENTS.md.
OpenSRE connects to 60+ tools and services across the modern cloud stack, from LLM providers and observability platforms to infrastructure, databases, and incident management.
| Category | Integrations | Roadmap |
|---|---|---|
| AI / LLM Providers | Anthropic · OpenAI · OpenAI Codex · Ollama · Google Gemini · OpenRouter · TrustedRouter · NVIDIA NIM · Bedrock | |
| Observability | ||
| Infrastructure | ||
| Database | MongoDB · ClickHouse · PostgreSQL · MySQL · MariaDB · MongoDB Atlas · Azure SQL · Snowflake · Redis · RDS · Supabase | |
| Data Platform | Apache Airflow · Apache Kafka · Prefect · RabbitMQ · Dagster · Temporal | |
| Dev Tools | ||
| Incident Management | Linear | |
| Communication | Notion · Teams · Confluence | |
| Agent Deployment | ||
| Protocols |
OpenSRE is community-built. Looking for a safe first contribution? Browse good first issue tickets or see the Good First Issues guide. See CONTRIBUTING.md for the full workflow.
Local environment: SETUP.md (all platforms, Windows, MCP).
Developing in this repo: docs/DEVELOPMENT.md (install from source, CI parity checks, dev container, deployment detail, telemetry reference).
Thanks goes to these amazing people:
OpenSRE is designed with production environments in mind: structured and auditable LLM prompts, local transcript handling by default, and no silent bulk export of raw logs. See SECURITY.md for responsible disclosure.
First-party product analytics and Sentry (errors) are opt-out. Quick disable:
export OPENSRE_NO_TELEMETRY=1Full matrix, DSN override, and local event logging → docs/DEVELOPMENT.md
Apache 2.0 — see LICENSE.

