Cloud-Katalog-Modelle zu Jan hinzufügen, ohne Local-first zu verlassen.

Updated 2026-07-29

Jan lässt Modelle bewusst auf deinem Rechner laufen, und seine Model-Providers-Settings akzeptieren jeden OpenAI-kompatiblen Endpoint für die Tage, an denen lokal nicht reicht: einen Provider hinzufügen, Base URL auf https://api.apisrouter.com/v1 setzen, einen Key einfügen, und Claude-, GPT-, Gemini- und DeepSeek-IDs stoßen zu deinem lokalen Line-up.

Kurzantwort: ein Provider in Settings.

Öffne Jans Settings und geh zu Model Providers. Klicke auf das Plus-Symbol neben der Provider-Liste, um einen Custom Provider hinzuzufügen, gib ihm einen Namen (APIsRouter), und wähle auf aktuellen Builds das OpenAI-API-Format, wenn der Dialog danach fragt (Jan v0.8.1 fügte einen OpenAI-oder-Anthropic-Format-Selektor hinzu; wähle für ein Gateway OpenAI). Fülle dann die zwei entscheidenden Felder: Base URL https://api.apisrouter.com/v1 und deinen API-Key. Füge die gewünschten Modelle per ID hinzu: Jans Docs sind eindeutig, dass die id-Eigenschaft exakt zum Modellnamen passen muss, den der Endpoint bedient, also kopiere IDs aus der Katalog-Liste (claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flash), statt sie aus dem Gedächtnis zu tippen. Speichern, und die IDs erscheinen im Model-Selector neben allem, was du lokal betreibst. Labels haben sich zwischen Releases verschoben (ältere Versionen nannten diesen Bereich Remote Engines), also behandle Provider, Format, URL, Key, Modelle als das stabile Skelett.

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

Wie Jan entfernte Provider behandelt.

Jan (menloresearch auf GitHub, rund 44.000 Stars) ist der Local-first-Desktop-Client: Modelle laden auf deinen Rechner, laufen über llama.cpp und funktionieren offline, wobei die App sogar ihren eigenen OpenAI-kompatiblen Server unter http://127.0.0.1:1337/v1 für andere Tools bereitstellt. Entfernte Provider sind die bewusste zweite Spur, für Modelle, die zu groß für den lokalen Betrieb sind, oder Aufgaben, die Frontier-Qualität verdienen. Ein Custom Provider im OpenAI-Format ist eine reine Endpoint-Beschreibung: Base URL, Key, deklarierte Model-IDs. Konversationen gegen diese IDs verlassen die App als Standard-Chat-Completions-Requests mit der ID als model-String, also braucht ein Multi-Vendor-Gateway genau einen Eintrag. Claude für sorgfältiges Schreiben, DeepSeek für Volumen-Zusammenfassungen, Gemini für Geschwindigkeit, ein Key hinter allen. Die philosophische Passung ist besser, als sie zunächst klingt. Local-first-Nutzer sind tendenziell bewusst darüber, was den Rechner verlässt, und ein Gateway hält die entfernte Spur ebenso bewusst: ein Endpoint, den man firewallen kann, ein Nutzungslog zum Lesen, ein Guthaben, das sich nur bewegt, wenn du dich entschieden hast, etwas rauszuschicken. An der lokalen Spur ändert sich nichts; deine heruntergeladenen Modelle funktionieren offline weiter, exakt wie zuvor.

Modelle deklarieren: der ID-Vertrag.

Jan ruft den Katalog eines Custom Endpoints nicht selbst ab; die Modelle, die du deklarierst, sind die Modelle, die du bekommst, und die ID ist der Vertrag. Die maßgebliche Schreibweise kommt aus der /v1/models-Liste des Gateways, Versions-Suffixe eingeschlossen. Eine deklarierte ID, die von der Liste abweicht, erzeugt Not-found-Fehler erst, wenn dieses Modell gewählt wird, was sich wie ein wackeliger Provider liest, bis du die Strings vergleichst. Deklariere bewusst. Ein Local-first-Picker funktioniert am besten, wenn die entfernten Zeilen wenige und zweckmäßig sind: eine schnelle ID für alltägliche entfernte Turns (gpt-5.4-mini oder claude-haiku-4-5-20251001), eine Frontier-ID für die Arbeit, die es rechtfertigt, den Rechner zu verlassen (claude-sonnet-4-6), und was auch immer für Spezialist dein Workload verdient (deepseek-v4-flash für lange mehrsprachige Zusammenfassungen, gemini-3.5-flash, wenn Latenz das Feature ist). Jede Zeile lässt sich später leicht hinzufügen; ein hineinkopierter kompletter Katalog ist Rauschen, das du täglich weg-scrollst. Nutzt du auch Jans lokalen API-Server, um andere Tools zu bedienen, halte das mentale Modell klar: dieser Server ist Jan als Provider auf 127.0.0.1:1337/v1; der Custom-Provider-Eintrag ist Jan als Client. Die beiden sind unabhängig, und die Konfiguration des einen betrifft nie das andere.

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

Wählen, welche Konversationen den Rechner verlassen.

Weil entfernte Nutzung prepaid und pro Key gemessen ist, ist der Preis der entfernten Spur eine Zahl, die du abliest, kein Abo, das du schätzt. Lass einen Monat deines echten Splits laufen, und das Nutzungslog sagt dir exakt, was das Verlassen des Rechners kostet, pro Modell, pro Tag.

  • Alltägliche entfernte Turns, schnelle Fragen, Umformulierungen, Übersetzungen gehören auf die schnelle Stufe: gpt-5.4-mini und claude-haiku-4-5-20251001 antworten schnell und lassen das Guthaben fast still stehen.
  • claude-sonnet-4-6 ist die Steigerung für Arbeit, die ein lokales Modell sichtbar nicht tragen kann: langes sorgfältiges Entwerfen, subtiles Code-Review, Analysen, die du weiterleitest.
  • gemini-3.5-flash verdient sich seine Zeile durch Latenz; bei kurzen interaktiven Turns fühlt es sich der Reaktionsfähigkeit eines lokalen Modells am nächsten an.
  • deepseek-v4-flash ist der Volumenkandidat, um lange Dokumente zusammenzufassen, die du einem kleinen lokalen Modell nicht geben würdest.
  • Halte wirklich privates Material vollständig auf lokalen Modellen; die Trennung der Spuren ist der ganze Sinn, Jan überhaupt zu betreiben.

Nutzungsbasiert · unter offiziellem Preis

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

ModellOffizieller PreisUnser Preis
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

Fehlerbilder speziell für Jan.

Not-found-Fehler bei einem bestimmten Modell sind der ID-Vertrag: die deklarierte ID passt nicht zur Schreibweise des Endpoints. Vergleiche zeichengenau mit der /v1/models-Ausgabe. Authentifizierungsfehler bei jedem Request liegen am Key-Feld. Ein Provider, der speichert, aber nie antwortet, hat meist ein Base-URL-Problem: das /v1-Suffix muss vorhanden sein, da Jan Routenpfade wie /chat/completions an die Base anhängt, die du angibst, und ein verdoppeltes oder fehlendes Segment erzeugt 404er. Wurde der Provider auf einem älteren Build erstellt, prüfe das API-Format: v0.8.1 führte den OpenAI-oder-Anthropic-Selektor ein, und ein Gateway-Eintrag, der versehentlich auf das Anthropic-Format gesetzt ist, spricht gegenüber einem /v1/chat/completions-Endpoint den falschen Dialekt. Und behalte im Kopf, welche Spur du debuggst. Lokale Modell-Fehler (VRAM, Quantisierung, llama.cpp-Einstellungen) und entfernte Fehler (URL, Key, IDs) teilen ein Chat-Fenster, aber sonst nichts; der Model-Selector zeigt, zu welcher Spur eine scheiternde Konversation gehört, bevor du am falschen Faden ziehst.

Wer Jan eine Gateway-Spur hinzufügt.

  • Local-first-Nutzer, die gelegentlich Frontier-Qualität brauchen und diese gelegentliche Spur auf einem Prepaid-Guthaben statt einem Vendor-Abo wollen.
  • Entwickler auf Rechnern, die große lokale Modelle nicht gut betreiben können, die Jan als Interface und das Gateway für die schwere Arbeit nutzen.
  • Privacy-bewusste Nutzer, die genau einen entfernten Endpoint zum Durchdenken, Firewallen und Prüfen wollen, statt einen pro Vendor.
  • Leute, die lokale gegen Cloud-Ausgaben an echten Aufgaben vergleichen, wo die entfernten Kandidaten deklarierte Zeilen sind, keine neuen Konten.
  • Entwickler ohne Zugang zum Billing eines bestimmten Vendors. Guthabenbasierter Zugang ohne Kartenpflicht entfernt die Sign-up-Abhängigkeit pro Provider.

Endpoint verifizieren und den ersten entfernten Turn debuggen.

Curle zuerst die Modell-Liste und eine Chat Completion; bestehen beide, liegt alles Verbleibende im Provider-Eintrag. Das liefert dir zudem die exakten ID-Schreibweisen zum Deklarieren. Schick in Jan eine kurze Nachricht auf der schnellen entfernten ID. Authentifizierungsfehler sind der Key; Not-found ist die ID; Stille oder 404er sind die Base-URL-Form. Funktioniert die entfernte Spur, fühlt sich aber langsam auf der Frontier-ID an, ist das Modell-Latenz, kein Konfigurationsproblem; Reasoning-Modelle lassen sich bei langen Turns Zeit. Sobald entfernte Turns laufen, zeigt die APIsRouter-Konsole Modell, Token-Zahlen und Ausgaben pro Anfrage. Für einen Local-first-Nutzer ist dieses Log ungewöhnlich befriedigende Lektüre: es ist die vollständige Aufzeichnung von allem, was den Rechner je verlassen hat, pro Modell, pro Tag, wobei die lokale Spur exakt nichts dazu beiträgt.

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"}]}'

Häufige Fragen

Wie füge ich Jan einen custom OpenAI-kompatiblen Provider hinzu?

Settings, Model Providers, dann das Plus-Symbol, um einen Provider hinzuzufügen. Benenne ihn, wähle auf Builds, die danach fragen (v0.8.1+), das OpenAI-API-Format, setze Base URL https://api.apisrouter.com/v1, füge deinen Key ein, und deklariere Model-IDs, die zur Liste des Endpoints passen.

Warum liefert mein deklariertes Modell not-found?

Jan schickt die deklarierte ID wortwörtlich als model-String, und die Docs verlangen, dass die ID exakt zum Modellnamen des Endpoints passt. Zieh die /v1/models-Liste und kopiere die Schreibweise, Versions-Suffixe eingeschlossen, statt IDs aus dem Gedächtnis zu tippen.

Ändert das Hinzufügen eines entfernten Providers, wie lokale Modelle funktionieren?

Nein. Lokale Modelle laufen weiter auf dem Gerät über llama.cpp, offline eingeschlossen. Der Provider-Eintrag fügt dem Selector eine separate entfernte Spur hinzu, und Konversationen berühren das Netzwerk nur, wenn du eine entfernte ID wählst.

Sollte die Base URL /v1 enthalten?

Ja: https://api.apisrouter.com/v1. Jan hängt Routen wie /chat/completions an die Base an, die du konfigurierst, also erzeugt ein fehlendes /v1 einen 404er, und ein verdoppeltes auch. Scheitern Requests, lies zuerst die zusammengesetzte URL im Fehler, bevor du sonst etwas änderst.

Kann Jan Claude und Gemini über einen Provider-Eintrag erreichen?

Ja. Im OpenAI-Format reist die Model-ID als reiner String, also können claude-sonnet-4-6, gemini-3.5-flash, gpt-5.4-mini und deepseek-v4-flash alle unter einem Eintrag deklariert, über einen Key abgerechnet und pro Konversation gewechselt werden.

Ist das dasselbe wie Jans lokaler API-Server?

Nein. Der lokale Server auf 127.0.0.1:1337/v1 ist Jan, das seine lokalen Modelle anderen Tools bereitstellt. Der Custom-Provider-Eintrag ist Jan, das einen entfernten Endpoint konsumiert. Es sind unabhängige Features, die zufällig dasselbe OpenAI-Wire-Format teilen.