Self-hosted · BYO engine · open source

The on-call engineer that
runs on your own box.

VigilAI reads the logs you already have, finds the root cause, cites the evidence, and opens a validated fix PR — only as far as you allow. Your infra, your engine, your autonomy. No account, no agents in your code, nothing leaves the box except to the engine you pick.

› npx skills add guptaprakhariitr/vigil --all

Paste into Claude Code or Cursor — it clones the repo, reads the docs, and sets VigilAI up for you.

vigil up · payments
WARN payments stripe client retry 1/3 · timeout after 2000ms
ERROR payments UnhandledRejection: cannot read 'id' of undefined at charge.ts:9
ERROR gateway 502 upstream POST /api/charge · tenant=acme,globex (×214)
SEV-2  214 errors → 1 incident  →  Cause: deploy a3f9c1 made charge() read session.customer.id; session is undefined when Stripe times out (conf 0.94).  →  Patch validated · 3 tests pass · branch vigil/fix-…

Tiered cognition

Coverage never cut by budget

Cheap work stays cheap. The deterministic core runs hot at zero tokens; the engine is one constrained, cited hop — only when a real incident is novel.

Tier 0

Deterministic core

Parse, template-mine, correlate and detect on every line — sub-millisecond, no model, fully on box.

Tier 1

Local triage policy

A per-project mute / watch / escalate table the engine authors once and refines from feedback. Runs hot, zero tokens, auditable.

Tier 2

Your frontier engine

One grounded call on a novel escalation → a cited root cause + a validated patch. Claude · Cursor · API · local.

Why it's different

A deterministic core the model can't fake

Evidence is assembled by code, not narrated by a prompt. The engine proposes; the engine validates.

◆

Model only proposes

The deterministic engine assembles cited evidence and validates patches. The model suggests — it never decides.

❝

Cited or it abstains

Every claim links back to the log cluster, stack frame, or diff it came from. Thin evidence → it abstains, with a reason.

↧

Patches that pass tests

Fixes are applied in a throwaway git worktree off your deployed SHA, tested, and secret-scanned — never your working copy.

≈

Token economy

Thousands of log lines and hundreds of recurrences collapse to one incident and a couple of engine calls. Healthy services cost nothing.

↻

Self-correcting

Accept/reject teaches the policy; eval-gated calibration sharpens it on a schedule and can never weaken detection recall.

⛉

Do no harm

Read-only data plane, resource-capped, sandboxed validation. Its credential ceiling is a scoped git token — it never deploys.

Quickstart

Watching in three commands

A project is one system; add its containers as sources. Pick an engine, set the autonomy, let it run.

# register your system and its containers as sources
vigil project add myapp ./logs/web.log --repo .
vigil project add-source myapp ./logs/worker.log
# draft the triage policy, then watch — your engine, notify-only to start
vigil warm ./logs/web.log --project myapp
vigil up --project myapp --engine claude-cli --autonomy notify

Put your on-call on autopilot

Self-hosted · BYO engine · Apache-2.0 · no code changes, no account.

Get started