Skip to content

wwmaxik/VoidAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoidAgent

Автономный Telegram бот для поиска заказов, написания кода и личного общения.

Возможности

  • MainAgent (UserBot): Личность бота, имитирующая человеческое поведение в Telegram
  • TelegramBotAgent (Official Bot): Публичный бот с командами и inline кнопками
  • HustlerAgent: Автоматический поиск и отклик на заказы
  • CoderAgent: Написание и рефакторинг кода
  • Hot-Swap Engine: Горячая перезагрузка модулей без разрыва сессии
  • ValidatorLLM: Валидация команд для безопасности
  • Vector Memory: Хранение успешных решений для RAG

Два режима работы

UserBot (Pyrogram)

  • Работает от имени вашего аккаунта
  • Мониторинг чатов для поиска заказов
  • Имитация человеческого поведения
  • Требует api_id и api_hash

Official Bot (aiogram)

  • Публичный бот через @BotFather
  • Команды: /start, /help, /code, /status, /stats
  • Inline кнопки и FSM
  • Интеграция с CoderAgent

Можно использовать оба одновременно или по отдельности.

Установка

  1. Установите зависимости:
pip install -r requirements.txt
  1. Установите Playwright (для BrowserTool):
playwright install chromium
  1. Настройте конфигурацию:
# Отредактируйте config/config.yaml
nano config/config.yaml
  1. Получите API credentials:
    • Для UserBot: https://my.telegram.org (api_id и api_hash)
    • Для Official Bot: @BotFather (bot token)
    • Подробнее в BOT_SETUP.md

Конфигурация

Основная конфигурация в config/config.yaml:

  • telegram.userbot: Настройки UserBot (Pyrogram)
  • telegram.bot: Настройки Official Bot (aiogram)
  • llm: Настройки основной LLM модели
  • validator_llm: Настройки LLM для валидации команд
  • hustler: Настройки мониторинга заказов
  • coder: Настройки рабочего пространства
  • validator: Настройки безопасности
  • behavior: Параметры имитации человеческого поведения

Запуск

Локальный запуск

python3 main.py

Запуск как systemd сервис

# Скопируйте service файл
sudo cp voidagent.service /etc/systemd/system/

# Перезагрузите systemd
sudo systemctl daemon-reload

# Включите автозапуск
sudo systemctl enable voidagent

# Запустите сервис
sudo systemctl start voidagent

# Проверьте статус
sudo systemctl status voidagent

# Просмотр логов
sudo journalctl -u voidagent -f

Структура проекта

VoidAgent/
├── main.py                 # Точка входа
├── config/
│   ├── config.yaml        # Основная конфигурация
│   └── .env.example       # Пример переменных окружения
├── src/
│   ├── agents/            # Агенты системы
│   │   ├── base_agent.py
│   │   ├── main_agent.py          # UserBot
│   │   ├── telegram_bot_agent.py  # Official Bot
│   │   ├── hustler_agent.py
│   │   └── coder_agent.py
│   ├── core/              # Ядро системы
│   │   ├── hotswap.py
│   │   └── llm_provider.py
│   ├── tools/             # Инструменты
│   │   ├── helpers.py
│   │   └── validator.py
│   └── memory/            # Система памяти
│       ├── state_manager.py
│       └── vector_memory.py
├── prompts/               # Промпты для агентов
│   ├── PERSONA.md
│   └── RULES.md
├── data/                  # Данные (создается автоматически)
├── logs/                  # Логи (создается автоматически)
├── BOT_SETUP.md          # Инструкция по настройке ботов
├── SETUP.md              # Детальная инструкция по установке
└── requirements.txt

Hot-Swap

Система поддерживает горячую перезагрузку модулей:

  1. Отредактируйте любой файл в src/ или prompts/
  2. Сохраните файл
  3. Модуль автоматически перезагрузится без разрыва Telegram сессии
  4. Состояние агентов сохраняется и восстанавливается

Безопасность

  • Все shell команды проходят через ValidatorLLM
  • Опасные команды блокируются автоматически
  • Все действия логируются в БД и файл
  • Файловые операции ограничены workspace

Разработка

Добавление нового агента

  1. Создайте класс, наследующий BaseAgent
  2. Реализуйте методы: initialize(), process(), shutdown()
  3. Зарегистрируйте агента в main.py

Добавление нового инструмента

  1. Создайте класс в src/tools/
  2. Добавьте валидацию через ValidatorLLM (если нужно)
  3. Используйте в агентах

Лицензия

MIT

About

Experimental autonomous multi-agent architecture based on LLMs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors