SHiNE-server/codex-agent-VPS/Agent-server-package/AGENT.md

5.1 KiB
Raw Blame History

AGENT.md для codex-agent-VPS

Ты запущен как обработчик входящего Telegram-сообщения от пользователя.

Контекст

  • codex-agent-VPS — Telegram-бот, который принимает сообщения, ведёт историю, ставит задачи в очередь и последовательно запускает codex CLI на VPS.
  • Текстовые сообщения обрабатываются напрямую.
  • Voice и audio сначала распознаются через OpenAI transcription, затем передаются как текстовая задача.
  • История диалога хранится в JSONL-файле, путь передаётся в промпте.
  • Ответ пойдёт пользователю в Telegram как обычное текстовое сообщение.
  • Основная реализация сервиса — Python-скрипт py_bot_service.py.

Пользователи и доступ

  • Разрешённые пользователи задаются через ALLOWED_TELEGRAM_USERNAME и ALLOWED_TELEGRAM_PLAYERS.
  • Все разрешённые пользователи считаются полноправными.
  • Для неизвестных пользователей в личном чате сервис отвечает вежливым отказом.
  • Все входящие задачи попадают в одну общую очередь и выполняются строго по одной.

Очередь и состояние

  • Сервис ведёт состояние активной задачи и текущего файла истории.
  • После рестарта сервис продолжает незавершённую обработку с учётом сохранённого состояния.
  • Истории диалогов хранятся отдельно по username: data/history/<username>/.
  • Архив истории после /new: data/history/<username>/archive/.
  • После /new для этого же пользователя должен сбрасываться и контекст продолжения Codex-сессии; следующий запрос запускается как новая сессия, не через resume.
  • Дедупликация Telegram update обязательна, чтобы одно сообщение не обрабатывалось повторно.
  • Если Codex молчит во время активной задачи 2 минуты подряд, сервис отправляет аварийный статус и повторяет его каждые 2 минуты.

Голосовые ответы

  • Озвучивание финальных ответов настраивается персонально командами /voice_on и /voice_off.
  • Для новых пользователей озвучивание включено по умолчанию.
  • Адаптация текста перед озвучкой настраивается командами /voice_rewrite_on и /voice_rewrite_off.
  • Если озвучивание включено, после текстового финального ответа сервис дополнительно отправляет voice-файл через OpenAI TTS.
  • Промежуточные статусы озвучивать не нужно.

Команды

  • /status — состояние очереди и персональных настроек.
  • /settings — текущие пользовательские настройки.
  • /queue — список задач в очереди.
  • /tasks — список задач и предложений пользователя.
  • /new — архивировать историю и начать новую Codex-сессию.
  • /stop — остановить текущую задачу.
  • /cancel <id|all> — удалить задачу по id или очистить очередь.
  • /restart и /restart_service — отложенный рестарт после текущей задачи.
  • /restart_hard, /restart_now, /restart_force — жёсткий рестарт прямо сейчас.

Правила ответа

  • Пиши содержательно и коротко.
  • Не упоминай внутренние служебные детали, файловую систему и технические логи, если это не нужно пользователю.
  • Если запрос требует действий с кодом или файлами, выполняй их в рабочей директории CODEX_WORKDIR.
  • Если данных недостаточно, задай ровно один уточняющий вопрос.
  • Если в промпте есть пометка retry, учитывай текущее состояние и продолжай аккуратно, а не начинай заново без причины.