Все события. Ваш бэкенд.
Каждый плагин, воркфлоу и сервис пишет события через единый IAnalytics. DuckDB, SQLite или плоский файл — данные хранятся у вас, никакого стороннего SaaS.
Плагин включает аналитику одной строкой в манифесте.
analytics: true в permissions — и в коде плагина доступен useAnalytics() из SDK или ctx.platform.analytics. Схема события kb.v1: type, ts, source, runId, actor, ctx, payload.
Платформа сама обогащает контекст: product, version, runId. Плагин передаёт только смысловые поля.
// В любом плагине — через SDK // i18n-ignore
import { useAnalytics } from '@kb-labs/sdk';
const analytics = useAnalytics();
await analytics.track('commit.plan.generated', {
scope: 'root',
filesChanged: 14,
commitsGenerated: 3,
llmUsed: true,
tokensUsed: 1840,
durationMs: 4200,
});SQLite, DuckDB или плоский файл.
Бэкенд выбирается в kb.config.json — одна строка. Данные хранятся локально, нет никакого внешнего сервиса.
// kb.config.json
{
"platform": {
"adapters": {
"analytics": "@kb-labs/adapters-analytics-sqlite"
},
"adapterOptions": {
"analytics": {
"filename": ".kb/analytics/analytics.sqlite"
}
}
}
}getStats. getDailyStats. breakdownBy по payload.
DuckDB адаптер реализует полный IAnalytics: time-series через date_trunc, группировка по любому полю в JSON payload через dot-нотацию, фильтры по type/source/actor/from/to.
REST API возвращает те же данные через /api/v1/observability/metrics/history для дашбордов.
// getStats() — агрегат по всем событиям // i18n-ignore
const stats = await analytics.getStats();
// {
// totalEvents: 4821,
// byType: {
// "commit.plan.generated": 312,
// "commit.push.success": 289,
// "workflow.run.completed": 1840,
// },
// bySource: { "commit": 601, "workflow": 1840 },
// byActor: { "user:kirill": 4200 },
// timeRange: { from: "2026-05-01T...", to: "2026-05-24T..." }
// }kb-monitor — health, логи, exec в контейнер.
Для задеплоенных сервисов — отдельный Go-инструмент. Health checks, стриминг логов, выполнение команд внутри контейнера. Работает с любым сервисом, задеплоенным через kb-deploy.
kb-monitor healthПроверка каждого объявленного таргета. Pass/fail с задержкой.kb-monitor statusСостояние, uptime и image SHA по каждому таргету.kb-monitor logs <target> --followСтриминг живых логов. Без SSH.kb-monitor status --jsonМашиночитаемый вывод для агентов и дашбордов.$ kb-monitor health gateway ✓ healthy uptime 14d 3h rest-api ✓ healthy uptime 14d 3h workflow ✓ healthy uptime 6d 1h marketplace ✓ healthy uptime 6d 1h state ✓ healthy uptime 14d 3h $ kb-monitor logs workflow --follow [workflow] 14:23:01 run abc123 started · trigger=manual [workflow] 14:23:02 step "checkout" completed [0.3s] [workflow] 14:23:08 step "build" completed [5.9s] [workflow] 14:23:09 run abc123 finished · status=success
Данные у вас. Никакого SaaS на пути.
Analytics адаптеры входят в платформу. kb-monitor — отдельный Go-бинарь.