y83 code / инструмент

Аккаунты агентов

Экран отвечает на вопрос, который раньше был размазан по конфигам: откуда агент берёт модели и кто платит за ход. Для Codex и Claude Code есть два режима:

раздел реестра
AI и агенты
код
652 строк в 2 файлах
документ
38-agent_accounts.md
Раздел: AI & Agents
Идентификатор: agent_accounts · Экран: ui/agentauth/AgentAuthScreen.kt
Снимок: 2026-10-27

1. Зачем и что это

  • router — запросы идут в ws-backend, модели берутся из провайдеров приложения, цена хода считается по реестру тарифов;
  • native — первопартийный CLI ходит напрямую по подписке пользователя (ChatGPT Plus/Pro для Codex, Claude Pro/Max для Claude Code). Роутер, каталог провайдеров и счётчики стоимости в этом режиме не участвуют.

Режим — свойство устройства, а не отдельного треда: конфиг ~/.codex/config.toml и ~/.claude один, поэтому два агента одного типа не могут жить в разных режимах без взаимной поломки.

2. Как попасть

Хаб инструментов → секция AI & Agents → карточка «Аккаунты агентов» (hub_agent_accounts_title, подпись «Codex и Claude: роутер y83 или собственная подписка»).

Откуда ещёПуть
Мостapp_navigate с screen: "agent_accounts"

3. Экран: элементы и действия

ЭлементЧто делает
Карточка CodexТекущий режим, статус входа, переключатель y83 / native
Карточка ClaudeТо же для Claude Code
Кнопка входаЗапускает codex login --device-auth или claude auth login
Код/ссылка входаПоказывает URL и код, которые выдал CLI
Отмена и выходОтменяют незавершённый вход и выполняют logout CLI
Предупреждение nativeОбъясняет, что вход выполняет CLI, а токены подписки наш код не читает

Пока режим native, а входа нет, ход не отправляется: чат показывает «вход не выполнен» вместо невнятного отказа провайдера. Тихого отката на роутер нет — иначе непонятно, кто заплатил за ход.

4. Что меняется при переключении

РежимCodexClaude
routerВ конфиг возвращаются model_provider, model_catalog_json и секции y83_routerВыставляются ANTHROPIC_BASE_URL, токен роутера, модель и окно контекста
nativeРоутерные поля снимаются; политики, MCP y83, context7 и проектные секции остаютсяANTHROPIC_* не выставляются; служебные переменные остаются

Переключение гасит простаивающие процессы и перезапускает нужный сервис. Идущие ходы не трогаются: тред продолжается через resume.

5. Данные и границы

ЧтоГдеКто читает
Режимы~/.y83-ws/agent-auth.json (0600)app, backend
Вход Codex~/.codex/auth.jsonсам CLI
Вход Claude~/.claude/.credentials.jsonсам CLI
RESTGET /api/v1/agent-auth, `PUT /api/v1/agent-auth/{codexclaude}`app
Логин`POST /api/v1/agent-auth/{kind}/logincodecancellogout`app

Дефолт при отсутствии файла — router: обновление приложения не меняет поведение установки. Битый файл не перезаписывается молча — экран показывает ошибку бэкенда.

Границы: тумблер действует только на локальный бэкенд. У удалённого агента свой конфиг, свой вход и своя подписка; шаринг одной подписки между хостами не предусмотрен.

Источник: docs/project/hub/38-agent_accounts.md · AI и агенты · 652 строк в 2 файлах. Страница собирается из документации проекта при сборке сайта.