Перейти к содержанию

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

Это руководство поможет развернуть AegisAI, выполнить первоначальную настройку и начать работу с платформой.

Требования

Компонент Минимальная версия
Docker 24+
Docker Compose v2+
Python (локальная разработка) 3.11–3.12
Node.js (фронтенд) 18+

Альтернатива Docker

Для локальной разработки без контейнеров потребуются PostgreSQL 15, Redis 7 и OPA, установленные отдельно.

Установка через Docker Compose

1. Клонирование и настройка окружения

git clone https://github.com/valera7623/AegisAI.git
cd aegisai
cp .env.example .env

Отредактируйте .env и задайте безопасные значения для production:

SECRET_KEY=your-secret-key-here
ADMIN_API_KEY=your-admin-api-key-here
WEBHOOK_SECRET=webhook-secret-key
ENABLE_GUARD=true

Prompt Guard включён по умолчанию. Отключение: ENABLE_GUARD=false. Подробнее: Prompt Guard.

2. Запуск платформы

docker compose up --build

Docker Compose поднимает пять сервисов:

Сервис Порт Назначение
postgres 5432 Основная база данных
redis 6379 Кэш и pub/sub событий
opa 8181 Движок политик
app 8000 FastAPI backend
frontend 5173 Vite SPA

Готово

Когда все healthcheck-и пройдены, откройте http://localhost:5173.

3. Первый вход

Email и пароль — значения из SUPER_ADMIN_EMAIL / SUPER_ADMIN_PASSWORD:

Поле Значение по умолчанию
Email admin@aegisai.com
Пароль admin123

SSO (опционально) — при включении IdP (KEYCLOAK_ENABLED, OKTA_ENABLED и т.д.) на странице входа появятся кнопки «Войти через …». См. SSO.

Production

Обязательно смените пароль суперадминистратора перед выводом в production. Используйте SUPER_ADMIN_SYNC_PASSWORD=true для синхронизации пароля из .env при перезапуске.

Создание арендатора (tenant)

Для программного доступа через API создайте арендатора и получите API-ключ:

curl -X POST http://localhost:8000/api/v1/tenants \
  -H "X-Admin-Key: admin-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "demo-tenant"}'

Ответ содержит api_key — сохраните его. Ключ показывается только один раз.

Настройка API-ключа в панели

  1. Откройте http://localhost:5173/settings
  2. Вставьте API-ключ в поле API Key
  3. Нажмите Save

Панель использует ключ для запросов к backend (X-API-Key).

Демо-данные

Базовый seed:

docker compose exec app poetry run python scripts/seed_data.py --reset

Расширенный набор (3 tenant, 10k audit logs):

./scripts/run_demo_data.sh --reset

Демо API-ключи:

Арендатор API-ключ
Acme Corp aegis_acme_demo_seed_key_001
MedTech Inc aegis_medtech_demo_seed_key_002

Проверка работоспособности

curl http://localhost:8000/api/v1/health
curl http://localhost:8000/api/v1/health/ready
curl http://localhost:8000/api/v1/stats \
  -H "X-API-Key: aegis_acme_demo_seed_key_001"

Первый агент через SDK

import asyncio
from aegisai.sdk import AegisAIClient

async def main():
    async with AegisAIClient(
        api_key="aegis_acme_demo_seed_key_001",
        agent_name="My First Agent",
    ) as client:
        reg = await client.register()
        print(f"Agent registered: {reg.id}")

        async with client.observe("read_data", "customer_db") as ctx:
            ctx.add_reasoning("Загрузка данных клиентов")

asyncio.run(main())

Следующие шаги