Esc
Начните вводить для поиска

Claude Code + OpenClaw через прокси-мост

8 апреля 2026. 4 апреля Anthropic отключили OAuth-токены для сторонних сервисов. Старый метод через claude setup-token больше не работает. Ниже — новый способ через прокси-мост.

OpenClaw умеет работать с Claude двумя способами: через API-ключ (оплата за токены) или через подписку Claude Code (фиксированная цена). Эта инструкция — про второй способ: вы подключаете свою подписку, и бот работает 24/7 в Telegram без дополнительных расходов за каждое сообщение.

Ниже два пути:

  • С нуля — чистый VPS, ничего не установлено
  • Миграция — OpenClaw уже работает через API-ключ, хотите переключить на подписку

Что понадобится

  • VPS с Ubuntu/Debian (минимум 1 ГБ RAM)
  • Установленный OpenClaw (openclaw --version отвечает)
  • Установленный Claude CLI (claude --version отвечает)
  • Активная подписка Claude Code (Max или Team)
  • Токен Telegram-бота (от @BotFather)
  • Ваш Telegram ID (узнать у @userinfobot)

Шаг 1. Создание пользователя clawuser

Claude CLI запрещает запуск с флагами автоматизации под root. Поэтому нужен отдельный пользователь с правами sudo.

С нуля

# Создаем пользователя и его домашнюю директорию
useradd -m clawuser
mkdir -p /home/clawuser/.config
chown -R clawuser:clawuser /home/clawuser/

# Разрешаем sudo без пароля
echo "clawuser ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/clawuser

Миграция

Проверяем, существует ли пользователь:

id clawuser
  • Если ответ есть (uid, gid) — пропускаем, переходим к шагу 2
  • Если no such user — выполняем команды из блока «С нуля» выше

Шаг 2. Авторизация в Claude CLI

Нужно один раз залогиниться под clawuser, чтобы Claude получил доступ к вашей подписке. Шаги одинаковые для обоих путей.

sudo -u clawuser claude login
  1. В терминале появится ссылка — скопируйте и откройте в браузере
  2. Авторизуйтесь в Anthropic и скопируйте полученный код
  3. Вставьте код в терминал, нажмите Enter
  4. Пройдите первичную настройку, пока не увидите строку ввода Claude
  5. Нажмите Ctrl + C, чтобы выйти

Проверка:

sudo -u clawuser claude --version

Если отвечает версией без ошибок — логин прошёл.


Шаг 3. Настройка прокси-сервера (мост)

Прокси-мост — промежуточный сервис, который позволяет OpenClaw отправлять запросы в Claude CLI как будто это обычный API. Без него OpenClaw и CLI не могут общаться.

# Устанавливаем прокси-мост
npm install -g proxy-acpx-x

# Даем права на исполнение модулей прокси
chmod -R 777 /usr/lib/node_modules/proxy-acpx-x/

# Создаем systemd-сервис
cat <<EOF > /etc/systemd/system/claude-proxy.service
[Unit]
Description=Claude CLI Proxy
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/sudo -u clawuser /usr/bin/node /usr/lib/node_modules/proxy-acpx-x/dist/http-server.js --port 52088
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# Запускаем
systemctl daemon-reload
systemctl enable claude-proxy
systemctl start claude-proxy

Проверка:

systemctl status claude-proxy

Должен быть active (running).


Шаг 4. Настройка OpenClaw

Привязываем Telegram и указываем OpenClaw использовать локальный прокси вместо внешнего API.

С нуля

# Telegram-канал (замените TOKEN и ID на свои)
openclaw config set channels.telegram \
  '{"enabled": true, "botToken": "ВАШ_ТОКЕН_БОТА", "allowedUserIds": [ВАШ_ТГ_ID]}' \
  --strict-json

# Прокси-провайдер
openclaw config set models.providers.claude-local \
  '{"baseUrl":"http://127.0.0.1:52088/v1","apiKey":"sk-dummy-key","api":"openai-completions","models":[{"id":"claude-code-proxy","name":"Claude Code (subscription)","api":"openai-completions","reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":200000}]}' \
  --strict-json

# Права на рабочую папку
chown -R clawuser:clawuser /root/.openclaw/workspace/

# Задаем прокси моделью по умолчанию
openclaw config set agents.defaults.model claude-local/claude-code-proxy

Миграция

Telegram уже настроен, добавляем только провайдера:

# Добавляем новый провайдер (старый остается как fallback)
openclaw config set models.providers.claude-local \
  '{"baseUrl":"http://127.0.0.1:52088/v1","apiKey":"sk-dummy-key","api":"openai-completions","models":[{"id":"claude-code-proxy","name":"Claude Code (subscription)","api":"openai-completions","reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":200000}]}' \
  --strict-json

# Права на workspace
chmod 755 /root/.openclaw/
chmod -R 777 /root/.openclaw/workspace/

# Задаем прокси моделью по умолчанию
openclaw config set agents.defaults.model claude-local/claude-code-proxy

# Отключить старый API-провайдер (опционально):
openclaw config unset models.providers.ИМЯ_СТАРОГО_ПРОВАЙДЕРА

sk-dummy-key — это заглушка. Прокси авторизуется через подписку clawuser, настоящий ключ не нужен.


Шаг 5. Запуск и первый диалог

openclaw gateway stop
openclaw gateway start

Тест в Telegram — напишите боту:

  1. Привет, кто ты? — должен ответить, что он ваш AI-ассистент
  2. Выполни команду sudo whoami и создай файл hello.txt в воркспейсе — проверка прав

Если оба теста прошли — готово. Бот работает через подписку. Можно закрыть терминал.


Если что-то пошло не так

СимптомКоманда диагностикиЧто искать
Бот молчит в Telegramsystemctl status openclaw-gatewayДолжен быть active (running)
Бот не понимает запросыsystemctl status claude-proxyДолжен быть active (running)
Ошибки авторизацииjournalctl -u claude-proxy -fauth error или token expired — повторите шаг 2
Прокси падаетjournalctl -u claude-proxy -fEADDRINUSE — порт 52088 занят

Безопасность

clawuser имеет права sudo без пароля. Через Telegram бот может устанавливать пакеты, править конфиги и управлять сервером. Не давайте доступ к боту посторонним — контролируйте список allowedUserIds в конфиге.