Додайте хмарні моделі каталогу до Jan, не залишаючи local-first.

Updated 2026-07-29

Jan за задумом запускає моделі на вашій машині, а його налаштування Model Providers приймають будь-який OpenAI-сумісний ендпоінт для днів, коли локального недостатньо: додайте провайдера, встановіть Base URL на https://api.apisrouter.com/v1, вставте один ключ — і id Claude, GPT, Gemini і DeepSeek приєднуються до вашої локальної лінійки.

Коротка відповідь: один провайдер у Settings.

Відкрийте Settings у Jan і перейдіть у Model Providers. Натисніть елемент керування «плюс» поруч зі списком провайдерів, щоб додати кастомного провайдера, дайте йому назву (APIsRouter), і на нещодавніх збірках оберіть формат OpenAI API, коли діалог запитає (Jan v0.8.1 додав селектор формату OpenAI-чи-Anthropic; для шлюзу обирайте OpenAI). Потім заповніть два поля, що мають значення: Base URL https://api.apisrouter.com/v1 і ваш API-ключ. Додайте моделі, які хочете, за id: документація Jan прямо каже, що властивість id має збігатися з назвою моделі, яку обслуговує ендпоінт, тож копіюйте id зі списку каталогу (claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flash), а не вписуйте з пам'яті. Збережіть — і id з'являться в селекторі моделей поряд з усім, що ви запускаєте локально. Мітки змінювалися між релізами (старіші версії називали цю область Remote Engines), тож ставтеся до провайдер, формат, URL, ключ, моделі як до стабільного скелета.

Name:        APIsRouter
API Format:  OpenAI          (v0.8.1+ selector)
Base URL:    https://api.apisrouter.com/v1
API Key:     sk-YOUR-APISROUTER-KEY

Models: add ids that match the endpoint, e.g.
  claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flash

Як Jan ставиться до віддалених провайдерів.

Jan (menloresearch на GitHub, приблизно 44 тис. зірок) — це десктопний клієнт local-first: моделі завантажуються на вашу машину, працюють через llama.cpp і функціонують офлайн, а застосунок навіть надає власний OpenAI-сумісний сервер за адресою http://127.0.0.1:1337/v1 для інших інструментів. Віддалені провайдери — це свідома друга смуга, для моделей, які надто великі для локального запуску, або задач, що заслуговують на якість фронтиру. Кастомний провайдер у форматі OpenAI — це просто опис ендпоінта: base URL, ключ, оголошені id моделей. Розмови проти цих id виходять як стандартні запити chat-completions з id як рядком моделі, тож мультивендорному шлюзу потрібен рівно один запис. Claude для ретельного письма, DeepSeek для об'ємного підсумовування, Gemini для швидкості — один ключ за всіма. Філософська відповідність краща, ніж здається на перший погляд. Користувачі local-first схильні бути свідомими щодо того, що залишає машину, а шлюз тримає віддалену смугу так само свідомою: один ендпоінт для файрвола, один лог використання для читання, один баланс, що рухається лише тоді, коли ви вирішили щось надіслати назовні. Нічого в локальній смузі не змінюється; ваші завантажені моделі продовжують працювати офлайн точно так само, як і раніше.

Оголошення моделей: контракт id.

Jan не отримує каталог кастомного ендпоінта автоматично за вас; моделі, які ви оголошуєте, — це моделі, які ви отримуєте, і id — це контракт. Авторитетне написання походить зі списку /v1/models шлюзу, включно з суфіксами версій. Оголошений id, що розійшовся зі списком, дає помилки not-found лише тоді, коли ця модель обрана, що виглядає як нестабільний провайдер, доки ви не порівняєте рядки. Оголошуйте свідомо. Селектор local-first працює найкраще, коли віддалених рядків небагато і вони цілеспрямовані: один швидкий id для повсякденних віддалених ходів (gpt-5.4-mini чи claude-haiku-4-5-20251001), один id фронтиру для роботи, що виправдовує залишення машини (claude-sonnet-4-6), і будь-який спеціаліст, якого заслуговує ваше навантаження (deepseek-v4-flash для довгих багатомовних підсумків, gemini-3.5-flash, коли затримка — це фіча). Кожен рядок легко додати пізніше; вставлений цілий каталог — це шум, який ви щодня прокручуєте. Якщо ви також використовуєте локальний API-сервер Jan для обслуговування інших інструментів, тримайте модель мислення чіткою: цей сервер — це Jan у ролі провайдера на 127.0.0.1:1337/v1; запис кастомного провайдера — це Jan у ролі клієнта. Ці два незалежні, і налаштування одного ніколи не впливає на інше.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# declare these ids verbatim in the provider's model list

Вибір того, які розмови залишають машину.

Оскільки віддалене використання передоплачене й вимірюється по ключу, вартість віддаленої смуги — це число, яке ви читаєте, а не підписка, яку ви вгадуєте. Прогоніть місяць вашого реального поділу — і лог використання скаже точно, скільки коштує залишення машини, по моделі, по дню.

  • Повсякденні віддалені ходи, швидкі питання, переписування, переклади належать до швидкого рівня: gpt-5.4-mini і claude-haiku-4-5-20251001 відповідають швидко і тримають баланс майже нерухомим.
  • claude-sonnet-4-6 — крок наверх для роботи, яку локальна модель явно не витягує: довге ретельне складання чернеток, тонкий рев'ю коду, аналіз, який ви переправите далі.
  • gemini-3.5-flash заробляє свій рядок на затримці; для коротких інтерактивних ходів вона відчувається найближчою до чуйності локальної моделі.
  • deepseek-v4-flash — об'ємний вибір для підсумовування довгих документів, які ви б не згодували малій локальній моделі.
  • Тримайте приватні матеріали повністю на локальних моделях; поділ між смугами — це і є сенс запуску Jan від самого початку.

Оплата за фактом · нижче офіційних цін

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

МодельОфіційна цінаНаша ціна
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.4 mini$0.75 / $4.50 per M$0.60 / $3.60 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M

Збої, специфічні саме для Jan.

Помилки not-found на конкретній моделі — це контракт id: оголошений id не збігається з написанням ендпоінта. Порівняйте з виводом /v1/models символ у символ. Збої автентифікації на кожному запиті — це поле ключа. Провайдер, який зберігається, але ніколи не відповідає, зазвичай має проблему з Base URL: суфікс /v1 має бути присутнім, оскільки Jan додає шляхи маршруту на кшталт /chat/completions до бази, яку ви вказали, а подвоєний чи відсутній сегмент дає 404. Якщо провайдера було створено на старішій збірці, перевірте формат API: v0.8.1 запровадив селектор OpenAI-чи-Anthropic, і запис шлюзу, випадково встановлений на формат Anthropic, говорить неправильним діалектом до ендпоінта /v1/chat/completions. І пам'ятайте, яку смугу ви дебажите. Збої локальної моделі (VRAM, квантизація, налаштування llama.cpp) і віддалені збої (URL, ключ, id) ділять вікно чату, але більше нічого; селектор моделі показує, якій смузі належить розмова, що падає, перш ніж ви почнете тягнути не за ту нитку.

Хто додає смугу шлюзу до Jan.

  • Користувачі local-first, яким час від часу потрібна якість фронтиру і які хочуть, щоб ця епізодична смуга була на передоплаченому балансі, а не на підписці постачальника.
  • Розробники на машинах, що не можуть добре запускати великі локальні моделі, використовуючи Jan як інтерфейс, а шлюз — для важкої роботи.
  • Свідомі щодо приватності користувачі, які хочуть мати рівно один віддалений ендпоінт для міркування, файрвола й аудиту, замість одного на вендора.
  • Люди, що порівнюють локальний і хмарний вивід на реальних задачах, де віддалені кандидати — це оголошені рядки, а не нові облікові записи.
  • Розробники без доступу до білінгу певного постачальника. Доступ на основі поповнення без вимоги картки прибирає залежність від реєстрації в кожного провайдера.

Перевірте ендпоінт і налагодьте перший віддалений хід.

Спочатку зробіть curl до списку моделей і одного chat completion; коли обидва пройшли, усе, що залишилось, — у записі провайдера. Це також дає вам точні написання id для оголошення. Усередині Jan надішліть одне коротке повідомлення на швидкому віддаленому id. Помилки автентифікації — це ключ; not-found — це id; тиша чи 404 — це форма Base URL. Якщо віддалена смуга працює, але здається повільною на id фронтиру, це затримка моделі, а не проблема конфігурації; моделі міркування не поспішають на довгих ходах. Щойно віддалені ходи потечуть, консоль APIsRouter показує модель на запит, кількість токенів і витрати. Для користувача local-first цей лог напрочуд приємно читати: це повний запис усього, що коли-небудь залишало машину, по моделі, по дню, а локальна смуга вносить у нього рівно нуль.

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4-mini",
       "messages":[{"role":"user","content":"ping"}]}'

Поширені запитання

Як додати кастомного OpenAI-сумісного провайдера до Jan?

Settings, Model Providers, потім елемент керування «плюс», щоб додати провайдера. Назвіть його, оберіть формат API OpenAI на збірках, що питають про це (v0.8.1+), встановіть Base URL https://api.apisrouter.com/v1, вставте ваш ключ і оголосіть id моделей, що збігаються зі списком ендпоінта.

Чому моя оголошена модель повертає not-found?

Jan надсилає оголошений id дослівно як рядок моделі, і його документація вимагає, щоб id точно збігався з назвою моделі ендпоінта. Отримайте список /v1/models і скопіюйте написання, включно з суфіксами версій, замість того щоб вписувати id з пам'яті.

Чи змінює додавання віддаленого провайдера роботу локальних моделей?

Ні. Локальні моделі продовжують працювати на пристрої через llama.cpp, включно з офлайн. Запис провайдера додає окрему віддалену смугу до селектора, і розмови торкаються мережі лише тоді, коли ви обираєте віддалений id.

Чи має Base URL включати /v1?

Так: https://api.apisrouter.com/v1. Jan додає маршрути на кшталт /chat/completions до бази, яку ви налаштовуєте, тож відсутній /v1 дає 404, і подвоєний теж. Якщо запити падають, читайте складений URL у помилці, перш ніж щось інше змінювати.

Чи може Jan дістатися Claude і Gemini через один запис провайдера?

Так. У форматі OpenAI id моделі подорожує як звичайний рядок, тож claude-sonnet-4-6, gemini-3.5-flash, gpt-5.4-mini і deepseek-v4-flash можуть бути оголошені під одним записом, оплачуватися через один ключ і перемикатися по розмові.

Чи це те саме, що локальний API-сервер Jan?

Ні. Локальний сервер на 127.0.0.1:1337/v1 — це Jan, що обслуговує свої локальні моделі для інших інструментів. Запис кастомного провайдера — це Jan, що споживає віддалений ендпоінт. Це незалежні фічі, які просто мають спільний дротовий формат OpenAI.