VEINClaw — это автономный AI-агент v5.0 и оркестратор контекста, построенный на базе Google Gemini 2.0 Flash. Проект спроектирован как ядро для управления рабочими процессами экосистемы VEIN. Система использует паттерны Tool-calling и замкнутый цикл Action-Observation для решения бэкенд-задач, мониторинга и работы с внешними API.
-
Autonomous Mission Mode: Агент способен планировать и выполнять сложные цепочки задач (миссии), самостоятельно оценивая прогресс и корректируя действия.
-
Visual Intelligence (Vision Suite): Прямой визуальный анализ UI-интерфейсов и видео через Gemini Vision для контроля работоспособности фронтенда.
-
Smart Refactoring: Глубокий рефакторинг нескольких файлов одновременно с учетом архитектурного контекста всего проекта.
-
Self-Maintenance & Self-Healing: Автоматическая проверка зависимостей, очистка системы и исправление собственных ошибок в коде.
-
Context Architecture & Long-term Memory (RAG): Динамическое управление памятью через ChromaDB и
memory.json. -
Dynamic Tool Discovery (MCP approach): Инструменты подхватываются на лету, позволяя расширять возможности агента без остановки системы.
- Core: Python 3.10+, Subprocess API
- LLM Orchestrator:
google-genai(Gemini 2.0 Flash) - API & Auth:
google-api-python-client,google-auth-oauthlib, GitHub SDK - Vector DB: ChromaDB (RAG)
- Automation: Playwright (Vision/Web)
- Utilities:
psutil,python-dotenv,duckduckgo_search
main.py— Точка входа, оркестратор и цикл взаимодействия (LLM Routing).actions.py— Пул изолированных инструментов (tools) для вызова моделью.requirements.txt— Фиксированные зависимости..env.example— Шаблон конфигурации среды.
-
Клон репозитория и настройка окружения:
git clone https://github.com/Peaostrel/VEINClaw.git cd VEINClaw python -m venv venvWindows:
venv\Scripts\activate
Linux/macOS:
source venv/bin/activatepip install -r requirements.txt
-
Настройка доступов:
- Скопируйте
.env.exampleв.envи добавьте вашGEMINI_API_KEY. - Для работы модулей Workspace поместите
credentials.jsonв корень проекта.
- Скопируйте
-
Запуск:
python main.py
