Xata Agent — ваш AI-эксперт по PostgreSQL
Xata Agent — это open-source агент, который мониторит вашу базу данных PostgreSQL, самостоятельно находит корневые причины проблем и предлагает исправления и улучшения. Представьте, что к вашей команде присоединился опытный SRE-инженер, специализирующийся на Postgres.
Агент умеет:
- отслеживать логи и метрики в поисках потенциальных проблем;
- proactively предлагать настройку конфигурации вашего экземпляра БД;
- диагностировать проблемы производительности и рекомендовать индексы;
- разбираться с типичными ситуациями: высокая загрузка CPU, чрезмерное потребление памяти, большое количество подключений и т.д.;
- помогать с вакуумированием (Postgres, не вашей комнаты).
Ключевые особенности:
- Open source и расширяемый.
- Может мониторить логи и метрики RDS и Aurora через CloudWatch.
- Использует только предопределённые SQL-команды — никогда не выполнит деструктивные (или потенциально опасные) запросы.
- Набор инструментов и плейбуков предотвращает галлюцинации.
- Может выполнять диагностические запросы (pg_stat_statements, pg_locks и др.) для поиска источника проблемы.
- Умеет уведомлять через Slack.
- Поддерживает несколько моделей от OpenAI, Anthropic и DeepSeek.
- Уже помогает команде Xata в ежедневной работе с множеством активных баз Postgres.
Демо
Посмотрите короткое (менее 4 минут) демонстрационное видео:
Видео на YouTube
Установка (самостоятельный хостинг)
Для запуска агента используются Docker-образы. Единственная внешняя зависимость — база данных PostgreSQL, в которой агент хранит свою конфигурацию, состояние и историю.
В репозитории предоставлен файл docker-compose.yml для запуска агента и Postgres вместе.
- Скопируйте файл
.env.production (находится в корне проекта) и отредактируйте его. Обязательно укажите PUBLIC_URL и API-ключ хотя бы для OpenAI.
- Запустите локальный экземпляр командой:
docker compose up
- Откройте приложение по адресу
http://localhost:8080 (или по тому PUBLIC_URL, который вы задали) и следуйте шагам онбординга.
Подробное руководство по развёртыванию на EC2 с помощью docker-compose доступно в вики проекта.
Для аутентификации можно использовать собственный OAuth-провайдер.
Разработка
Если вы хотите внести изменения в код, перейдите в директорию apps/dbagent и следуйте инструкциям из локального README.
Расширяемость
Агент можно расширять несколькими способами:
- Инструменты (Tools) — функции, которые агент может вызывать для получения информации о базе. Написаны на TypeScript, их описание можно найти в этом файле.
- Плейбуки (Playbooks) — последовательности шагов на английском языке для диагностики конкретных проблем. Предопределённые плейбуки хранятся здесь.
- Интеграции — например, интеграции с AWS и Slack, которые содержат конфигурацию и UI-виджеты.
Статус и дорожная карта
Проект находится на ранней стадии, но уже используется в повседневной работе команды Xata.
Плейбуки (уже реализованы)
- общий мониторинг;
- настройка параметров;
- исследование медленных запросов;
- высокая загрузка CPU;
- высокое потребление памяти;
- большое количество подключений;
- блокировки;
- вакуумирование.
Также поддерживаются пользовательские плейбуки.
В планах
-
Интеграции MCP:
- работа как MCP-сервер для других агентов;
- вызов инструментов по сети через MCP.
-
Дополнительные облачные провайдеры:
- AWS RDS (уже);
- AWS Aurora (уже);
- Google Cloud SQL;
- Azure Database for PostgreSQL;
- Digital Ocean Managed Databases.
-
Уведомления и интеграции:
- простая интеграция со Slack;
- улучшенная Slack-интеграция в виде AI-агента (#29);
- интеграция с Discord.
-
Оценка и тестирование:
- добавить eval-тестирование взаимодействия с LLM.
-
Рабочий процесс утверждения:
- approval workflow для потенциально опасных операций;
- возможность гибко настраивать, какие инструменты доступны для каждого расписания мониторинга.
Облачная версия
Несмотря на то что проект в первую очередь open-source и предназначен для самостоятельного хостинга, команда работает и над облачной версией. Её преимущество — более простая установка интеграций. Если вы заинтересованы, оставьте заявку на лист ожидания.
Лицензия: LICENSE
Сообщество: Discord, Twitter
Комментарии
Комментариев пока нет. Будьте первым.