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

VIAI Kit

Модульный фреймворк для SaaS и AI-агентов


Архитектура

VIAI Kit — монорепозиторий из 25 независимых пакетов, объединённых в namespace viai_kit.*.

viai_kit/
├── core/           # Базовые компоненты
│   ├── config      # Pydantic settings
│   ├── logging     # Loguru wrapper
│   ├── database    # SQLAlchemy async
│   ├── http        # HTTPX client
│   └── events      # Event bus
├── auth/           # Аутентификация
│   ├── jwt         # JWT токены
│   ├── users       # User management
│   └── roles       # RBAC
├── billing/        # Биллинг
│   ├── stripe      # Stripe integration
│   └── subscriptions # Subscription logic
├── agent/          # AI Агенты
│   ├── core        # Sensor, Action, Agent
│   ├── brain/loop  # ReAct brain
│   └── memory/postgres # Vector memory
├── sensors/        # Сенсоры
│   ├── docker      # Docker monitoring
│   ├── github      # GitHub events
│   ├── http        # HTTP health checks
│   └── logs        # Log parsing
├── actions/        # Действия
│   ├── shell       # Shell commands
│   ├── git         # Git operations
│   └── telegram    # Telegram notifications
├── monitor/        # Мониторинг
│   └── system      # System metrics
└── admin/          # Админ-панель
    ├── docker      # Container management
    ├── files       # File manager
    ├── panel       # FastAPI routes
    └── panel-ui    # React components

Модули

Core — Базовые компоненты

Пакет Описание Установка
config Pydantic settings с env поддержкой viai-kit-core-config
logging Loguru wrapper с JSON форматом viai-kit-core-logging
database SQLAlchemy async + migrations viai-kit-core-database
http HTTPX async client viai-kit-core-http
events Async event bus viai-kit-core-events

Auth — Аутентификация

Пакет Описание Установка
jwt JWT токены (PyJWT) viai-kit-auth-jwt
users User CRUD + Argon2 hashing viai-kit-auth-users
roles Role-based access control viai-kit-auth-roles

Billing — Биллинг

Пакет Описание Установка
stripe Stripe API integration viai-kit-billing-stripe
subscriptions Subscription management viai-kit-billing-subscriptions

Agent — AI Агенты

Пакет Описание Установка
core Sensor, Action, Agent базовые классы viai-kit-agent-core
brain/loop ReAct brain implementation viai-kit-agent-brain-loop
memory/postgres pgvector memory storage viai-kit-agent-memory-postgres

Sensors — Сенсоры для агентов

Пакет Описание Установка
docker Docker container monitoring viai-kit-sensors-docker
github GitHub webhooks & events viai-kit-sensors-github
http HTTP endpoint health checks viai-kit-sensors-http
logs Log file parsing viai-kit-sensors-logs

Actions — Действия для агентов

Пакет Описание Установка
shell Shell command execution viai-kit-actions-shell
git Git operations viai-kit-actions-git
telegram Telegram bot notifications viai-kit-actions-telegram

Monitor — Мониторинг системы

Пакет Описание Установка
system Метрики CPU, RAM, диска, сети viai-kit-monitor-system

Admin — Админ-панель

Пакет Описание Установка
docker Управление Docker контейнерами viai-kit-admin-docker
files Файловый менеджер viai-kit-admin-files
panel FastAPI роуты для админ-панели viai-kit-admin-panel
panel-ui React компоненты для UI @viai-kit/admin-panel-ui

Быстрый старт

# Установка uv (если нет)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Клонирование
git clone https://github.com/brian15274927-prog/viai-kit.git
cd viai-kit

# Установка всех пакетов
uv sync --all-packages
# Использование
from viai_kit.core.config import BaseSettings, get_settings
from viai_kit.core.logging import get_logger, setup_logging
from viai_kit.agent.core import Agent, Sensor, Action

# Настройка логирования
setup_logging(level="INFO", json_format=False)
log = get_logger("myapp")

log.info("Hello from VIAI Kit!")

Полный гайд →


Особенности

  • Модульность — устанавливайте только нужные пакеты
  • Namespace packages — единый namespace viai_kit.*
  • Async-first — все компоненты асинхронные
  • Type hints — полная типизация (Pyright strict)
  • Tested — 46+ тестов, CI/CD на GitHub Actions
  • Modern stack — Python 3.11+, uv, Pydantic v2, SQLAlchemy 2.0

Проекты на VIAI Kit