--- name: CLIProxy на code-server (10.0.0.179) description: Claude Code использует CLIProxy OAuth — процедура обновления токена при протухании type: project --- Claude Code на code-server (LXC 132, IP 10.0.0.179) работает через локальный CLIProxy (порт 8317, cliproxy.service). **Проблема:** OAuth токен (batlaew@gmail.com) протухает каждые ~8 часов. CLIProxy может не обновить refresh_token автоматически → клиент переходит в suspended → Claude Code перестаёт работать. **Why:** CLIProxy использует OAuth через claude.ai, а не прямой API. Это бесплатно (подписка Pro), но требует периодического обновления токена. ## Процедура обновления токена 1. Остановить сервис: `systemctl stop cliproxy.service` 2. Запустить логин: `/usr/local/bin/cli-proxy-api -config /root/.cli-proxy-api/config.yaml -claude-login -no-browser` 3. CLIProxy покажет URL для SSH-туннеля и ссылку авторизации 4. На локальной машине сделать SSH-туннель: `ssh -L 54545:127.0.0.1:54545 root@202.71.12.186` 5. Открыть ссылку авторизации в браузере, залогиниться batlaew@gmail.com 6. После callback — токен обновится в `/root/.cli-proxy-api/claude-batlaew@gmail.com.json` 7. Запустить сервис: `systemctl start cliproxy.service` ## Конфигурация - settings.json: `apiBaseUrl: http://localhost:8317`, `apiKey: sk-cliproxyapi-local` - Env: `ANTHROPIC_BASE_URL=http://localhost:8317` - Токен файл: `/root/.cli-proxy-api/claude-batlaew@gmail.com.json` - API keys в config.yaml: `sk-clawdbot-proxy`, `sk-f4ab6903a58a4cb4b2b453ae2bbf2c6e` ## Альтернатива (fallback) Прямой API: ключ `ANTHROPIC_API_KEY=sk-ant-api03-vMW...` доступен в env. Для переключения: в settings.json поменять apiBaseUrl на `https://api.anthropic.com` и apiKey на прямой ключ. Но это платно. ## TODO - Выяснить, почему auto-refresh не срабатывает (проверить после следующего протухания) - Рассмотреть cron для принудительного рефреша до истечения токена