diff --git a/AGENTS.md b/AGENTS.md index 3fe8b7e..7b0bd2e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,6 +7,6 @@ - Keep Windows PowerShell 5.1 compatibility and macOS system Bash compatibility. - Validate script syntax, generated TOML/JSON, idempotency, secret handling, and uninstall boundaries before publishing. -- Codex uses the user-level profile-v2 file and `/v1/codex` with WebSocket enabled. Publish installers only after authenticated server catalog and HTTP/WebSocket release checks; HTTP fallback keeps the same profile URL. +- Codex CLI uses a user-level profile-v2 file, `https://codex.neuroapi.host/v1`, and WebSocket by default; the optional Codex Desktop setup uses the same host with HTTP/SSE. Publish installers only after authenticated catalog and transport checks. - Keep unsupported hosted Codex tools (`web_search`, multi-agent namespace, goals, apps and browser use) disabled in this profile until the server can execute and bill them safely; local file and shell tools must remain available. -- Managed launchers fetch and validate fresh key-scoped catalogs into private per-launch snapshots; never fall back to stale/bundled lists or accept executable server settings. Claude's explicit base URL is `/v1/claude-code`. Keep ordinary keys, preserve unrelated configuration, and document managed-policy/explicit-override boundaries. +- Managed launchers fetch and validate fresh key-scoped catalogs into private per-launch snapshots; never fall back to stale/bundled lists or accept executable server settings. Claude Code's base URL is `https://claude.neuroapi.host`; Claude Desktop gateway is configured separately in its UI. Keep ordinary keys, preserve unrelated configuration, and document managed-policy/explicit-override boundaries. diff --git a/README.en.md b/README.en.md index 80fda8e..ce94e77 100644 --- a/README.en.md +++ b/README.en.md @@ -6,7 +6,7 @@ Public, auditable guided setup for routing local Codex CLI and Claude Code sessi ## Release compatibility -This version configures `https://codex.neuroapi.host/v1` with `supports_websockets = true`, and `https://claude.neuroapi.host` for Claude Code. The Codex profile disables hosted web search, multi-agent, goals, apps, and browser use because the current client includes these tools even in simple local tasks, while NeuroAPI does not guarantee their upstream execution. Local shell and file tools remain available. Setup checks both key-scoped catalogs without a paid generation. Verify HTTP/WebSocket Responses and Claude Messages/count_tokens after each server release. +This version configures `https://codex.neuroapi.host/v1` with `supports_websockets = true`, and `https://claude.neuroapi.host` for Claude Code. The Codex profile disables hosted web search, multi-agent, goals, apps, and browser use because the current client includes these tools even in simple local tasks, while NeuroAPI does not guarantee their upstream execution. Local shell and file tools remain available. Setup checks both key-scoped catalogs without a paid generation. After setup, send one short real request and confirm it in your [NeuroAPI usage log](https://neuroapi.host/dashboard/logs); a catalog check alone does not prove generation works. An existing `CODEX_HOME` selects the profile directory without being modified. Keep its value consistent for setup, launch and uninstall. @@ -36,6 +36,8 @@ macOS: The setup does not require administrator privileges or `sudo`. Codex Desktop integration edits the user config only after consent, with a guarded backup and conflict checks. +Claude Desktop is configured separately in the app's official Developer Mode → Configure Third-Party Inference screen. The installer does not silently change the app's private settings; follow the [Claude Desktop guide](https://neuroapi.host/docs/claude-desktop). If an older connection failed, follow the [reconnection guide](docs/reconnect-after-update.md) before retrying. + ## Secret model - The key is never accepted as a setup command-line argument. @@ -64,9 +66,10 @@ Claude Code also uses the `haiku` alias for background work. If no recommended H - [Security model](docs/security.md) - [Manual setup and installed paths](docs/manual-setup.md) +- [Reconnect after an older failed setup](docs/reconnect-after-update.md) - [Troubleshooting](docs/troubleshooting.md) - [Codex guide](https://neuroapi.host/codex-api) - [Claude Code guide](https://neuroapi.host/claude-code) - [Codex Desktop guide](https://neuroapi.host/docs/codex-desktop) -- [Claude Desktop Code guide](https://neuroapi.host/docs/claude-desktop) +- [Claude Desktop guide](https://neuroapi.host/docs/claude-desktop) - [NeuroAPI documentation](https://neuroapi.host/docs/getting-started) diff --git a/README.md b/README.md index 6e9bc3f..09d3391 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ NeuroAPI — российский AI API-сервис: единый доступ ## Совместимость версии -Эта версия создаёт профиль Codex с `https://codex.neuroapi.host/v1` и `supports_websockets = true`, а профиль Claude Code — с `https://claude.neuroapi.host`. Codex-профиль отключает hosted web search, multi-agent, goals, apps и browser use: эти инструменты новейший клиент отправляет даже в простых задачах, а NeuroAPI пока не гарантирует их провайдерское исполнение. Локальные команды, чтение и редактирование файлов работают. Установщик проверяет доступ ключа к обоим каталогам без платной генерации. Генерацию через HTTP/WebSocket Responses и Claude Messages/count_tokens проверяйте после серверного релиза. +Эта версия создаёт профиль Codex с `https://codex.neuroapi.host/v1` и `supports_websockets = true`, а профиль Claude Code — с `https://claude.neuroapi.host`. Codex-профиль отключает hosted web search, multi-agent, goals, apps и browser use: эти инструменты новейший клиент отправляет даже в простых задачах, а NeuroAPI пока не гарантирует их провайдерское исполнение. Локальные команды, чтение и редактирование файлов работают. Установщик проверяет доступ ключа к обоим каталогам без платной генерации. После установки отправьте короткий реальный запрос и проверьте его в [истории использования NeuroAPI](https://neuroapi.host/dashboard/logs): проверка каталога сама по себе не подтверждает генерацию. Уже заданный `CODEX_HOME` учитывается для профиля и не изменяется; сохраняйте одинаковое значение при установке, запуске и удалении. @@ -62,6 +62,10 @@ bash setup-macos.command Скрипт не использует `sudo` и не редактирует shell profile. Если `~/.local/bin` уже входит в `PATH`, достаточно команд `codex-neuroapi` и `claude-neuroapi`. +**Claude Desktop устанавливается отдельно.** Установщик не меняет закрытые настройки приложения: включите Developer Mode и укажите NeuroAPI в штатной форме Configure Third-Party Inference по [инструкции для Claude Desktop](https://neuroapi.host/docs/claude-desktop). Для Codex Desktop при установке ответьте «да» на отдельный вопрос, затем перезапустите приложение и создайте новую локальную задачу. + +Если вы уже пробовали подключиться и получали ошибки, сначала пройдите [восстановление старой настройки](docs/reconnect-after-update.md). Оно сохраняет ваши проекты и помогает найти старый URL, профиль или источник ключа. + ## Что именно делает установщик | Действие | Windows | macOS | @@ -138,11 +142,12 @@ Uninstaller удаляет только installer-owned файлы и локал - [Модель безопасности](docs/security.md) - [Ручная настройка и созданные файлы](docs/manual-setup.md) +- [Как переподключиться после неудачной старой настройки](docs/reconnect-after-update.md) - [Решение проблем](docs/troubleshooting.md) - [Codex через NeuroAPI](https://neuroapi.host/codex-api) - [Claude Code через NeuroAPI](https://neuroapi.host/claude-code) - [Codex Desktop](https://neuroapi.host/docs/codex-desktop) -- [Claude Desktop Code](https://neuroapi.host/docs/claude-desktop) +- [Claude Desktop](https://neuroapi.host/docs/claude-desktop) - [OpenAI-совместимый API](https://neuroapi.host/openai-compatible-api) - [Модели и цены](https://neuroapi.host/price) diff --git a/docs/manual-setup.md b/docs/manual-setup.md index ce766d1..0b1d34b 100644 --- a/docs/manual-setup.md +++ b/docs/manual-setup.md @@ -1,6 +1,77 @@ # Что настраивают установщики -Эта страница нужна для аудита и ручного восстановления. Рекомендуемый путь — root setup-файл для вашей ОС. +Эта страница объясняет как выполнить настройку вручную и какие файлы создаёт автоматический установщик. Самый простой путь — [setup-файл для вашей ОС](../README.md#установка-в-один-запуск). Если старая настройка уже не работала, начните с [пошагового восстановления](reconnect-after-update.md). + +## Адреса и ключ + +Используйте обычный API-ключ из [кабинета NeuroAPI](https://neuroapi.host/login?redirect=/dashboard/tokens). Скопируйте его целиком, включая префикс `sk-`; не добавляйте `Bearer ` в поле ключа. Отдельный ключ для Codex и Claude не нужен; доступные модели зависят от ключа, тарифа и текущих маршрутов. + +| Клиент | Базовый адрес | +|---|---| +| Codex CLI и Codex Desktop (Responses API) | `https://codex.neuroapi.host/v1` | +| Claude Code и Claude Desktop (Anthropic API) | `https://claude.neuroapi.host` | +| Другие OpenAI-совместимые приложения | `https://neuroapi.host/v1` | + +Не добавляйте `/responses` к базовому адресу Codex или `/v1/messages` к базовому адресу Claude: клиенты добавляют путь запроса сами. Уточните точный ID модели в [каталоге](https://neuroapi.host/price); название в старой сохранённой сессии может устареть. + +## Вручную без установщика: временный ключ в терминале + +Ниже приведён способ проверить подключение без изменения постоянных настроек ОС. Переменная среды доступна только этому терминалу и запущенным из него программам; не записывайте ключ в TOML, JSON, shell profile или историю команд. После закрытия терминала ввод потребуется повторить. Для постоянной настройки с защищённым хранением ключа используйте установщик или собственный credential helper. + +macOS (Terminal): + +```bash +printf 'Вставьте ключ NeuroAPI и нажмите Enter: ' +read -r -s NEUROAPI_API_KEY +printf '\n' +export NEUROAPI_API_KEY +``` + +Windows (PowerShell): + +```powershell +$secure = Read-Host 'Ключ NeuroAPI' -AsSecureString +$ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure) +try { $env:NEUROAPI_API_KEY = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr) } +finally { [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr) } +Remove-Variable secure, ptr +``` + +Для Codex создайте файл `~/.codex/neuroapi-manual.config.toml` (Windows: `%USERPROFILE%\.codex\neuroapi-manual.config.toml`): + +```toml +model = "gpt-6-sol" # замените на модель, доступную вашему ключу +model_provider = "neuroapi_manual" +web_search = "disabled" + +[features] +multi_agent = false +goals = false +apps = false +browser_use = false + +[model_providers.neuroapi_manual] +name = "NeuroAPI" +base_url = "https://codex.neuroapi.host/v1" +wire_api = "responses" +supports_websockets = true +env_key = "NEUROAPI_API_KEY" +``` + +Запустите `codex --profile neuroapi-manual`, проверьте `/debug-config` и выполните короткую задачу. Этот ручной профиль не получает управляемый каталог: встроенное меню Codex может содержать недоступные модели. Выбирайте проверенный ID явно. Файл профиля должен находиться в том же `CODEX_HOME`, с которым вы запускаете Codex; проектный `.codex/config.toml` не заменяет его. + +Для Claude Code в том же терминале задайте адрес и модель, затем запустите `claude`: + +```bash +export ANTHROPIC_API_KEY="$NEUROAPI_API_KEY" +export ANTHROPIC_BASE_URL="https://claude.neuroapi.host" +export ANTHROPIC_MODEL="claude-sonnet-5-5" # замените на доступную модель +claude +``` + +В PowerShell эквивалентные команды — `$env:ANTHROPIC_API_KEY = $env:NEUROAPI_API_KEY`, `$env:ANTHROPIC_BASE_URL = 'https://claude.neuroapi.host'`, `$env:ANTHROPIC_MODEL = 'claude-sonnet-5-5'`, затем `claude`. Проверьте `/status` и `/model`. Старые `ANTHROPIC_AUTH_TOKEN`, Bedrock/Vertex/Foundry overrides и пользовательские settings могут иметь иной приоритет; [порядок восстановления](reconnect-after-update.md) помогает найти конфликт. При выходе из тестового терминала удалите временный ключ (`unset NEUROAPI_API_KEY ANTHROPIC_API_KEY` на macOS; `Remove-Item Env:NEUROAPI_API_KEY, Env:ANTHROPIC_API_KEY` в PowerShell) или просто закройте окно. + +Codex Desktop не наследует переменную из терминала при обычном запуске через GUI. Для него выбирайте опцию в установщике либо [ручную настройку Desktop](https://neuroapi.host/docs/codex-desktop). Claude Desktop настраивается только в [официальной форме приложения](https://neuroapi.host/docs/claude-desktop). ## Codex CLI @@ -55,7 +126,7 @@ Project `.codex/config.toml` не подходит для provider/auth redirect Если соединение WebSocket блокируется вашей сетью, в секции `[model_providers.neuroapi]` созданного профиля замените `supports_websockets = true` на `supports_websockets = false`. Base URL остаётся `https://codex.neuroapi.host/v1`, auth helper и key storage не меняются. При повторном запуске setup управляемый профиль снова получит настройку по умолчанию `true`. -Если сервер ещё не предоставляет `https://codex.neuroapi.host/v1/models` и `/v1/responses` на том же субдомене, не распространяйте эту версию установщика: сначала требуется согласованный серверный выпуск. Общий `/v1` возвращает другой формат каталога при command-backed auth. +Если `https://codex.neuroapi.host/v1/models` или `/v1/responses` недоступны, проверьте DNS, сеть, ключ и [доступность сайта](https://neuroapi.host); локальное изменение `supports_websockets` не исправит ошибку `404` на endpoint. Общий `/v1` использует иной каталог и не заменяет выделенный адрес Codex для управляемого профиля. ## Claude Code diff --git a/docs/reconnect-after-update.md b/docs/reconnect-after-update.md new file mode 100644 index 0000000..b37b1ec --- /dev/null +++ b/docs/reconnect-after-update.md @@ -0,0 +1,47 @@ +# Как переподключиться после старой неудачной настройки + +Эта инструкция для тех, кто уже пытался подключить Codex CLI/Desktop или Claude Code/Desktop к NeuroAPI и видел ошибки, пустой список моделей либо запросы к ChatGPT/Anthropic. Проекты и рабочие файлы удалять не нужно. Ниже отдельно указано, что меняет автоматический установщик и что проверить вручную. + +## 1. Сохраните настройки и проверьте ключ + +1. Закройте Codex и Claude Code/Desktop. Сохраните копии существующих `~/.codex/config.toml`, `~/.codex/neuroapi-host.config.toml` и `~/.claude/settings.json`, если такие файлы есть (Windows: в `%USERPROFILE%`). Если у вас задан `CODEX_HOME`, используйте его вместо `~/.codex`. +2. В [кабинете NeuroAPI](https://neuroapi.host/login?redirect=/dashboard/tokens) проверьте, что ключ активен, у него разрешены нужные модели и доступен нужный тариф. Обычный ключ подходит всем четырём клиентам: копируйте его целиком, включая `sk-`. Если старый ключ нигде не виден полностью, создайте новый: не пытайтесь восстановить его из снимков экрана или логов. Ротация нужна обязательно, если ключ был опубликован или передан посторонним; из-за одной ошибки соединения менять его не требуется. +3. Проверьте [каталог и цены](https://neuroapi.host/price). Сохранённое название модели из старой сессии не гарантирует доступность на вашем ключе. + +**Адреса сейчас:** Codex CLI/Desktop — `https://codex.neuroapi.host/v1`; Claude Code/Desktop — `https://claude.neuroapi.host`; другие OpenAI-совместимые программы — `https://neuroapi.host/v1`. Для Claude не добавляйте `/v1/messages`, для Codex не добавляйте `/responses`: клиент допишет этот путь сам. + +## 2. Выберите способ переподключения + +### Автоматически (рекомендуется для CLI и Codex Desktop) + +1. Скачайте [актуальный ZIP установщика](https://github.com/neurogen-dev/NeuroAPI/archive/refs/heads/agents.zip) и распакуйте в новую папку. Старый скачанный ZIP не обновляется сам. +2. На Windows запустите `setup-windows.bat`; на macOS в этой папке выполните `bash setup-macos.command`. +3. Введите действующий ключ в защищённый запрос. Установщик проверит каталоги моделей без платной генерации. Если нужен **Codex Desktop**, ответьте «да» на отдельный вопрос. Если он сообщает о конфликте `config.toml`, остановитесь и разберите его по разделу ниже; не удаляйте файл целиком. +4. Перезапустите Codex Desktop. Для терминала откройте новое окно и запускайте именно `codex-neuroapi` и `claude-neuroapi` (macOS: при необходимости `~/.local/bin/...`). Обычные `codex` и `claude` могут использовать старую настройку. +5. **Claude Desktop подключается вручную в самом приложении** через Developer Mode → Configure Third-Party Inference по [инструкции](https://neuroapi.host/docs/claude-desktop). Установщик CLI не переносит в него настройки автоматически. + +Повторная установка в тот же каталог проверяет ownership управляемых файлов и сохраняет исходную резервную копию Codex Desktop. При конфликте она намеренно отказывается перезаписывать чужие изменения. + +### Вручную (если установщик не подходит) + +Следуйте [ручной настройке](manual-setup.md): там приведены временный безопасный ввод ключа, профиль Codex и переменные Claude Code. Для Codex Desktop используйте [отдельную инструкцию](https://neuroapi.host/docs/codex-desktop), для Claude Desktop — [штатную форму приложения](https://neuroapi.host/docs/claude-desktop). Вручную настроенное меню моделей может отличаться от каталога, который получает managed launcher. + +## 3. Уберите старый конфликт точечно + +| Где была старая попытка | Что проверить после сохранения копии | +|---|---| +| Codex CLI | В `codex-neuroapi` команда `/debug-config` должна показывать профиль `neuroapi-host`, provider `neuroapi` и новый адрес. Старый `[profiles.neuroapi]` в общем `config.toml` не является текущим отдельным profile-файлом. Если задан `CODEX_HOME`, используйте одно и то же значение при установке и запуске. | +| Codex Desktop | В пользовательском `config.toml` должен быть `model_provider = "neuroapi_agents"` и `base_url = "https://codex.neuroapi.host/v1"`. В GUI откройте **новую локальную** задачу: старый разговор или облачная задача могут продолжать идти прежним путём. Присутствие аккаунта ChatGPT в приложении само по себе не доказывает, каким провайдером выполнен новый запрос. | +| Claude Code | Запустите `claude-neuroapi`, затем `/status`: база `https://claude.neuroapi.host`, источник ключа `apiKeyHelper`. Старые `ANTHROPIC_BASE_URL`, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, Bedrock/Vertex/Foundry overrides и сохранённые параметры пользователя могут менять ручной запуск `claude`; managed launcher создаёт изолированные settings для своей сессии. | +| Claude Desktop | В приложении проверьте выбранный сторонний endpoint и ключ по [инструкции](https://neuroapi.host/docs/claude-desktop), затем начните новый локальный чат. Настройки Claude Code CLI не настраивают Claude Desktop автоматически. | + +Если установщик видит чужой `neuroapi-host.config.toml` без ownership marker или старый `[model_providers.neuroapi_agents]` в `config.toml`, он должен остановиться. Сравните файл с резервной копией, удалите **только** старый конфликтующий блок или переименуйте **только** старый профиль, затем повторите setup. Не создавайте marker вручную и не удаляйте весь `~/.codex`: там могут быть ваши другие профили и история. Если uninstaller остановился из-за изменённого `config.toml`, сначала восстановите или вручную перенесите свои изменения, чтобы Codex Desktop не остался без credential helper. + +## 4. Докажите, что запрос идёт через NeuroAPI + +1. В каждом нужном клиенте выберите модель, видимую вашему ключу. В Codex CLI проверьте `/debug-config`, в Claude Code — `/status`. В Desktop создайте **новую локальную** задачу/чат. +2. Дайте короткую реальную задачу, например создать простой `index.html` в тестовой папке. Проверьте, что файл появился и его содержимое соответствует ответу. Каталог моделей или успешная авторизация сами по себе этого не доказывают. +3. Откройте [историю использования](https://neuroapi.host/dashboard/logs) в кабинете NeuroAPI и найдите запрос в то же время с ожидаемой моделью. Если в истории нет запроса, проверьте локальный профиль, URL и источник ключа. Если запрос есть и завершился ошибкой, смотрите её код и [решение проблем](troubleshooting.md). +4. Если Codex CLI с WebSocket не соединяется, временно установите `supports_websockets = false` в `neuroapi-host.config.toml`, перезапустите launcher и повторите задачу по HTTP/SSE. Это диагностика сети/транспорта; setup вернёт значение `true` при переустановке. + +**Не публикуйте ключ, полный конфиг с секретами или сырой дамп запросов** в issue и скриншотах. Для обращения в поддержку достаточно клиента и версии, ОС, времени запроса, модели, кода ошибки, того, был ли запрос в истории NeuroAPI, и обезличенного фрагмента `/debug-config` или `/status`. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 9ffe403..bbde320 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -1,6 +1,6 @@ # Решение проблем -Терминальные launchers и графические приложения читают разные настройки. Codex Desktop можно подключить отдельным согласием в установщике или [вручную](https://neuroapi.host/docs/codex-desktop); Claude Desktop настраивается в [официальной форме приложения](https://neuroapi.host/docs/claude-desktop). +Терминальные launchers и графические приложения читают разные настройки. Codex Desktop можно подключить отдельным согласием в установщике или [вручную](https://neuroapi.host/docs/codex-desktop); Claude Desktop настраивается в [официальной форме приложения](https://neuroapi.host/docs/claude-desktop). Если вы уже пробовали настроить клиент до обновления, начните с [инструкции по переподключению](reconnect-after-update.md). ## Codex Desktop обращается к `chatgpt.com` @@ -31,7 +31,7 @@ macOS: используйте полный путь `~/.local/bin/codex-neuroapi В `[model_providers.neuroapi]` файла `neuroapi-host.config.toml` временно установите `supports_websockets = false`, оставив base URL `https://codex.neuroapi.host/v1`. Перезапустите `codex-neuroapi` и проверьте короткий запрос по HTTP/SSE. Не переносите ключ в TOML и не меняйте helper. Повторная установка восстановит `true`. -`404` на `https://codex.neuroapi.host/v1/models` или `/v1/responses` этого же субдомена может означать, что серверное обновление ещё не опубликовано. Эта версия установщика должна распространяться только после проверки обоих адресов и WebSocket на сервере. Один fallback на HTTP не создаёт отсутствующий endpoint. +`404` на `https://codex.neuroapi.host/v1/models` или `/v1/responses` обычно указывает на неверный URL, сеть/прокси или проблему маршрутизации сервиса. Проверьте, что в профиле нет лишнего `/responses` после `/v1`, и посмотрите [историю запросов](https://neuroapi.host/dashboard/logs). Один переход на HTTP не исправляет отсутствующий endpoint. ## Codex сообщает, что профиль не найден @@ -51,16 +51,20 @@ macOS может показать системный запрос доступа ## `model not found` -Перезапустите launcher: он получает свежий список, доступный ключу. Проверьте явный `--model` и сохранённую модель старой сессии. Если список пуст или серверные endpoints ещё не опубликованы, launcher остановится; это не повод подставлять случайный ID. Codex дополнительно требует Responses-совместимость. +Перезапустите launcher: он получает свежий список, доступный ключу. Проверьте явный `--model` и сохранённую модель старой сессии. Если список пуст или каталог недоступен, launcher остановится; это не повод подставлять случайный ID. Codex дополнительно требует Responses-совместимость. ## Каталог не загружается или список пуст -Проверьте ключ, соединение и ограничения моделей/тарифа. Для этой версии нужны `https://codex.neuroapi.host/v1/models` и `https://claude.neuroapi.host/client-settings`; обновление установщика само по себе не создаёт их на сервере. Ответы `401`, `403`, redirects, слишком большой/неправильный JSON и пустой список не заменяются локальным старым каталогом. Серверное обновление должно быть выпущено до распространения установщика. +Проверьте ключ, соединение и ограничения моделей/тарифа. Установщик обращается к `https://codex.neuroapi.host/v1/models` и `https://claude.neuroapi.host/client-settings`. Ответы `401`, `403`, redirects, слишком большой/неправильный JSON и пустой список не заменяются локальным старым каталогом. При `401` повторите setup с действующим ключом; при пустом списке проверьте права ключа и доступные модели тарифа; при сетевой ошибке проверьте DNS и прокси. Если проблема остаётся, передайте в поддержку время запроса и код ошибки без самого ключа. ## В меню всё ещё есть другие модели Запуск напрямую через `codex`/`claude` обходит managed launcher. Обычное discovery может дополнять встроенный список. Даже в управляемом режиме Claude сохраняет строки Default/текущей модели, а корпоративные настройки и явные CLI-переопределения могут иметь приоритет. Launcher не обходит host-managed provider mode: для него нужна настройка со стороны управляющего приложения. +## Есть успешный каталог, но задача не выполняется + +Каталог подтверждает только доступ к списку моделей. Начните новую локальную задачу с коротким запросом, проверьте результат в файле и запись в [истории использования NeuroAPI](https://neuroapi.host/dashboard/logs). Если записи нет, запрос мог не дойти до NeuroAPI: проверьте фактический URL в `/debug-config` или `/status` и выбранный режим Desktop. Если запись есть, сохраните время, модель и нормализованный код ошибки для поддержки. Старые сессии могут продолжать использовать прежний маршрут. + ## macOS блокирует `.command` Убедитесь, что файл скачан из `neurogen-dev/NeuroAPI`. Выполните: