От OpenClaw к Claude Code — 24/7 AI-агент в Telegram на VPS
Установка персонального AI-агента в Telegram без подтверждений на каждое действие. Прямая замена OpenClaw на официальный плагин Anthropic — 12 шагов на VPS.
Обсудить статью в ИИ
Отправьте готовый промпт в ChatGPT, Claude, Gemini или Perplexity — получите краткий пересказ, задайте уточняющие вопросы или сравните идеи из гайда.
Установка персонального AI-агента в Telegram, отвечающего круглосуточно, без подтверждений на каждое действие. Прямая замена OpenClaw на официальное решение Anthropic.
Аудитория: уже пробовали OpenClaw · Уровень: копипаста в SSH
Связанные материалы: Как не сжечь все токены в Claude Code, Claude для новичков, Полное руководство для начинающих по OpenClaw.
01 — Для кого этот гайд
- У вас был OpenClaw (или Clawdbot/Moltbot) — нравилось управлять ИИ из Telegram, но раздражали ограничения, постоянные обновления и инциденты безопасности.
- Вы не программист, но копипастить команды в SSH умеете.
- Хотите простой, надёжный и официальный AI-агент в Telegram, доступный 24/7 на вашем VPS.
Гайд пройден на чистой Ubuntu 24.04, занимает ~30 минут руками или ~5 минут, если делегировать Claude Code.
02 — Что принесет
- Telegram-бот 24/7 — отвечает даже когда ноут закрыт, сервер ребутается, дома вырубили интернет.
- Claude Opus/Sonnet — одна из самых сильных моделей в мире, обладающая всеми возможностями Claude Code.
- Без подтверждений — бот выполняет команды сразу, без ручного «Разрешить Да/Нет» на каждое действие.
- На вашем VPS — никаких компонентов серверов, полный контроль данных.
- Файлы и команды — читает и правит файлы, выполняет оболочку, заходит на MCP-серверы, использует навыки.
- Официально и проверенно — через плагин
claude-plugins-officialот Anthropic, нет риска со стороны навыков.
03 — Чем это лучше OpenClaw
OpenClaw — отличный проект с самой широкой поддержкой каналов (WhatsApp, Slack, Discord, Signal и ещё 20+). Но если вам нужен именно Telegram-бот с минимумом surface area и официальной поддержкой Anthropic — Claude Code Channels делает это лучше.
| Критерий | OpenClaw | Claude Code Channels |
|---|---|---|
| Лицензия и поддержка | Open-source MIT, community-driven | Официальный плагин Anthropic |
| Размер кодовой базы | ~300 000 строк кода | Один бинарь Claude + один плагин |
| Установка | openclaw onboard wizard, ~10–30 минут | 12 шагов из этого гайда, ~30 минут |
| Каналы | 23+ платформы | Telegram, Discord (iMessage только macOS) |
| Модели | Claude, GPT, Gemini, Ollama | Только Claude (Max/Pro или API) |
| Подтверждения через Telegram | Нет, всё через CLI | Да — через settings.json (шаг 10) |
| 24/7 на VPS | Да, через systemd | Да, через systemd (шаг 11) |
| Безопасность из коробки | Sandbox опционально | 3 слоя: allowlist + opt-in --channels + только approved плагины |
| Multi-agent | Встроено | Не из коробки |
| Голос и Canvas | Voice Wake, Talk Mode, Live Canvas | Нет |
| Цена | Бесплатный + API/подписка | Claude Max ($100–200/мес) или API |
Три ключевых причины переключиться
1. Безопасность. Главный maintainer OpenClaw предупреждал: «Если ты не понимаешь, как запустить command line — это слишком опасный проект». Claude Code Channels замкнут на проверенный плагин — surface area меньше в десятки раз.
2. Простота обслуживания. OpenClaw ставит Node.js daemon, требует Node 22+, сотни конфиг-ключей. Здесь — один бинарь и один плагин, обновляется через claude /plugin update.
3. Официальная гарантия. Плагин telegram входит в claude-plugins-official. Не будет внезапной смены имени (Clawdbot → Moltbot → OpenClaw за 2 месяца).
04 — Что понадобится
| # | Что нужно | Как проверить | |
|---|---|---|---|
| 1 | VPS на Ubuntu 24.04 (или Debian 12+), 1+ ГБ ОЗУ, root-доступ | `cat /etc/os-release \ | grep ВЕРСИЯ` — Ubuntu 22+ или Debian 12+ |
| 2 | SSH-доступ к VPS | ssh root@<ip> должен разрешать | |
| 3 | Подписка Клод Макс или Про | Платная подписка на claude.ai | |
| 4 | Telegram-аккаунт | У вас уже есть | |
| 5 | 30 минут | — |
05 — Установка по шагам
На каждом шаге есть verify-команда — после выполнения проверьте, что вывод соответствует ожидаемому. Если нет — переходите в раздел «Если упало».
Шаг 1 — Подключитесь к VPS
ssh root@<your-vps-ip>
Verify:
whoami
→ ожидаемый вывод: root
Шаг 2 — Установите Claude Code
Нативный установщик от Anthropic (не npm — он создаёт проблемы под root):
curl -fsSL https://claude.ai/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
Verify:
claude --version
→ ожидаемый вывод: 2.1.80 или новее
Шаг 3 — Авторизуйтесь в Claude Max
claude /login
Откройте URL-адрес в браузере (с тем же IP, с которым зарегистрировался Клод), авторизуйтесь, вставьте код в терминал.
Проверять:
Клод /статус 2>&1 | голова -5
→ должна быть строка о подписке Max или Pro
Шаг 4 — Установите булочку
Telegram-плагин требует Bun (не Node.js — иначе плагин запускается без ошибок, но не работает):
локон -fsSL https://bun.sh/install | бить
источник ~/.bashrc
Проверять:
~/.bun/bin/bun --версия
→ Ожидаемый вывод: 1.x.x
Шаг 5 — Создание Telegram-бота через @BotFather
В Telegram, без терминала:
1. Найдите @BotFather
2. Отправьте /newbot
3. Подумайте о имени бота.
4. Имя пользователя — обязательно заканчивается на «bot» (например, «myassistant_bot»).
5. Сохраните токен от BotFather (123456789:ABC-DEF...)
Узнайте свой Telegram ID:
1. Найдите @userinfobot
2. Отправьте любое сообщение
3. Сохраните числовой ID (например, 123456789)
Шаг 6 — Установите Telegram-плагин
Клод
Внутри Claude Code:
/plugin marketplace add claude-plugins-official
/plugin install telegram@claude-plugins-official
/exit
Verify:
ls ~/.claude/plugins/claude-plugins-official/telegram
→ должна быть папка с плагином файлов
Шаг 7 — Запишите токен бота в плагин .env
mkdir -p ~/.claude/channels/telegram
cat > ~/.claude/channels/telegram/.env << 'EOF'
TELEGRAM_BOT_TOKEN=<токен вашего бота>
ЭОФ
chmod 600 ~/.claude/channels/telegram/.env
Замените <your-bot-token> на токен от BotFather.
Проверять:
test -f ~/.claude/channels/telegram/.env && echo "OK"
→ OK
Шаг 8 — Тестовый запуск + спаривание
claude --channels plugin:telegram@claude-plugins-official
В Телеграмме:
1. Найдите боту по имени пользователя.
2. Отправьте «привет»
3. Бот отвечает 6-значным кодом (например, 80194b)
В терминале:
/telegram:пара доступа 80194b
Проверка: отредактировать боту «привет, представься» — должен ответить как Клод.
Шаг 9 — Закрыть бота только себе
Если предыдущий запуск работает — Ctrl+C и запустите всё заново:
claude --channels plugin:telegram@claude-plugins-official
Внутри Claude:
/telegram:access policy allowlist
/telegram:access list
Allowlist = только ваш Telegram ID. Иначе любой, кто узнает username бота, сможет писать ему. Выйдите: /exit.
Шаг 10 — Разрешения без подтверждений
По умолчанию Клод запрашивает решение по каждому действию — через Telegram эти запросы не производятся и бот зависит.
cat > ~/.claude/settings.json << 'EOF'
{
"defaultMode": "bypassPermissions",
"effortLevel": "high",
"enabledPlugins": {
"telegram@claude-plugins-official": true
},
"permissions": {
"allow": [
"Bash",
"Read",
"Write",
"Edit",
"MultiEdit",
"mcp__plugin_telegram_telegram__reply",
"mcp__plugin_telegram_telegram__react",
"mcp__plugin_telegram_telegram__edit_message"
],
"deny": []
}
}
EOF
Verify:
кот ~/.claude/settings.json | python3 -m json.tool > /dev/null && echo «ОК»
→ OK (действительный JSON)
Шаг 11 — Автозапуск через systemd
cat > /etc/systemd/system/claude-telegram.service << 'EOF'
[Единица]
Описание=Канал Telegram с кодом Клода
After=network-online.target
Хочет=network-online.target
[Сервис]
Тип=простой
Пользователь=корень
РабочийКаталог=/корень
EnvironmentFile=-/etc/среда
Environment="PATH=/root/.local/bin:/root/.bun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Среда="HOME=/корень"
Среда="TERM=xterm-256color"
Environment="BUN_INSTALL=/root/.bun"
ExecStart=/usr/bin/script -qfc "/root/.local/bin/claude --channels плагин:telegram@claude-plugins-official" /var/log/claude-telegram.log
СтандартныйВход=ноль
СтандартныйВыход=ноль
Стандартная ошибка = ноль
Перезапустить=всегда
Рестартсек=10
KillMode=смешанный
[Установить]
WantedBy=multi-user.target
ЭОФ
Если в /etc/environment есть PATH — закомментируйте:
grep -E '^PATH=' /etc/environment
sed -i.bak 's/^PATH=/#PATH=/' /etc/environment
Включите автозапуск:
systemctl демон-перезагрузка
systemctl включить claude-telegram.service
systemctl запустить claude-telegram.service
сон 5 && статус systemctl claude-telegram.service --no-pager | голова -10
→ Активный: активен (работает)
Шаг 12 — Тест перезагрузки (24/7)
перезагрузка
Через ~30 секунд:
ssh root@<ваш-vps-ip>
статус systemctl claude-telegram.service --no-pager | голова -5
→ Активный: активен (работает)
Отправить боту «Жив? Покажи аптайм». Если ответил — у вас 24/7 AI-агент в Telegram.
06 — Проверка работоспособности
# 1. Сервис запущен?
статус systemctl claude-telegram.service --no-pager | голова -5
# 2. Процесс Клода работает?
пс-эф | Греп Клод | греп -v греп
# 3. Свежие логи
журналctl -u claude-telegram.service -n 30 --no-pager
№ 4. Лог «глазами бота»
хвост -50 /var/log/claude-telegram.log
07 — Если упало
| Симптом | Причина | Решение | |
|---|---|---|---|
claude: command not found | ~/.local/bin не в PATH | export PATH="$HOME/.local/bin:$PATH" и добавьте в ~/.bashrc | |
| Плагин установился, но «cannot find bun» | Bun не в PATH | Шаг 4 заново | |
| Бот не отвечает после pair | Нет allowlist | Шаг 9 | |
| Бот зависает на действиях | Нет settings.json с bypassPermissions | Шаг 10 | |
Active: failed | PATH из /etc/environment или нет TTY | Шаг 11 — проверьте /etc/environment и script -qfc | |
| После reboot бот не поднимается | Не выполнен enable | systemctl enable claude-telegram.service | |
Permission Request: ... | Невалидный JSON в settings | `cat ~/.claude/settings.json \ | python3 -m json.tool` |
Если ни одно не подходит — journalctl -u claude-telegram.service -n 100 --no-pager и отправьте логи Claude Code на десктопе: «Подними мой VPS-агент, вот логи».
08 — Опциональные улучшения
A. Не-root пользователь для Claude
id claude-agent 2>/dev/null && echo "уже есть, пропустите раздел"
useradd -m -s /bin/bash claude-agent
usermod -aG sudo claude-agent
mkdir -p /home/claude-agent/.ssh
cp /root/.ssh/authorized_keys /home/claude-agent/.ssh/
chown -R claude-agent:claude-agent /home/claude-agent/.ssh
chmod 700 /home/claude-agent/.ssh
chmod 600 /home/claude-agent/.ssh/authorized_keys
Пройдите гайд заново под этим юзером.
B. ufw firewall
ufw allow 22/tcp
ufw --force enable
C. fail2ban
apt update && apt install -y fail2ban
systemctl enable --now fail2ban
D. Sync рабочей папки через GitHub
ssh-keygen -t ed25519 -f ~/.ssh/github-deploy -N ""
cat ~/.ssh/github-deploy.pub
# Добавьте ключ в GitHub Deploy keys
GIT_SSH_COMMAND='ssh -i ~/.ssh/github-deploy' \
git clone git@github.com:<your-username>/<your-vault>.git ~/agent-workspace
cat > ~/agent-workspace/sync.sh << 'EOF'
#!/bin/bash
cd ~/agent-workspace
GIT_SSH_COMMAND='ssh -i ~/.ssh/github-deploy' git pull --rebase --autostash
git add -A
git -c user.email='agent@<your-domain>' -c user.name='claude-agent' \
commit -m "auto-commit: $(date -u +%Y-%m-%dT%H:%M:%SZ)" 2>/dev/null
GIT_SSH_COMMAND='ssh -i ~/.ssh/github-deploy' git push
EOF
chmod +x ~/agent-workspace/sync.sh
(crontab -l 2>/dev/null; echo "*/30 * * * * /root/agent-workspace/sync.sh >> /var/log/vault-sync.log 2>&1") | crontab -
09 — Что дальше
Используйте боту как универсальный AI-интерфейс:
- Генеральный директор-помощник: «Что у меня в календаре на завтра?»
- DevOps без терминала: «Покажи платформу сервера», «Перезапусти сервис»
- Письма и тексты: «Напиши черновик ответа партнёру»
- Аналитика по файлам: положите CSV/PDF в порт адаптера, попросите выжать инсайты.
- Навыки: установка сверхспособностей или других — Каналы Claude Code работают с любыми навыками Claude Code
Документация
FAQ
Сколько стоит? VPS $5–10/мес + Claude Max ($100–200/мес) или API. На API один вечер интенсивного использования ≈ 1–3 доллара.
Можно на macOS вместо VPS? Да, но без 24/7 — когда ноут спит, бот молчит.
Чем отличается Telegram-бота от GPT? Обычный бот = обертка над API. Здесь — Claude Code с файловой системой, оболочкой, MCP и навыками.
Безопасно ли давать боту root? С белым списком и чтением журналов — для личного использования нормально. Для производства — некорневой юзер (раздел 8А).
Что если Anthropic забанит аккаунт? Бот перестанет существовать. Сделайте бэкап ~/.claude/ и держите план Б.
Дальше: Neuro OS для агентов управляемой компании, Telegram — если заялистр на шаге.