Modular Agent Framework
Project description
Универсальный AI-агент
[ Русский | 中文 | English | Español ]
GigaAgent может решать самые разные задачи, используя более 30 встроенных инструментов и субагентов.
Например, он позволит вам работать с большими файлами через код (Excel-файл с десятками тысяч строк), придумать мем, описать бизнес-модель стартапа или создать лендинг. Для этого GigaAgent использует субагентов, REPL-среду для исполнения кода и сторонние сервисы.
GigaAgent разработан в рамках проекта GigaChain – открытого набора инструментов для разработки LLM-приложений и мультиагентных систем.
GigaAgent умеет:
- работать с разными моделями, доступными в LangChain: GigaChat, ChatGPT, Anthropic и другими
- исполнять код в чате с помощью в REPL-среды, подобной блокнотам Jupyter
- обмениваться данными со сторонними сервисами: VK, GitHub, 2GIS и другими
- использовать инструменты для анализа данных, генерации изображений, создания презентаций и лендингов
- генерировать изображения с помощью разных провайдеров: GigaChat, FusionBrain, OpenAI;
- работать локально или в облаке, с помощью Docker
- использовать ваши MCP-тулы
- применять знания из ваших документов с помощью RAG
Демо
Примеры работы с GigaAgent в формате PDF:
- кластеризация комментариев в VK
- анализ настроений комментариев в VK и вывод основных жалоб
- создание сайта со списком изменений, созданным на основе последних закрытых PR
Примеры работы субагентов, а также подробная информация о них — в разделе Субагенты. Описание доступных инструментов и процесса создания новых инструментов можно найти в разделе Инструменты в GigaAgent
Содержание
- Быстрый старт
- Функциональные возможности
- Конфигурация
- Запуск через Docker
- Технологический стек
- Архитектура
- Структура проекта
- Troubleshooting
- Для разработчиков
- Дополнительные материалы
- Contributing
- License
Быстрый старт
- Установите пакет:
uv add giga_agent
Для локального sandbox через Jupyter установите optional extra:
pip install -U "giga-agent[jupyter]"
- Запустите dev-сервер:
uv run giga_agent dev
- Откройте в браузере:
http://localhost:9090
Логин по умолчанию при первой инициализации (когда в БД нет пользователей):
admin@example.comgiga_agent_admin
Для начала работы с агентом настройте следующие интеграции в настройках пользователя:
- Коннекторы (используются в LLM / Embeddings)
- LLM
- Embeddings
- Sandbox
Функциональные возможности
💬 Chat & Agent System
- Streaming Chat — диалог с AI-агентом
- Thread Management — история диалогов
- Message Branching — ветвление диалогов для экспериментов
- File Attachments — поддержка изображений, документов, аудио, видео
- Tool Visualization — визуализация выполнения инструментов в UI
- Auto-approve Mode — автоматическое подтверждение использования инструментов
🔧 Встроенные модули
GigaAgent включает 13 готовых модулей для разных задач:
| Модуль | ID | Описание |
|---|---|---|
| Auth | auth |
Аутентификация, управление пользователями и группами |
| REPL | repl |
Выполнение Python и shell команд в sandbox |
| Image | image |
Генерация изображений (GigaChat, FusionBrain, OpenAI) |
| Analyze Images | analyze_images |
Анализ изображений через multimodal LLM |
| Search | search |
Веб-поиск через |
| Scraper | scraper |
Извлечение контента с веб-страниц (Jina AI Reader) |
| RAG | rag |
Retrieval Augmented Generation с векторным поиском |
| GitHub | github |
Интеграция с GitHub API |
| VK | vk |
Интеграция с VK API |
| Weather | weather |
Получение прогноза погоды |
| Mem0 | mem_zero_memory |
Долговременная память агента |
| Subagents | subagents_legacy |
Специализированные субагенты (landing, presentation, meme, podcast, lean_canvas) |
| MCP | frontend_mcp |
Вызов MCP-тулов на стороне фронтенда пользователя |
🐳 Sandbox Providers
Изолированные окружения для безопасного выполнения кода:
Local Docker
- Описание: Контейнеры на локальной машине или VPS
- Использование: Локальная разработка и self-hosted deployment
- Настройка:
- Образ:
mikelarg/code-interpreter:0.0.5 - Resource limits (CPU, memory, PIDs)
- Доступ: только superuser
- Образ:
- Преимущества: Полный контроль, без внешних зависимостей
- Недостатки: Требует Docker daemon на хосте
E2B Cloud
- Описание: Облачные sandboxes от e2b.dev
- Использование: Production-ready решение без инфраструктуры
- Настройка: Требуется API ключ E2B
- Преимущества: Автомасштабирование, управляемая инфраструктура
- Недостатки: Зависимость от внешнего сервиса
Local Jupyter
- Описание: Singleton Jupyter server на машине хоста с выполнением кода через локальный Python
- Установка:
pip install -U "giga-agent[jupyter]" - Создание provider: только superuser
- Использование provider: может быть доступно другим пользователям по ACL/шарингу
- Критичное предупреждение: пользователи, которым доступен такой provider, получают доступ к хостовой машине. Это включает выполнение кода и чтение файлов хоста через
local_jupyter. - Рекомендация: используйте только в доверенной среде и не шарьте
local_jupyterprovider недоверенным пользователям
🤖 Субагенты (Legacy)
Специализированные агенты для прикладных задач:
| Субагент | Описание | Graph ID |
|---|---|---|
| Landing | Генерация лендинговых страниц | landing |
| Presentation | Создание презентаций | presentation |
| Meme | Генерация мемов с изображениями | meme |
| Podcast | Создание подкастов из текста | podcast |
| Lean Canvas | Описание бизнес-модели стартапа | lean_canvas |
См. SUBAGENTS.md для подробностей.
📚 RAG (Retrieval Augmented Generation)
- Document Collections — организация знаний по коллекциям
- Multiple Formats — поддержка PDF, DOCX, TXT, Markdown, HTML
- Vector Search — семантический поиск через Qdrant
- Permissions — настройка доступа к коллекциям
🔐 Управление доступом
- User Management — создание и управление пользователями
- Groups — объединение пользователей в группы
- Resource Permissions (ACL) — детальный контроль доступа к ресурсам:
- Read access — просмотр
- Owner — полный контроль
- JWT Tokens — безопасная аутентификация через cookie или Bearer header
- Superuser Role — административные привилегии (создание local sandbox providers, admin panel)
🔌 Интеграции
LLM Providers:
- OpenAI (GPT-4, GPT-3.5)
- GigaChat
- Anthropic (Claude)
- Любые модели через LangChain
Embedding Models:
- OpenAI Embeddings
- GigaChat Embeddings
External Services:
- Tavily — веб-поиск
- Jina AI — web scraping
- GitHub API — работа с репозиториями
- VK API — социальная сеть
Vector Store:
- Qdrant — для RAG и Mem0
🧪 REPL Environment
Выполнение кода прямо в чате:
- Python REPL — полноценный Python interpreter
- Shell Commands — выполнение bash команд
- File Operations — работа с файлами внутри sandbox
- Nested Tool Calls — LLM tools доступны из Python кода
- Persistent Context — сохранение переменных между вызовами
🎨 Генерация изображений
Поддержка множественных провайдеров:
- GigaChat (Kandinsky)
- FusionBrain (Kandinsky)
- OpenAI (DALL-E)
Конфигурация
Минимум для старта
Для локального giga_agent dev дополнительная конфигурация может не требоваться.
Если нужны предсказуемые значения в окружении, задайте:
export GIGA_AGENT_SECRET_KEY="replace_with_secure_value"
export GIGA_AGENT_ADMIN_EMAIL="admin@your-domain.com"
export GIGA_AGENT_ADMIN_PASSWORD="your_strong_password"
Поведение admin-инициализации:
- если пользователей нет, создается первый admin из
GIGA_AGENT_ADMIN_EMAIL/GIGA_AGENT_ADMIN_PASSWORD; - если пользователи уже есть, авто-создание admin пропускается.
Advanced env (runtime/integration)
В расширенной конфигурации обычно настраиваются:
- sandbox/runtime параметры;
- docker-ориентированные env;
- БД/кэш/векторное хранилище;
- tracing/observability параметры.
Детальный env-референс: docs/configuration/env.md
Запуск через Docker
Docker-сценарий оставляем как второй quick start (для self-hosted/операционного запуска).
Отличие от pip + dev
pip + dev: самый быстрый локальный запуск для разработки и проверки.docker compose: более инфраструктурный сценарий с отдельными сервисами (nginx/postgres/redis/qdrant и т.д.).
Быстрые шаги
- Подготовьте
.env:
cp .env.example .env
Минимально проверьте/заполните:
GIGA_AGENT_SECRET_KEYGIGA_AGENT_HOST_PROJECT_PATH(абсолютный путь до репозитория на хосте; важен для local docker sandbox)GIGA_AGENT_LOCAL_JUPYTER_WORKING_DIR/GIGA_AGENT_LOCAL_JUPYTER_FILES_PATHпри необходимости переопределить директории singleton Jupyter server
- (Опционально) скачайте image для code interpreter:
docker image pull mikelarg/code-interpreter:0.0.5
- Соберите и поднимите сервисы:
make build
make up
- Откройте UI:
http://localhost:8123
Перезапуск после обновления репозитория
make down
make build
make up
Для dev-варианта compose:
make build_dev
make up_dev
Технологический стек
Backend
- Python 3.11+ — современный Python с async/await
- LangGraph 1.0.8 — state machine для AI-агентов от LangChain
- FastAPI — высокопроизводительный веб-фреймворк
- SQLAlchemy 2.0 — async ORM с поддержкой SQLite и PostgreSQL
- Alembic — система миграций с multi-scope поддержкой
- Redis — кэширование и distributed locks (через cashews)
- Qdrant — векторное хранилище для RAG и Mem0
- E2B — облачные sandboxes для безопасного выполнения кода
- Docker SDK — управление локальными sandbox-контейнерами
- Jupyter Server — optional extra
giga-agent[jupyter]для admin-onlylocal_jupytersandbox с одним singleton-процессом на агент
Frontend
- React 19 — последняя версия React
- TypeScript 5.8 — статическая типизация
- Vite 7 — быстрая сборка и dev-сервер
- Tailwind CSS 4 — utility-first CSS фреймворк
- Radix UI — headless UI компоненты
- LangGraph SDK — интеграция с LangGraph для streaming
- Framer Motion — анимации
Инфраструктура
- Docker & Docker Compose — контейнеризация
- Nginx — reverse proxy для production
- PostgreSQL — production база данных (dual-database: LangGraph + app)
- SQLite — development база данных
Архитектура
Ключевые принципы
1. Модульная система
Каждый модуль (BaseModule) — независимый plugin:
- Собственные миграции — таблицы с auto-префиксом модуля
- Независимые инструменты — tools для агента
- Собственные API endpoints — автоматический роутинг
- Инструкции и middleware — настройка поведения агента
2. Dual-Database Strategy
Development (local):
- SQLite с
aiosqliteдрайвером - Файловая БД в
.giga_agent/ - Batch-режим для миграций
Production (docker):
- Две отдельные PostgreSQL базы:
- LangGraph DB — state checkpoints, thread history
- Application DB — метаданные, пользователи, конфигурация (asyncpg)
3. Registry Pattern
Runtime компоненты регистрируются динамически:
- Connectors — подключения к внешним сервисам (OpenAI, GigaChat, Tavily)
- LLMs — языковые модели с валидацией настроек
- Embeddings — модели векторизации
- Sandbox Providers — окружения выполнения кода
- Image Generators — генераторы изображений
- Search Engines — поисковые движки
4. Sandbox Execution
Безопасное выполнение Python-кода/Shell комманд в изолированных окружениях:
Local Docker:
- Контейнеры на локальной машине или VPS
- Resource limits (CPU, memory, PIDs)
- Volume mounts для файлов
- Только для superuser (security)
E2B Cloud:
- Облачные sandboxes (e2b.dev)
- Автомасштабирование
- API-based управление
5. Background Tasks
Фоновые процессы с Redis-координацией для multi-instance deployment:
- Idle Sweeper — останавливает неактивные sandboxes
- Orphan Sweeper — удаляет "осиротевшие" ресурсы
6. Security & ACL
- JWT Authentication — cookie + Bearer token
- Resource-level permissions — read/edit/owner access
- Group-based access control — разделение доступа по группам
- bcrypt — хеширование паролей
Troubleshooting
- UI не открывается:
- проверьте, что dev-сервер запущен на
localhost:9090(pip режим) или чтоmake upподнял nginx на8123(docker режим).
- проверьте, что dev-сервер запущен на
- Не удается залогиниться:
- если это первый запуск, используйте дефолтные креды или проверьте
GIGA_AGENT_ADMIN_EMAIL/GIGA_AGENT_ADMIN_PASSWORD;
- если это первый запуск, используйте дефолтные креды или проверьте
- Не видны провайдеры/инструменты:
- проверьте env-конфиг и настройки в UI (
/settings/*).
- проверьте env-конфиг и настройки в UI (
Для разработчиков
Ключевые CLI-команды:
- Проверка состояния миграций:
giga_agent check - Применение миграций:
giga_agent migrate - Генерация миграций:
giga_agent makemigrations - Проксирование Alembic-команд:
giga_agent alembic --scope core upgrade head
- Экспорт langgraph-конфига:
giga_agent export-langgraph-json
Дополнительные материалы
- Субагенты: SUBAGENTS.md
- Инструменты: TOOLS.md
- Observability для локального запуска: docs/configuration/observability-local.md
Contributing
PR и issue приветствуются. Для больших изменений лучше заранее описать proposal в issue с ожидаемым эффектом и планом валидации.
License
Проект распространяется под лицензией MIT. См. файл LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file giga_agent-0.1.5.tar.gz.
File metadata
- Download URL: giga_agent-0.1.5.tar.gz
- Upload date:
- Size: 17.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6af5a0f514afd93cff8fa1320895b132c3660f2377638a5b7fc5ca68b7f941d6
|
|
| MD5 |
5f2f5cfef4d55e236df511bf2b1400ae
|
|
| BLAKE2b-256 |
850ef44127e5d7246112d50c5013ac5d0da46f5d20ece0db35235db461d3b739
|
File details
Details for the file giga_agent-0.1.5-py3-none-any.whl.
File metadata
- Download URL: giga_agent-0.1.5-py3-none-any.whl
- Upload date:
- Size: 10.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ebdc4a0cfad54220c48568c5e22a9e41e79ed140ea628736f4ee825086f9d7f
|
|
| MD5 |
be24490243c78006077416eaf5e8659b
|
|
| BLAKE2b-256 |
1eb47fabdff65bec82fbab8dac2b169454258b63ec822ec39e552ef1a53327f8
|