4.5 KiB
4.5 KiB
AGENTS
Назначение
codex-agent-VPS— переносимая версия Telegram-бота для запускаcodexCLI на VPS.- Папку можно ставить в любое место на Linux-сервере, если там есть
python3,systemd,codexи доступ в интернет. - Конфигурация делается через
.env.
Состав папки
py_bot_service.py— основная реализация сервиса.AGENT.md— инструкции, которые бот передаёт в промпт Codex..env.example— пример конфигурации.scripts/systemd/shine-agent-bot-coder.service— шаблон systemd unit.
Требования к VPS
- Linux-сервер с
systemd. - Установленные
python3,curl,ffmpeg. - Установленный
codexCLI. - Выполненный
codex loginпод тем пользователем, от которого будет работать сервис. - Telegram bot token.
- Telegram usernames разрешённых пользователей.
Установка через Codex
- Скопировать папку
codex-agent-VPSна сервер в нужное место, например:/home/your_user/codex-agent
- Установить
codexCLI под рабочим пользователем. - Выполнить под этим же пользователем:
codex login
- Установить системные зависимости:
python3ffmpeg
- Скопировать
.env.exampleв.env. - В
.envзаполнить:TELEGRAM_BOT_TOKENALLOWED_TELEGRAM_USERNAMEALLOWED_TELEGRAM_PLAYERSBOT_USERNAMECODEX_BINCODEX_WORKDIR
- Если нужны voice/audio и голосовые ответы, дополнительно задать:
OPENAI_API_KEY
- В
scripts/systemd/shine-agent-bot-coder.serviceзаменить:your_user/home/your_user/codex-agentна реальные значения.
- Скопировать unit в:
/etc/systemd/system/shine-agent-bot-coder.service
- Выполнить:
sudo systemctl daemon-reloadsudo systemctl enable --now shine-agent-bot-coder
- Проверить:
sudo systemctl status shine-agent-bot-coder --no-pagersudo journalctl -u shine-agent-bot-coder -f
Настройка доступа
ALLOWED_TELEGRAM_USERNAME— основной разрешённый пользователь.ALLOWED_TELEGRAM_PLAYERS— дополнительные разрешённые пользователи:username1:Имя 1,username2:Имя 2
- Все пользователи из whitelist в этой версии считаются полноправными.
- Все входящие задачи попадают в одну общую очередь и выполняются строго последовательно.
Поведение агента
- Бот принимает текст, voice и audio.
- Для каждого пользователя ведётся отдельная история.
- Все задачи запускаются через
codex exec. - Рабочая директория задаётся через
CODEX_WORKDIR. - Вызов идёт без sandbox/approval ограничений:
--dangerously-bypass-approvals-and-sandbox.
Что обычно меняют при переносе
.envscripts/systemd/shine-agent-bot-coder.service- при необходимости
AGENT.md
Полезные команды
- Проверка установки Codex:
codex --versioncodex doctor
- Self-test без Telegram:
python3 py_bot_service.py --selftest-codex "Ответь одной строкой: Codex работает"
- Проверка сервиса:
sudo systemctl status shine-agent-bot-coder --no-pagersudo journalctl -u shine-agent-bot-coder -f
Примечания
- Если
codex doctorпишет, что credentials не найдены, нужно выполнитьcodex login. - Если
OPENAI_API_KEYпустой, текстовые задачи черезcodexбудут работать, а voice/audio и TTS-функции — нет. - Если у пользователя в Telegram нет username, whitelist по username его не пропустит.