v2026.09.03 · Apache-2.0 · open source

Auditable operations for multi-agent incident response

OpsKeeper closes the loop between alert, evidence, root-cause analysis, human approval, narrowly authorized recovery, independent verification, and post-incident learning. Mutating actions never run without a proposal, a human approver, and an audit record.

Safety by default Hash-chained audit Postgres + Qdrant 7 worker roles
install · local stack
# Worker plugin — install from the AgentTeams Dashboard
# (hot-deploy: qwenpaw plugin install <path> --force)

# Or run the stdio MCP proxy directly for any worker
cd plugins/opskeeper-teamharness
OPSKEEPER_BACKEND_URL=http://localhost:8080 \
OPSKEEPER_GATEWAY_KEY="$GATEWAY_KEY" \
python3 mcp/server.py
7
Operational worker roles
8
Closed-loop phases
4
Reproducible incident scenarios
100%
Audit replay coverage
Built on the open-source stack you already run
PostgreSQL
Qdrant
Kubernetes
Prometheus
Loki
Tempo
Grafana
OpenTelemetry
Nacos
MCP
HMAC
W3C Traceparent
PostgreSQL
Qdrant
Kubernetes
Prometheus
Loki
Tempo
Grafana
OpenTelemetry
Nacos
MCP
HMAC
W3C Traceparent
The closed loop

Eight phases. Every transition is durable.

OpsKeeper runs incidents through an explicit state machine. Each phase is an append-only ledger event, each transition has a defined guard, and the loop is replayable from scratch.

phase 01
Detected
Multi-source alert intake + semantic dedup
phase 02
Correlated
Cross-source grouping and de-duplication
phase 03
Investigated
Read-only causal-chain root-cause tracing
phase 04
Critiqued
Peer audit of the RCA evidence chain
phase 05
Approved
Human-in-the-loop on a pending proposal
phase 06
Recovered
Narrowly authorized mutating action
phase 07
Verified
Independent verification via 4-metric allowlist
phase 08
Postmortem
8-section report from pre-computed facts
Worker roles

Specialized agents. One manager.

Seven operational roles coordinate through a manager-style dispatcher. Each role has a narrow tool allowlist and a clear contract — the loop never depends on a single agent being clever.

Intake
alerter

Aggregates alerts from Prometheus, Loki, Tempo, and external channels. Deduplicates via static rules and LLM semantic dedup with circuit breaker.

RCA
investigator

Read-only causal-chain tracer across metrics, logs, traces, git, hosts, and topology. Returns evidence with confidence.

Audit
critic

Peer auditor that checks the evidence chain on critical severities. Emits a needs_correction flag without inventing issues.

Pre-flight
reviewer

Second pair of eyes on every mutating action. Approves only the minimum-necessary blast radius.

Repair
repairer

Narrow-scope mutator. Actions must match one approved incident, manifest, resource, command, and payload hash.

Verify
verifier

Calls recovery.verify only. 4-metric allowlist, 3 warning tiers, returns a VerifiedDelta for the manager.

Postmortem
reporter

Writes structured period reports from pre-computed ReportFacts. Resource trends, monitoring coverage, changes — never fabricated.

Plus specialist skills

specialist-sre, specialist-network, specialist-compute, specialist-disk, and specialist-ops ship in the agents/ directory and attach to incidents based on routing rules.

Read the worker contracts
Safety boundary

Diagnosis reads. Recovery writes. Only with a human.

OpsKeeper separates read from write at the orchestrator. Read-only tools are always available; mutating tools require a proposal, an explicit human approver, and exact resource / command / payload hash match.

  • Diagnosis tools are read-only by default — mutating actions require a pending proposal.
  • Explicit human-in-the-loop approval before any recovery command is dispatched.
  • Exact target matching on resource, command, and payload hash — unknown tools and cross-resource targets fail closed.
  • Append-only loop_event_log enforced by a DB trigger; every mutating-proposal transition is chained with SHA256.
  • Independent verifier separates the actor from the judge on every recovery.
Three pillars

What ships in the box.

OpsKeeper is one platform, three tightly integrated subsystems. Each one is independently useful and observable.

Agent collaboration framework

Manager-style dispatch with explicit safety levels (L0–L3), 7 worker roles, and a 7-phase closed loop backed by append-only ledger tables.

Skill ecosystem

Nacos-backed Skill Registry with hot reload, HTTP 2.x Config API, local fallback, and a stdio MCP server for the OpsKeeper Worker plugin.

Observability & audit

OpenTelemetry trace context, Prometheus metrics, Loki logs, Tempo traces, Grafana dashboards — plus an append-only event log and a SHA256-chained proposal audit.

Demo

Seed a real incident end-to-end.

Four reproducible PostgreSQL scenarios ship in deploy/incident-events/. Seed one into incident memory and watch the closed loop run from detection to postmortem in the web console.

  • pg-connection-pool-exhaustion
  • pg-disk-io-saturation
  • pg-lock-wait-long-transaction
  • pg-replica-replay-lag
seed · deploy/incident-events
# Clone and bring up the full local stack (repo-root compose)
git clone https://github.com/vincent-wuhan/opskeeper.git
cd opskeeper
cp deploy/demo.env.example .env
docker compose up -d --build

# Seed the 4 reproducible PostgreSQL scenarios into incident memory
go run ./cmd/incident-seed \
  -dsn "postgres://opskeeper:opskeeper@localhost:5432/opskeeper?sslmode=disable" \
  -dir deploy/incident-events

# Inspect timelines, evidence, proposals, and audit in the web console
# → API + Swagger UI at http://localhost:8080
Integrations

Plays well with the rest of your stack.

OpsKeeper ships first-party plugins for the AgentTeams Dashboard and the standard observability backend. The MCP server is stdio and Streamable HTTP, so any worker can join.

AgentTeams Dashboard

Plugin installer — sidebar, route, dashboard widget, detail panel, toolbar.

OpsKeeper TeamHarness

Worker/Manager plugin + stdio MCP proxy (17 tools, Bearer + HMAC + W3C traceparent).

Prometheus + Loki + Tempo

Native scrape config, log/metric/trace correlation by trace_id.

Grafana dashboards

Provisioned dashboards for the closed loop, audit ledger, and skill health.

PostgreSQL

Incident memory, append-only ledger, MySQL GET_LOCK advisory locks.

Qdrant

Vector retrieval, keyword recall, RRF ranking, retained candidate-decision evidence.

Nacos Config

Skill registry with 30s polling hot-reload and local fallback.

OpenTelemetry

W3C traceparent propagation end-to-end across worker → MCP → control plane.

Open source · Apache-2.0

Bring the audit trail to your incident response.

Run the closed loop locally in under five minutes. Then point it at your real incident stream.