2026-07-09 15:02:25 +02:00
2026-07-09 15:02:25 +02:00
2026-07-09 14:02:14 +02:00
2026-07-09 14:02:14 +02:00
2026-07-09 14:02:14 +02:00
2026-07-09 15:02:25 +02:00

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_MODEL_CHOICES Кнопки /model, формат Label=model,Label=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
No description provided
Readme 78 KiB
Languages
Python 93.9%
Shell 6.1%