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