2.5 KiB
2.5 KiB
name, description, type
| name | description | type |
|---|---|---|
| CLIProxy на code-server (10.0.0.179) | Claude Code использует CLIProxy OAuth — процедура обновления токена при протухании | 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), но требует периодического обновления токена.
Процедура обновления токена
- Остановить сервис:
systemctl stop cliproxy.service - Запустить логин:
/usr/local/bin/cli-proxy-api -config /root/.cli-proxy-api/config.yaml -claude-login -no-browser - CLIProxy покажет URL для SSH-туннеля и ссылку авторизации
- На локальной машине сделать SSH-туннель:
ssh -L 54545:127.0.0.1:54545 root@202.71.12.186 - Открыть ссылку авторизации в браузере, залогиниться batlaew@gmail.com
- После callback — токен обновится в
/root/.cli-proxy-api/claude-batlaew@gmail.com.json - Запустить сервис:
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 для принудительного рефреша до истечения токена