Monitoring tells you something broke. Coding agents write patches. Nobody owns the part in between — the tests gate, the human approval, the rollback. Ops Copilot owns it: alert → diagnosis → patch → real test gate → approved deploy → auto-close, or automatic rollback.
git clone https://github.com/skyzhao1223/ops-copilot.git
cd ops-copilot && npm install
npm run demo:live # zero config — mock LLM + throwaway repo
PagerDuty, Keep, Grafana OnCall, Zabbix and Uptime Kuma are excellent at delivering alerts. Then a person starts working — and everything after that is manual.
OpenHands, Claude Code and Cursor can write the fix. What is missing is the gatekeeping: who proves the patch passes tests, who approves the deploy, who rolls back.
Tiered automation instead of promises: human-confirmed by default, tests mandatory, rollback always armed, every step auditable.
Seven gates, all of them real code paths in this repository — not a diagram of intent.
POST /api/incidents/intake, nginx 5xx log scan, or manual entry. Fingerprint dedupe, P1/P2/P3 classification, 30-minute notification suppression, recurrence detection.Unified intake, fingerprint dedupe, automatic P1–P3, 30-min suppression, recurrence reopen, five-state machine, auto-close, assignment.
Feishu, DingTalk, Telegram and Web Push, routed by severity; a failing channel never blocks the repair loop.
Design gate → code → test gate → deploy confirm → background deploy → health check, with retry, rollback and pause/resume.
Swappable adapters: Cursor (external) and a local agent on any OpenAI-compatible gateway, with step progress and patch output.
Runs your real test command and feeds failures back to the agent — up to three rounds. Not bypassable.
Async background deploy, health probe, automatic rollback on failure, escalation to a human.
Framework-free capability catalog across security, ops, architecture, data and delivery — with live probes. Reusable, and usable as a CI gate.
plan → confirm safety policy and production-instance protection. Useful on its own.
Clusters nginx 5xx entries into incidents on a schedule, so alerts can start from logs you already have.
Deliberate non-features: no Next.js, no database, no Kubernetes. Storage is JSON with a file lock and atomic writes; one Node process serves the API and the built UI.
Three pages, one process: alert center, Goal Runner and the project self-check.




npm install npm run demo:live
Built-in mock LLM and a throwaway git repo — no API key, no account, no database.
npm run serve # http://127.0.0.1:8787
Native Node API plus the prebuilt UI in one process.
cp .env.example .env docker compose up -d --build
Listens on 0.0.0.0 in the container, published to host loopback only.
Point it at real infrastructure with LLM_API_KEY + GOAL_RUNNER_WORKDIR,
then enable the gates you trust: GOAL_RUNNER_TEST_ENABLED, GOAL_RUNNER_DEPLOY_ENABLED,
GOAL_RUNNER_ROLLBACK_COMMAND. An optional INCIDENT_INTAKE_SECRET lets monitoring report alerts without holding the admin token.
Star counts as of 2026-10. Each project is excellent at its layer — the gap is the seam.
| Project | Stars | Covers | Gap |
|---|---|---|---|
| Keep | 12.4k | Alert aggregation, dedupe, correlation, enrichment, workflow notifications | Stops at alert → notification; workflows orchestrate external actions, they do not repair code |
| Grafana OnCall | 3.9k | Alert → on-call → escalation → multi-channel notify | Archived (last commit 2026-03); schedules humans, does not fix code |
| OpenHands | 91k | Coding-agent orchestration, webhook and scheduled automation | An agent execution engine: no alert intake, no test/deploy gate |
| Sentry & error trackers | — | Error collection, clustering, AI summaries | Collect and summarise, never repair |
| Prometheus / Zabbix / Uptime Kuma | — | Metrics and availability monitoring | Alert only — no agent, no repair |
83 unit tests across 14 files; the self-check engine reports capability state by category and drives the same result through UI, CLI and HTTP.
Four runtime dependencies (AWS SDK), one process, JSON storage. Clone it on a laptop and understand it in an afternoon.
Use it, fork it, ship it internally. Issues and PRs welcome — including new agent adapters and monitoring integrations.