giga_agent
Описание
Языки
- Python70,7%
- TypeScript27,4%
- Jupyter Notebook0,7%
- HTML0,7%
- CSS0,2%
- Shell0,1%
- Остальные0,2%
Универсальный 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
Быстрый старт
- Установите пакет:
Для локального sandbox через Jupyter установите optional extra:
- Запустите dev-сервер:
- Откройте в браузере:
Логин по умолчанию при первой инициализации (когда в БД нет пользователей):
- admin@example.com
- giga_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 | | Аутентификация, управление пользователями и группами |
| REPL | | Выполнение Python и shell команд в sandbox |
| Image | | Генерация изображений (GigaChat, FusionBrain, OpenAI) |
| Analyze Images | | Анализ изображений через multimodal LLM |
| Search | | Веб-поиск через |
| Scraper | | Извлечение контента с веб-страниц (Jina AI Reader) |
| RAG | | Retrieval Augmented Generation с векторным поиском |
| GitHub | | Интеграция с GitHub API |
| VK | | Интеграция с VK API |
| Weather | | Получение прогноза погоды |
| Mem0 | | Долговременная память агента |
| Subagents | | Специализированные субагенты (landing, presentation, meme, podcast, lean_canvas) |
| 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 - Рекомендация: используйте только в доверенной среде и не шарьте
provider недоверенным пользователямlocal_jupyter
🤖 Субагенты (Legacy)
Специализированные агенты для прикладных задач:
| Субагент | Описание | Graph ID |
|---|---|---|
| Landing | Генерация лендинговых страниц | |
| Presentation | Создание презентаций | |
| Meme | Генерация мемов с изображениями | |
| Podcast | Создание подкастов из текста | |
| 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)
Конфигурация
Минимум для старта
Для локального дополнительная конфигурация может не требоваться.
Если нужны предсказуемые значения в окружении, задайте:
Поведение 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: более инфраструктурный сценарий с отдельными сервисами (nginx/postgres/redis/qdrant и т.д.).docker compose
Быстрые шаги
- Подготовьте
:.env
Минимально проверьте/заполните:
- GIGA_AGENT_SECRET_KEY
(абсолютный путь до репозитория на хосте; важен для local docker sandbox)GIGA_AGENT_HOST_PROJECT_PATH/GIGA_AGENT_LOCAL_JUPYTER_WORKING_DIRпри необходимости переопределить директории singleton Jupyter serverGIGA_AGENT_LOCAL_JUPYTER_FILES_PATH
- (Опционально) скачайте image для code interpreter:
- Соберите и поднимите сервисы:
- Откройте UI:
Перезапуск после обновления репозитория
Для dev-варианта compose:
Технологический стек
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
для admin-onlygiga-agent[jupyter]sandbox с одним singleton-процессом на агентlocal_jupyter
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. Модульная система
Каждый модуль () — независимый 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-сервер запущен на
(pip режим) или чтоlocalhost:9090поднял nginx наmake up(docker режим).8123
- проверьте, что dev-сервер запущен на
- Не удается залогиниться:
- если это первый запуск, используйте дефолтные креды или проверьте
/GIGA_AGENT_ADMIN_EMAIL;GIGA_AGENT_ADMIN_PASSWORD
- если это первый запуск, используйте дефолтные креды или проверьте
- Не видны провайдеры/инструменты:
- проверьте env-конфиг и настройки в UI (
*)./settings/
- проверьте env-конфиг и настройки в UI (
Для разработчиков
Ключевые CLI-команды:
- Проверка состояния миграций:
- Применение миграций:
- Генерация миграций:
- Проксирование Alembic-команд:
- Экспорт langgraph-конфига:
Дополнительные материалы
- Субагенты: SUBAGENTS.md
- Инструменты: TOOLS.md
- Observability для локального запуска: docs/configuration/observability-local.md
Contributing
PR и issue приветствуются. Для больших изменений лучше заранее описать proposal в issue с ожидаемым эффектом и планом валидации.
License
Проект распространяется под лицензией MIT. См. файл LICENSE.