Клиент читает файлы, применяет правки и запускает команды по ответам модели. Нужны агентский плагин и маршрут модели с поддержкой tools. Разрешения на действия задаются в клиенте.
Начните создавать с Neiroport
Модели и форматы API через единый ключ Neiroport
Подключите API за 30 секунд
Все модели работают через Neiroport без VPN из любой страны. Выберите идентификатор модели в каталоге, создайте ключ и укажите Base URL сервиса в SDK
https://neiroport.com/v1Authorization: Bearer NEIROPORT_API_KEYСоздайте ключ
В разделе API-ключей; сохраните секрет при создании.
Пополните баланс
Баланс и бюджет ключа должны покрывать запрос.
Отправьте запрос
Скопируйте пример SDK и идентификатор модели из каталога.
Проверьте перед первым запросом
Base URL нашего сервиса; /v1 для OpenAI SDK.
Точный model ID и вариант из каталога, без переименования.
Действующий ключ Neiroport с доступом к выбранной модели.
Достаточный баланс и бюджет ключа; иначе запрос отклоняется до запуска модели.
При обращении в поддержку приложите request_id из ответа или истории.
Первый вызов через SDK
Примеры используют модель из актуального каталога. Замените её на нужный доступный вариант.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.NEIROPORT_API_KEY,
baseURL: "https://neiroport.com/v1"
});
const response = await client.chat.completions.create({
model: "qwen3.6-27b",
messages: [{ role: "user", content: "Hello!" }],
max_tokens: 1024
});
console.log(response.choices[0].message.content);Агенты в IDE
Подключите Neiroport к агенту, который читает файлы проекта, вносит изменения и запускает команды. Выберите OpenCode через ACP или терминал, Continue Agent либо Cline Act и используйте маршрут модели с поддержкой инструментов.
1. Подготовьте ключ и модель
- В разделе «API-ключи» создайте ключ Neiroport или откройте существующий и скопируйте его полное значение.
- В разделе «Поставщики моделей» выберите этот же ключ, нужную модель и доступный вариант маршрута. Сохраните выбор. У ключа должны быть разрешены эта модель и нужные расходы.
- Проверьте положительный баланс. Скопируйте точный ID модели из каталога или списка /v1/models для этого ключа. Для агента выберите вариант, который поддерживает вызов инструментов.
https://neiroport.com/v1orb_…Ваш ключ из кабинета Neiroport8192токена или меньше, если у модели ниже лимитgpt-4o-mini - пример, а не единственная модель. Введите точный ID нужного варианта: конфигурации обновятся. Используйте текстовый ввод; вложения изображений в этих инструкциях отключены. Base URL уже содержит /v1 - не добавляйте его второй раз.
2. Выберите редактор и клиент
| Редактор / IDE | Способ подключения | Режим работы |
|---|---|---|
| VS Code | Agent / Act - работа с проектом | |
| Cursor, Windsurf | Внутри расширения Cline | |
| PyCharm, IntelliJ IDEA, WebStorm, GoLand, Rider, PhpStorm, CLion, RubyMine, RustRover | Агент через ACP или Cline | |
| Zed | Работа с файлами и терминалом | |
| Neovim | Работа с файлами и терминалом | |
| Visual Studio, Eclipse, Sublime Text, Emacs, Python IDLE и другие | Зависит от плагина; OpenCode в терминале |
Для Cursor и Windsurf здесь описан Cline как отдельное расширение. Поддержка собственного ключа во встроенном чате редактора не означает доступ ко всем его платным функциям. Совместимость плагина зависит от версии и редакции IDE; Cline для JetBrains доступен в Early Access.
OpenCode · терминал и ACP
Один профиль Neiroport можно использовать в терминале и редакторах с ACP. Сначала настройте OpenCode, затем подключите его к редактору.
- Установите OpenCode по официальной инструкции. При наличии Node.js можно использовать команду ниже. Откройте терминал в папке проекта.
- Сохраните конфигурацию в ~/.config/opencode/opencode.json (Windows: %USERPROFILE%\.config\opencode\opencode.json). Это общий профиль для терминала и ACP. limit.context: 32768 - консервативный пример; замените его на лимит выбранной модели. output не должен превышать 8192 и лимит модели.
npm install -g opencode-ai{
"$schema": "https://opencode.ai/config.json",
"model": "neiroport/gpt-4o-mini",
"provider": {
"neiroport": {
"npm": "@ai-sdk/openai-compatible",
"name": "Neiroport",
"options": {
"baseURL": "https://neiroport.com/v1"
},
"models": {
"gpt-4o-mini": {
"name": "gpt-4o-mini",
"tool_call": true,
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
},
"limit": {
"context": 32768,
"output": 8192
}
}
}
}
}
}- Запустите opencode. Внутри него выполните /connect → Other, укажите ID провайдера neiroport и вставьте ключ Neiroport. Ключ будет храниться отдельно от конфигурации проекта.
- В /models выберите neiroport/
gpt-4o-mini. Provider ID должен совпадать с neiroport в конфигурации. Для другой модели сначала настройте её маршрут у ключа, затем добавьте её ID в models и измените model.
В терминале OpenCode можно обсуждать код и поручать изменения проекту. Для чата без инструментов используйте Continue Chat. При ACP редактор запускает opencode acp; Neiroport остаётся провайдером модели, а файлы и команды обрабатывает OpenCode на вашем компьютере.
JetBrains · PyCharm / IntelliJ IDEA / WebStorm / другие
В AI Chat выберите Install From ACP Registry → OpenCode, либо Settings → Tools → AI Assistant → Agents. После установки выберите OpenCode в переключателе агента. Если добавляете установленный бинарник вручную, Add Custom Agent откроет ~/.jetbrains/acp.json: объедините настройки с примером ниже и замените FULL_PATH_TO_OPENCODE абсолютным путём к исполняемому файлу.
{
"agent_servers": {
"Neiroport / OpenCode": {
"command": "FULL_PATH_TO_OPENCODE",
"args": [
"acp"
]
}
}
}В Windows используйте нативный OpenCode для ACP в JetBrains: запуск ACP-агентов из WSL сейчас не поддерживается. После настройки ключа и модели перезапустите агентскую сессию.
Zed · ACP
Откройте Command Palette → zed: acp registry и установите OpenCode. Запустите agent: new thread и выберите OpenCode. Для своего установленного бинарника добавьте agent_servers в настройки Zed через меню настроек:
{
"agent_servers": {
"Neiroport / OpenCode": {
"type": "custom",
"command": "opencode",
"args": [
"acp"
]
}
}
}Если opencode отсутствует в PATH процесса редактора, укажите абсолютный путь к бинарнику. Модель и ключ задаются в общем профиле OpenCode выше.
Neovim · Avante.nvim / ACP
Установите Avante.nvim с поддержкой ACP. Добавьте acp_providers в параметры setup существующего плагина. Затем выполните :AvanteSwitchProvider, выберите opencode и откройте :AvanteChat. Для списка моделей используйте :AvanteModels.
acp_providers = {
opencode = {
command = "opencode",
args = { "acp" },
},
},3. Проверьте подключение
Поручите агенту найти файл и объяснить его содержимое, затем сделать небольшую правку и запустить тест. Убедитесь, что выбран именно Neiroport и нужная модель. Один агентский шаг может включать несколько оплачиваемых запросов; расходы видны в журнале кабинета.
Ошибки подключения и решения
- Пустой список моделей
- Настройте доступный маршрут у того же ключа в кабинете. Перечитайте список моделей в клиенте. Test Connection и назначение модели - разные шаги.
- 401 · invalid_api_key
- Вставьте полное значение клиентского ключа Neiroport, проверьте пробелы и срок действия.
- 402 · insufficient_balance / key_budget
- Проверьте баланс и лимит расходов ключа. Успешное получение списка моделей не проверяет баланс для генерации.
- 403 / 404 · model
- Проверьте точный ID, разрешённые модели ключа и выбранный маршрут. Если 404 без кода Neiroport, проверьте Base URL: /v1 должен быть указан один раз.
- 400 · invalid_output_limit / context_limit
- Уменьшите Max Output Tokens до 8192 или лимита модели. Сократите историю и контекст проекта при context_limit.
- 502 / 503
- Посмотрите код ошибки и request_id в журнале. Проверьте доступность маршрута и поддержку tools у выбранного варианта. Для агентских задач нужен маршрут с вызовом инструментов.
- Агент недоступен / tools
- Проверьте поддержку Agent в версии плагина, capabilities/tool calling и маршрут. При смене ключа обновите его отдельно в каждом клиенте, включая OpenCode.
Три формата API
Выбирайте формат запроса по возможностям модели. Для всех поддерживаемых протоколов используются ваш ключ Neiroport и адрес API сервиса.
OpenAI
/v1/chat/completionsBearer NEIROPORT_API_KEY
Chat · Responses · Images · EmbeddingsAnthropic
/v1/messagesx-api-key: NEIROPORT_API_KEY
anthropic-version: 2023-06-01Gemini
/v1beta/models/{model}:generateContentx-goog-api-key: NEIROPORT_API_KEY
contents · parts · generationConfigcurl https://neiroport.com/v1/messages \
-H "x-api-key: $NEIROPORT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-fable-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello!"
}
]
}'curl "https://neiroport.com/v1beta/models/gemini-2.5-flash:generateContent" \
-H "x-goog-api-key: $NEIROPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "Hello!"
}
]
}
],
"generationConfig": {
"maxOutputTokens": 1024
}
}'Каталог и варианты моделей
Каталог обновляется автоматически. Идентификаторы и суффиксы сохраняются полностью: разные варианты имеют отдельные модели и тарифы. Маршрут определяется выбранными предпочтениями.
curl https://neiroport.com/v1/models \
-H "Authorization: Bearer $NEIROPORT_API_KEY"Предпочтения маршрутизации
В разделе «Поставщики моделей» сравните предложения и закрепите поставщика отдельно для каждой модели и клиентского ключа. Показанные цены уже включают наценку. Закрепление имеет приоритет над автоматическим выбором и действует в SDK без дополнительных параметров.
Для закреплённых маршрутов переход к другому поставщику отключён. При изменении тарифа или недоступности поставщика запрос отклоняется до отправки; выберите поставщика повторно либо включите автовыбор. В песочнице выберите тот же клиентский ключ, чтобы проверить его маршрут.
При создании API-ключа выберите режим; его можно изменить позже без замены ключа. Все запросы этого ключа используют выбранные предпочтения. В песочнице режим выбирается отдельно.
Цена имеет основной вес. При близкой цене также учитываются успешность и скорость ответа.
Приоритет маршрутам с быстрым ответом. Цена остаётся одним из критериев выбора.
Приоритет высокой успешности запросов и меньшему количеству отказов
Комплексная оценка успешности, скорости ответа и цены маршрута
Только гарантированные маршруты. Если подходящих маршрутов нет, запрос отклоняется.
Стоимость и доступность могут отличаться между режимами. Каталог показывает тариф выбранного режима. Общая и индивидуальная наценка применяются ко всем режимам; неподтверждённый тариф не используется для генерации. В режиме «Только с гарантией» используются исключительно гарантированные маршруты.
В карточке модели указаны форматы API, тип оплаты, вход, выход, чтение и запись кеша либо стоимость запроса. Справочные цены до подтверждения не являются действующим тарифом.
Справочник эндпоинтов
Для относительных путей используется Base URL /v1. Путь Gemini /v1beta начинается от корня сервиса. Методы с отметкой «Недоступно» пока не подключены в Neiroport.
Текст и агенты
/chat/completionsДиалог; обычный ответ или SSE.
/responsesResponses API с явным входом и лимитом ответа.
/messagesНативный формат Anthropic Messages.
/v1beta/models/{model}:generateContentНативный формат Google Gemini.
/completionsЗавершение текстового prompt.
Мультимодальность и поиск
/images/generationsСоздание изображения; тарификация по запросу.
/images/editsРедактирование изображений, multipart/form-data.
/embeddingsВекторные представления текста.
/rerankРанжирование документов относительно запроса.
/audio/transcriptionsРаспознавание речи из аудиофайла.
/audio/speechСинтез речи; ответ содержит аудио.
Модели, задачи и realtime
/modelsМодели, доступные вашему ключу.
/models/{model}Информация о конкретном идентификаторе.
/realtimeСоединение WebSocket в реальном времени.
/mj/submit/imagineСоздание задачи Midjourney.
/mj/task/{id}/fetchСостояние задачи Midjourney.
/suno/submit/{action}Музыкальная задача Suno.
curl https://neiroport.com/v1/responses \
-H "Authorization: Bearer $NEIROPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.6-27b",
"input": "Hello!",
"max_output_tokens": 1024,
"store": false
}'curl https://neiroport.com/v1/embeddings \
-H "Authorization: Bearer $NEIROPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-embedding-2-preview",
"input": "Text to embed"
}'curl https://neiroport.com/v1/images/generations \
-H "Authorization: Bearer $NEIROPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google-imagen-4",
"prompt": "A quiet mountain lake",
"n": 1,
"size": "1024x1024"
}'Справочник ошибок
Ищите по error.code и request_id. Ошибки API и расширенный справочник совместимости доступны отдельно. Внутренние данные маршрутизации не передаются клиенту.
{
"error": {
"code": "model_not_found",
"message": "model_not_found"
},
"request_id": "http_xxxxxxxxxxxx"
}invalid_api_keyТребуется исправление- Место ошибки
auth/key- Описание
- Ключ отсутствует, недействителен, отозван или отключён.
- Решение
- Проверьте ключ, срок действия и заголовок авторизации. Используйте ключ нашего сервиса для клиентских запросов.
model_not_allowedТребуется исправление- Место ошибки
auth/model- Описание
- Ключ не разрешает выбранную модель.
- Решение
- Проверьте статус аккаунта, права ключа и ограничения для выбранной модели или операции. Повтор без изменения прав не поможет.
account_disabledТребуется исправление- Место ошибки
auth/account- Описание
- Аккаунт отключён.
- Решение
- Проверьте статус аккаунта, права ключа и ограничения для выбранной модели или операции. Повтор без изменения прав не поможет.
insufficient_balanceТребуется исправление- Место ошибки
billing/balance- Описание
- Доступного баланса недостаточно для резервирования запроса.
- Решение
- Проверьте доступный баланс, лимит ключа и выбранный тариф. Измените соответствующий лимит перед повторной отправкой.
key_budgetТребуется исправление- Место ошибки
billing/key_budget- Описание
- Бюджет API-ключа не покрывает запрос.
- Решение
- Проверьте доступный баланс, лимит ключа и выбранный тариф. Измените соответствующий лимит перед повторной отправкой.
model_not_foundТребуется исправление- Место ошибки
routing/model- Описание
- Модель отсутствует или не активирована для запросов.
- Решение
- Сверьте путь, точный идентификатор модели или задачи и её доступность. Удалённые данные могут быть недоступны для восстановления.
invalid_inputТребуется исправление- Место ошибки
request/validation- Описание
- Тело запроса или обязательные поля некорректны.
- Решение
- Сверьте обязательные поля, формат данных и возможности модели. Исправьте запрос, затем отправьте его с новым идентификатором операции.
unsupported_inputТребуется исправление- Место ошибки
request/format- Описание
- Формат входа не поддерживается этим адаптером шлюза.
- Решение
- Сверьте обязательные поля, формат данных и возможности модели. Исправьте запрос, затем отправьте его с новым идентификатором операции.
unsupported_billingТребуется исправление- Место ошибки
billing/tariff- Описание
- Для операции нет подтверждённого поддерживаемого тарифа.
- Решение
- Сверьте обязательные поля, формат данных и возможности модели. Исправьте запрос, затем отправьте его с новым идентификатором операции.
context_limitТребуется исправление- Место ошибки
request/context- Описание
- Запрос и лимит ответа превышают окно контекста модели.
- Решение
- Сверьте обязательные поля, формат данных и возможности модели. Исправьте запрос, затем отправьте его с новым идентификатором операции.
invalid_output_limitТребуется исправление- Место ошибки
request/output- Описание
- Недопустимый лимит токенов ответа.
- Решение
- Сверьте обязательные поля, формат данных и возможности модели. Исправьте запрос, затем отправьте его с новым идентификатором операции.
request_already_submittedТребуется исправление- Место ошибки
request/idempotency- Описание
- Операция с этим Idempotency-Key уже отправлена.
- Решение
- Проверьте исходный request_id в истории. Повторная отправка с тем же Idempotency-Key не создаёт нового списания; для новой операции используйте новый ключ.
Учёт расхода и потоковые ответы
Тариф
Стоимость рассчитывается по опубликованному тарифу выбранной модели и режима. Применяются ставки входа, выхода и кеша либо фиксированная цена запроса. Изменения тарифов относятся к новым запросам.
Usage
Для токеновых тарифов учитываются вход, выход, чтение и запись кеша. Для подтверждённых тарифов по запросу списывается фиксированная цена.
История и резерв
Перед вызовом резервируется максимальная сумма. После usage списывается фактическая стоимость. Неопределённые расходы остаются на проверке с видимым резервом.
stream = client.chat.completions.create(
model="qwen3.6-27b",
messages=[{"role": "user", "content": "Hello!"}],
max_tokens=1024,
stream=True,
stream_options={"include_usage": True}
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")
if chunk.usage:
print("\nUsage:", chunk.usage)Для платных POST-запросов передавайте уникальный Idempotency-Key. Повтор с тем же ключом возвращает 409 и request_id исходного запроса. При обрыве потока проверьте историю до повторной отправки.