Remote Control с iPhone/iPad: изолированный Max-конфиг + systemd-сервис на LXC 132
- Убрано авто-открытие вкладки Claude Code в code-server (auto-run-command) - decisions/2026-06-01-claude-remote-control-mobile.md
This commit is contained in:
41
decisions/2026-06-01-claude-remote-control-mobile.md
Normal file
41
decisions/2026-06-01-claude-remote-control-mobile.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Claude Code Remote Control с iPhone/iPad (Max-аккаунт)
|
||||
|
||||
**Дата:** 2026-06-01
|
||||
**Хост:** code-server LXC 132 (10.0.0.179)
|
||||
|
||||
## Задача
|
||||
Управлять сессией Claude Code на LXC 132 из официального приложения Claude на iPhone/iPad.
|
||||
|
||||
## Ключевая проблема
|
||||
Remote Control (`claude.ai/code`) **требует настоящий логин claude.ai (Pro/Max)** и **прямой Anthropic API**.
|
||||
Не работает с прокси: кастомный `ANTHROPIC_BASE_URL` (OmniRoute `omni.dttb.ru`) + `ANTHROPIC_AUTH_TOKEN`/`ANTHROPIC_API_KEY` ломают его.
|
||||
|
||||
Но рабочий сетап code-server использует именно прокси для бесплатных моделей — его трогать нельзя.
|
||||
|
||||
## Решение: изолированный конфиг + systemd
|
||||
Отдельный `CLAUDE_CONFIG_DIR=/root/.claude-rc` с Max-логином, без прокси-переменных. Не конфликтует с рабочим `~/.claude`.
|
||||
|
||||
### Что в /root/.claude-rc
|
||||
- `.credentials.json` — Max OAuth (скоуп `user:sessions:claude_code` = full-scope token, обязателен для RC). Скопирован из `~/.claude/.credentials.json`.
|
||||
- `.claude.json` — содержит `oauthAccount` (org UUID `d76aa101...`, аккаунт batlaew@gmail.com). **Без него** RC падает с *"Unable to determine your organization"*. Сюда же добавлен trust для рабочей папки: `projects["/root/knowledge-base/projects/niikn"].hasTrustDialogAccepted=true`.
|
||||
- `start-rc.sh` — врапер: `unset` всех `ANTHROPIC_*` прокси-переменных, `cd niikn`, `claude remote-control --name niikn --spawn same-dir <<< "y"` (y подтверждает промпт «Enable Remote Control?»).
|
||||
|
||||
### systemd
|
||||
`/etc/systemd/system/claude-rc.service` — `enabled`, автостарт, `Restart=on-failure`. `UnsetEnvironment=` всех `ANTHROPIC_*` на уровне unit.
|
||||
|
||||
## Подключение с телефона
|
||||
1. Приложение Claude (iOS) → войти **тем же** Max-аккаунтом (batlaew@gmail.com).
|
||||
2. Вкладка **Code** → сессия `niikn` (зелёный индикатор = онлайн) → подключиться.
|
||||
3. Альтернатива из браузера: `https://claude.ai/code` или прямой URL окружения.
|
||||
4. Доступ снаружи НЕ зависит от ai.dttb.ru/NPM — RC ходит через инфраструктуру Anthropic.
|
||||
|
||||
## Управление
|
||||
- Статус: `systemctl status claude-rc`
|
||||
- Логи/URL: `journalctl -u claude-rc -f`
|
||||
- Стоп: `systemctl stop claude-rc`
|
||||
- Обновить креды (если протухнут): перелогиниться в `~/.claude`, затем `cp ~/.claude/.credentials.json /root/.claude-rc/`
|
||||
|
||||
## Грабли
|
||||
- Версия CLI ≥ 2.1.51 (стоит 2.1.92). ✓
|
||||
- API-ключ / Console-аккаунт / `CLAUDE_CODE_USE_BEDROCK|VERTEX|FOUNDRY` блокируют RC.
|
||||
- `oauthAccount` хранится в `.claude.json`, а НЕ в `.credentials.json` — копировать оба файла.
|
||||
Reference in New Issue
Block a user