Files
obsidian-vault/personal/projects/personal-os/claude-wrapper-proxy.md
T

55 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Claude Wrapper Proxy — Docker
## Расположение
| Item | Value |
|------|-------|
| Путь | `~/Docker/claude-wrapper-proxy/` |
| Compose | `docker-compose.yml` |
| Dockerfile | `Dockerfile` |
| Env | `.env` — содержит `CLAUDE_CODE_OAUTH_TOKEN` |
| Порт | 3457 (хостовый на 3456) |
## Основа
ChrisCross3/claude-proxy-full — самый продвинутый форк с MCP injection, Isolated mode, Caller-Dispatched Tools.
## Проблемы
### "Not logged in" при старте
**Причина**: OAuth токен expired. `~/.claude/.credentials.json` имеет `expiresAt`, который истекает. Claude CLI не может обновить через read-only volume.
**Решение**: передать `CLAUDE_CODE_OAUTH_TOKEN` в `.env`. Токен берётся из живой сессии Claude CLI или из `.hermes/.env`.
### Node.js на Alpine не отвечает на внешние запросы
**Причина**: `index.js` слушает на `127.0.0.1` внутри контейнера. Docker port mapping не перенаправляет с `0.0.0.0` на `127.0.0.1`.
**Решение**: в Dockerfile пропатчен `index.js``host` заменён с `127.0.0.1` на `0.0.0.0`.
### JsonWebTokenError при старте
**Причина**: пустой OAuth токен. Claude CLI внутри контейнера требует `CLAUDE_CODE_OAUTH_TOKEN` в env.
**Решение**: токен передан через `.env` + env_file в docker-compose.
## Сборка и запуск
```bash
cd ~/Docker/claude-wrapper-proxy
docker-compose build
docker-compose up -d
```
Проверка: `curl http://localhost:3457/v1/health` → должен вернуть `Hello.`
## Использование в Hermes
В `~/.hermes/config.yaml`:
```yaml
providers:
claude:
base_url: http://localhost:3457/v1
```