654cd0e87c974a2cc6e86d5eb620c8207ee86678
Codex Server Admin Telegram Bot
Telegram-бот на Python и kurigram, который выполняет задачи администрирования сервера через OpenAI Codex Python SDK.
- Доступ только для админов: Telegram user ID берутся из
ADMIN_IDS. - Контекст сохраняется на чат как Codex
thread_id; команда/newначинает новую беседу. - Прогресс стримится в Telegram: команды, правки файлов, MCP/tool calls и промежуточные сообщения.
- По умолчанию используется
CODEX_SANDBOX=full-access, то есть режим серверного администратора с полным доступом. - Устанавливается как systemd-сервис и стартует после reboot.
Внимание: бот дает полный контроль над сервером любому пользователю из ADMIN_IDS. Храните токен бота в секрете и не добавляйте лишних админов.
Требования
- Linux с systemd
- Python 3.10+
- OpenAI Codex Python SDK (
openai-codex, ставится изrequirements.txt) - Авторизация Codex: существующий Codex login или
OPENAI_API_KEYв.env
Согласно официальной документации OpenAI, Python SDK устанавливается пакетом openai-codex, использует AsyncCodex, умеет thread_start / thread_resume, turn.stream() и поставляется с закрепленным Codex runtime.
Установка
git clone <repo> && cd codex-as-server-admin-py
sudo bash deploy/install.sh
sudo nano /etc/codex-tg-bot/.env
sudo systemctl restart codex-tg-bot
Проверка:
systemctl status codex-tg-bot
journalctl -u codex-tg-bot -f
Конфигурация (/etc/codex-tg-bot/.env)
| Переменная | Описание |
|---|---|
TELEGRAM_API_ID / TELEGRAM_API_HASH |
Значения с https://my.telegram.org/apps |
TELEGRAM_BOT_TOKEN |
Токен от @BotFather |
ADMIN_IDS |
Telegram user ID через запятую |
WORK_DIR |
Рабочая директория Codex, по умолчанию / |
OPENAI_API_KEY |
Опционально; если пусто, SDK переиспользует существующий Codex login |
CODEX_DEFAULT_MODEL |
Опциональная модель по умолчанию |
CODEX_SANDBOX |
full-access, workspace-write или read-only; по умолчанию full-access |
CODEX_APPROVAL_MODE |
auto_review или deny_all; по умолчанию auto_review |
CODEX_BIN |
Опциональный путь к конкретному codex executable |
SESSIONS_FILE |
Опциональный путь к JSON-файлу состояния |
Команды бота
- любой текст - задача для Codex
/new- новая беседа, сброс текущегоthread_id/compact- сжать контекст текущего Codex thread/model- выбор модели и reasoning effort/status- статус задачи, thread, модели и sandbox/stop- отменить текущую задачу/help- справка
Локальный запуск
python -m venv venv
venv/bin/pip install -r requirements.txt
cp .env.example .env
venv/bin/python -m bot.main
Для разработки лучше указывать WORK_DIR на тестовую папку и начинать с CODEX_SANDBOX=workspace-write.
Description
Languages
Python
93.9%
Shell
6.1%