4.6 KiB
4.6 KiB
AGENTS
Назначение
codex-agent-VPS— переносимая версия Telegram-бота для запускаcodexCLI на VPS.- Папку можно ставить в любое место на Linux-сервере, если там есть
python3,systemd,codexи доступ в интернет. - Конфигурация делается через
.env.
Состав папки
README.md— краткое описание структуры.Agent-server-package/— готовый набор файлов для копирования на VPS..env.example— пример конфигурации.AGENTS.md— инструкция по установке и настройке.
Требования к VPS
- Linux-сервер с
systemd. - Установленные
python3,curl,ffmpeg. - Установленный
codexCLI. - Выполненный
codex loginпод тем пользователем, от которого будет работать сервис. - Telegram bot token.
- Telegram usernames разрешённых пользователей.
Установка через Codex
- Скопировать содержимое
Agent-server-package/на сервер в нужное место, например:/home/your_user/codex-agent
- Установить
codexCLI под рабочим пользователем. - Выполнить под этим же пользователем:
codex login
- Установить системные зависимости:
python3ffmpeg
- Взять
.env.exampleиз корняcodex-agent-VPSи создать на сервере.env. - В
.envзаполнить:TELEGRAM_BOT_TOKENALLOWED_TELEGRAM_USERNAMEALLOWED_TELEGRAM_PLAYERSBOT_USERNAMECODEX_BINCODEX_WORKDIR
- Если нужны voice/audio и голосовые ответы, дополнительно задать:
OPENAI_API_KEY
- В
Agent-server-package/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.
Что обычно меняют при переносе
.envAgent-server-package/scripts/systemd/shine-agent-bot-coder.service- при необходимости
Agent-server-package/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 его не пропустит.