SHiNE-server/SHiNE-agent-bot-coder
2026-05-24 09:30:25 +03:00
..
scripts/systemd Документировать API и сервис агента-кодера 2026-05-24 08:04:44 +03:00
.env.example Добавить канальный режим агента-кодера 2026-05-24 09:25:25 +03:00
.gitignore Документировать API и сервис агента-кодера 2026-05-24 08:04:44 +03:00
AGENT.md Удалить Java-реализацию агента-кодера 2026-05-24 09:30:25 +03:00
py_bot_service.py Добавить канальный режим агента-кодера 2026-05-24 09:25:25 +03:00
README.md Удалить Java-реализацию агента-кодера 2026-05-24 09:30:25 +03:00

SHiNE-agent-bot-coder

Локальный Telegram-бот-сервис для пользователя ai:

  • принимает сообщения от @AidarKC;
  • ведёт историю диалога в JSONL;
  • ставит задачи в файловую очередь;
  • обрабатывает задачи строго последовательно;
  • поддерживает текстовые и голосовые сообщения (voice/audio через OpenAI transcription);
  • вызывает Codex CLI и отправляет ответ в Telegram;
  • при рестарте восстанавливает незавершённые задачи;
  • отправляет аварийный статус только если Codex молчит 2 минуты подряд во время активной задачи;
  • принимает сообщения из канала @shine_writing, выполняет команды только от @AidarKC, а сообщения других авторов сохраняет как контекст.

Рабочая реализация сервиса — только py_bot_service.py. Старая Java-реализация удалена, потому что не заработала и больше не используется.

Структура

  • .env — локальные секреты и параметры запуска (не коммитится);
  • data/py_queue.jsonl — очередь Python-сервиса;
  • data/py_state.json — текущее состояние Python-сервиса;
  • data/py_processed_updates.log — дедуп входящих update;
  • data/history/*.jsonl — активные истории;
  • data/history/archive/*.jsonl — архив историй после /new.

Локальный запуск

  1. Скопировать пример:
    • cp .env.example .env
  2. Заполнить секреты в .env.
    • TELEGRAM_BOT_TOKEN — токен рабочего Telegram-бота.
    • ALLOWED_TELEGRAM_USERNAME — пользователь, чьи сообщения выполняются как команды.
    • ALLOWED_TELEGRAM_CHANNEL_USERNAME — канал, из которого принимаются channel_post.
  3. Запуск:
    • python3 SHiNE-agent-bot-coder/py_bot_service.py

Быстрый self-test Codex (без Telegram)

python3 SHiNE-agent-bot-coder/py_bot_service.py --selftest-codex "Ответь одной строкой: Codex работает"

Запуск как systemd-сервис

Файлы для установки:

  • scripts/systemd/shine-agent-bot-coder.service
  • scripts/systemd/install-local-systemd.sh

Установка:

  • bash SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh

Проверка:

  • systemctl --user status shine-agent-bot-coder --no-pager
  • journalctl --user -u shine-agent-bot-coder -f

Перезапуск после изменений:

  • systemctl --user restart shine-agent-bot-coder

Telegram-команды

  • /status — активная задача и размер очереди.
  • /queue — список задач в очереди.
  • /stop — остановить текущую задачу.
  • /cancel <id|all> — удалить задачу по id/префиксу или очистить очередь.
  • /new — архивировать текущую историю и начать новый диалог.
  • /restart_service — перезапустить сервис; systemd должен поднять процесс заново.