Skip to main content
Glama

Cairn

npm ci license node dependencies

Агентный копилот для анализа инцидентов. Спросите «почему в 3 часа ночи выросла задержка checkout?» на обычном английском; Cairn опрашивает observability-стек, сопоставляет с таймлайном деплоев, извлекает нужный runbook и предлагает первопричину с доказательствами — а также может выполнить устранение, но только после одобрения человеком.

Этот репозиторий реализует docs/architecture.md.

Дашборд

Сопутствующий npm-пакет (npx @nouman-amjad/cairn dashboard) запускает локальный живой дашборд для любого проекта — без шага сборки, без зависимостей, без сети.

Cairn dashboard — overview

Findings

Logs

Services

Chat

Related MCP server: AI Incident Monitoring RCA MCP Server

Четыре обязательства и где они живут в коде

Обязательство

Где обеспечивается

Инструменты — это продукт. Каждая возможность — это MCP-инструмент; у агента нет привилегированного пути к какому-либо бэкенду.

services/cairn-mcp-*, packages/cairn-mcp-kit

Инференс — это маршрутизируемый ресурс. Роутер по стоимости и чувствительности делит работу между локальной 8B-моделью и frontier-моделью.

routing.py

Записывающие действия никогда не автономны. Устойчивый конечный автомат одобрений с ключами идемпотентности и append-only журналом аудита.

service.py

Eval-харнесс — это сервис первого класса. 30 сценариев с эталонными первопричинами и 7 гейтированных метрик.

services/cairn-eval

Структура

packages/
  cairn-core/          domain model, config, auth, DB, sensitivity, artifacts
  cairn-mcp-kit/       MCP scaffolding: identity, OPA guard, result capping, versioning
services/
  cairn-gateway/       OIDC, rate limits, cost budgets, circuit breaker, SSE fan-out
  cairn-orchestrator/  the agent loop as a state machine persisted to Postgres
  cairn-router/        model routing, cost accounting, vLLM + Anthropic clients
  cairn-approval/      approval state machine and the Slack gate
  cairn-mcp-observability/  metrics, logs, traces, deploys, artifacts
  cairn-mcp-runbooks/       hybrid search, ingest, past-incident recall
  cairn-mcp-actions/        approval-gated write tools
  cairn-eval/          30 scenarios, 7 metrics, the CI gate, a seeded stack
  cairn-cli/           `cairn ask "why did checkout spike?"`
ui/                    Next.js: chat, trajectory viewer, approvals
cairn-deploy/          Helm chart, ArgoCD app-of-apps, OPA bundle, prompts
cairn-infra/           Terraform: VPC, EKS, RDS, Karpenter, IRSA, S3
docker/                one Dockerfile for all Python services, plus vLLM
docs/adr/              14 architecture decision records

cairn-deploy и cairn-infra включены сюда для ревью. В проде это отдельные репозитории с отдельными жизненными циклами — см. ADR-013.

Начало работы

make install     # uv sync + npm ci
make up          # Postgres (pgvector), Redis, MinIO, OPA
make migrate
make test        # 246 tests
make selfcheck   # 21 module self-checks
make eval        # 30 scenarios through the real agent loop

Для всего вышеперечисленного не нужны ни GPU, ни API-ключ. make eval работает в эвристическом режиме, который прогоняет весь конвейер — цикл, ограничение инструментов, персистентность, семь метрик, гейт — с скриптовой заглушкой вместо модели. См. ограничения.

Чтобы работать с реальными моделями, задайте CAIRN_ROUTER_ANTHROPIC_API_KEY и укажите CAIRN_ROUTER_VLLM_URL на сервер vLLM.

Отладка с MCP-клиентом

Каждый MCP-сервер говорит как по stdio, так и по Streamable HTTP:

make mcp-stdio
# or, the way an outside user would:
uvx cairn-mcp-observability --stdio

Наведите на него Cursor, Zed или любой другой MCP-клиент — и вы увидите ровно то, что видит агент. Это стоит примерно двадцати строк (ADR-002) и окупается при первом же результате инструмента, который выглядит совсем не так, как вы ожидали.

Что проверено, а что нет

Буду конкретен, потому что «оно работает» — это не заявление, которое стоит делать расплывчато.

Проверено запуском здесь:

  • 246 тестов проходят против реального PostgreSQL 16 + pgvector, включая свойства безопасности гейта одобрений (нет самоодобрения, нет двойного выполнения, нет выполнения без одобрения, append-only журнал аудита, обеспечиваемый триггером базы данных) и свойство роутера, что ограниченные данные никогда не достигают облачной модели — проверено исчерпывающе по всем классам задач и состояниям тиров.

  • 21 самопроверка модуля проходит.

  • Миграция Alembic чисто применяется к реальной базе данных.

  • 12/12 тестов политик OPA проходят.

  • Eval на 30 сценариев проходит end-to-end через реальный цикл агента; все семь метрик выше целевых, и гейт корректно блокирует как симулированную регрессию, так и прогон ниже целевых значений.

  • UI проходит проверку типов и сборку. Пять команд CLI разрешаются.

Не проверено здесь и почему:

  • Точность eval-чисел. Зафиксированный бейзлайн — это эвристический режим, который оценивает харнесс, а не агента. Реальные числа требуют make eval-record против живого роутера. LLM-судья первопричин построен, но не откалиброван — никто не разметил 100 прогонов, поэтому κ неизвестна.

  • Terraform. В этом окружении нет бинарника terraform; fmt, validate и tflint запускаются в CI. Ничего не применялось к AWS-аккаунту.

  • Рендеринг Helm. helm lint, template и kubeconform запускаются в CI для всех трёх окружений. Локально они не запускались.

  • Каждая цифра стоимости в docs/cost.md. Учёт, который мог бы их измерить, построен и протестирован; трафика, чтобы его наполнить, не существует.

  • Таблица производительности vLLM. Арифметика от пропускной способности памяти, а не измерение. docs/inference.md даёт команду бенчмарка и порог опровержения.

  • Chaos-тестирование. Фаза 7 дорожной карты не запускалась.

docs/roadmap.md отслеживает эту фазу за фазой.

Документация

  • docs/architecture.md — дизайн, который этот репозиторий реализует

  • docs/adr/ — 14 записей решений, каждая со своим следствием

  • docs/security.md — модель угроз и где живёт каждый контроль

  • docs/inference.md — подбор GPU, арифметика KV-кэша, флаги vLLM

  • docs/cost.md — модель стоимости, включая вопрос, окупает ли себя GPU

  • docs/operations.md — runbook: что пейджить, что делать

  • docs/roadmap.md — фазы, риски и что реально сделано

  • services/cairn-eval/README.md — как читать провал гейта

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables autonomous SRE incident investigation by allowing users to describe incidents in natural language. The agent follows a governed state machine to gather read-only evidence and produce grounded conclusions.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides telemetry tools for retrieving recent logs and system metrics to support root-cause analysis of infrastructure incidents. Enables autonomous incident triage with grounded verification and human-in-the-loop remediation.
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to autonomously investigate simulated production incidents by checking live service health, logs, deployments, and database status while retrieving relevant historical postmortems and runbooks to propose evidence-backed root causes.
    -