kurigram bot with admin check by user IDs from env, per-chat Claude session resume, streaming progress, /model command for model and reasoning effort selection, and systemd deploy script. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude Server Admin Telegram Bot
Telegram-бот (Python, kurigram), который выполняет задачи по администрированию сервера через Claude Code с bypassPermissions, используя Claude Agent SDK.
- Доступ только для админов — Telegram user ID из env-переменной
ADMIN_IDS. - Контекст беседы сохраняется на чат (resume сессий Claude),
/newсбрасывает. - Стриминг прогресса: бот показывает вызовы инструментов по мере работы.
- Устанавливается как systemd-сервис, автозапуск после ребута.
⚠️ Безопасность: бот даёт полный контроль над сервером любому из ADMIN_IDS. Храните токен бота в секрете и не добавляйте лишних админов.
Требования на сервере
- Linux с systemd
- Python 3.10+
- Node.js 18+ и Claude Code CLI (
npm install -g @anthropic-ai/claude-code) - Аутентификация Claude:
ANTHROPIC_API_KEYв.envили залогиненный CLI (claude loginпод root)
Установка
git clone <repo> && cd claude-as-server-admin-py
sudo bash deploy/install.sh
sudo nano /etc/claude-tg-bot/.env # заполнить креды
sudo systemctl restart claude-tg-bot
Проверка:
systemctl status claude-tg-bot
journalctl -u claude-tg-bot -f
Конфигурация (/etc/claude-tg-bot/.env)
| Переменная | Описание |
|---|---|
TELEGRAM_API_ID / TELEGRAM_API_HASH |
с https://my.telegram.org/apps |
TELEGRAM_BOT_TOKEN |
от @BotFather |
ADMIN_IDS |
user ID через запятую (узнать: @userinfobot) |
WORK_DIR |
рабочая директория Claude Code, по умолчанию / |
ANTHROPIC_API_KEY |
опционально, если не используется claude login |
IS_SANDBOX=1 |
обязательно для bypassPermissions под root |
Команды бота
- любой текст — задача для Claude Code
/new— новая беседа (сброс контекста)/model— выбор модели (Fable 5 / Opus 4.8 / Sonnet 5 / Haiku 4.5) и уровня ризонинга (low…max) через inline-кнопки, настройки сохраняются per-chat/status— статус задачи и сессии/stop— отменить текущую задачу/help— справка
Локальный запуск (разработка)
python -m venv venv && venv/bin/pip install -r requirements.txt
cp .env.example .env # заполнить; WORK_DIR лучше указать тестовую папку
venv/bin/python -m bot.main
Description
Languages
Python
88.1%
Shell
11.9%