Skip to main content
omp (oh-my-pi) ist ein umfassendes, quelloffenes Terminal-Coding-Agent — ein Fork von Pi, der LSP-Integration, DAP-gesteuertes Debugging, Subagent-Orchestrierung und modellbasierte Routing pro Rolle über 40+ Anbieter hinweg hinzufügt. Wie Pi liest es seine Anbieter aus einer Konfigurationsdatei, sodass Sie Tokios als benutzerdefinierten Anbieter hinzufügen, baseUrl auf https://api.tokios.com/v1 verweisen und jedes Modell hinter Ihrem Connector erreichen können — ohne dass dessen Port jemals freigegeben wird.

Voraussetzungen

  • Ein laufender Tokios Connector, der mit Ihrem lokalen Modell gekoppelt ist — siehe Connector install
  • Eine registrierte Deployment — siehe Register a model
  • Ein Tokios API-Schlüssel (sk-tok-…) — siehe API keys
  • omp installiert:

Finden Sie den Namen Ihrer Deployment

omp sendet den Deployment-Namen — den öffentlichen Namen, den Sie in der Konsole registriert haben — nicht die Upstream-Modell-ID, die Ihr lokales Backend verwendet. Die 2 sind oft unterschiedliche Zeichenfolgen, und sie zu verwechseln, ist die häufigste Ursache für einen 404. Listen Sie die Deployments auf, auf die Ihr API-Schlüssel zugreifen kann:
Jeder id in der Antwort ist ein Wert, den Sie in models.yml verwenden können.
Führen Sie dies auch aus, wenn Ihr Modell bereits in der Playground antwortet. Die Playground authentifiziert sich mit Ihrer angemeldeten Browsersitzung, daher beweist ein erfolgreicher Test dort nicht, dass Ihr sk-tok-…-Schlüssel gültig ist oder auf diese Deployment beschränkt ist. GET /v1/models ist der erste Aufruf, der den Schlüssel selbst testet.

Wo omp seine Konfiguration speichert

omp liest 2-Dateien aus einem punktpräfixierten .omp-Verzeichnis in Ihrem Home-Ordner:
Erstellen Sie das Verzeichnis und die Datei, falls sie noch nicht existieren.
Das Verzeichnis ist .omp, mit einem führenden Punkt. omp liest keine Datei, die unter omp/agent/models.yml erstellt wurde — es startet normal, und Ihr Anbieter erscheint einfach nie in /model.

Einen benutzerdefinierten Anbieter konfigurieren

Fügen Sie dies in models.yml ein und ersetzen Sie die 2-Platzhalterwerte. Es handelt sich um eine vollständige Datei, keinen Ausschnitt:
models.yml
Ein Provider-Block kann jede Deployment auf Ihrem Konto bedienen. Fügen Sie unter models für jede einen Eintrag hinzu:
models.yml
Ersetzen Sie gemma-tunnel durch einen Deployment-Namen aus GET /v1/models — nicht die Upstream-Modell-ID, die Ihr Backend (Ollama, llama.cpp, vLLM oder LM Studio) bereitstellt, und nicht den Routes[].Model-Wert in Ihrer Connector-Konfiguration, der die Upstream-ID ist. Ersetzen Sie sk-tok-YOUR_KEY durch Ihren eigenen Schlüssel und vermeiden Sie, models.yml mit einem echten Schlüssel in die Versionskontrolle zu committen.
baseUrl muss /v1 enthalten, ohne nachgestelltem Slash. Der openai-completions-Provider von omp erstellt Anforderungspfade relativ zu dieser URL, sodass https://api.tokios.com die Tokios-API-Oberfläche verpasst und https://api.tokios.com/v1/ einen doppelten Separator erzeugen kann.
Das Konfigurationsschema von omp kann zwischen Releases wechseln, daher bestätigen Sie die exakten Schlüsselnamen gegen Ihre installierte Version (siehe omp.sh/docs). Beginnen Sie mit dem minimalen Block oben — sobald omp Ihr Modell unter /model auflistet, fügen Sie die optionalen Felder unten hinzu.

Eine Rolle zu Ihrem Modell routen (optional)

omp bildet benannte Rollen auf Modelle ab, jede mit einer optionalen Fallback-Kette. Zeigen Sie eine Rolle auf Ihren Tokios-Provider in settings.yml mit provider/model-Syntax:
settings.yml
Wählen Sie andernfalls zur Laufzeit den Provider und das Modell mit dem /model-Befehl innerhalb von omps TUI.
Da Rollen als provider/model geschrieben sind, hält ein kurzer, kleingeschriebener, Bindestrich-getrennter Deployment-Name diese Zeile eindeutig — dieselbe Namensgebung, die Register a model empfiehlt. Wenn ein Deployment unter einem Namen registriert ist, der selbst einen / enthält, wählen Sie ihn vorzugsweise mit /model aus, anstatt ihn an eine Rolle zu binden.

Das Kontextfenster abgleichen (optional)

omp dimensioniert seine Prompts aus dem Kontextfenster des Modells. Ollama, llama.cpp, LM Studio und vLLM stellen jeweils die Kontextlänge bereit, mit der das Modell geladen wurde, nicht das theoretische Maximum des Modells, also teilen Sie omp die echte Zahl mit:
Setzen Sie es zu hoch und omp packt einen Prompt, den Ihr lokaler Server ablehnt — ein Fehler, der durch Tokios ankommt, aber auf Ihrer eigenen Maschine entsteht. Kurze Prompts verbergen die Diskrepanz, daher tritt er typischerweise nur einmal auf, wenn omp beginnt, ganze Dateien zu senden.

Die Anthropic-Oberfläche bevorzugen? (optional)

omp kann auch das Anthropic-Nachrichtenprotokoll sprechen. Um stattdessen über die Anthropic-Schnittstelle von Tokios zu routen, setzen Sie api auf anthropic-messages und entfernen Sie /v1 aus baseUrl — Anthropic-kompatible Clients verwenden die Root-Basis.

Wählen Sie ein Modell mit Tool-Fähigkeiten

Der Agent von omp verlässt sich auf Tool-Aufrufe, um Dateien zu lesen, Befehle auszuführen und Code zu bearbeiten. Nicht jedes lokale Modell behandelt Tool-Aufrufe zuverlässig — wählen Sie eine Deployment, die von einem Modell mit starker Tool-Aufruf-Unterstützung gestützt wird, bevor Sie sich auf omp für echte Bearbeitungen verlassen. Siehe Wählen Sie ein Modell nach Aufgabe für Richtlinien zur Zuordnung eines Modells zu agenticer Codearbeit.

Fehlerbehebung

omp liest Ihre Datei nicht. Bestätigen Sie, dass sie sich unter ~/.omp/agent/models.yml befindet — das Verzeichnis ist .omp, mit einem führenden Punkt, und unter Windows wird dies zu C:\Users\<you>\.omp\agent\models.yml aufgelöst. Bestätigen Sie außerdem, dass die Datei gültiges YAML ist: providers ist eine nach Anbietername keyerte Zuordnung, und models ist eine Liste.
Der von omp gesendete API-Schlüssel fehlt, ist fehlerhaft oder wurde widerrufen. Bestätigen Sie, dass apiKey den vollständigen sk-tok-…-Schlüssel ohne zusätzliche Leerzeichen enthält, und überprüfen Sie seinen Status auf der Keys-Registerkarte. Eine funktionierende Playground-Sitzung schließt dies nicht aus — der Playground verwendet Ihren API-Schlüssel nicht.
Das Modell id unter models stimmt nicht mit einer registrierten Deployment überein. Führen Sie GET /v1/models aus und kopieren Sie eine id aus der Antwort genau. Ein häufiger Fast-Fehler besteht darin, die Upstream-Modell-ID Ihres Connectors aus Routes[].Model zu verwenden, anstatt den Deployment-Namen.
Der Schlüssel existiert, ist aber nicht auf die von Ihnen konfigurierte Deployment beschränkt, oder Ihr Konto ist gesperrt. Überprüfen Sie die Mustervorlagen des Schlüssels auf der Keys-Registerkarte.
Der Connector für diese Deployment ist offline oder hat sein Concurrency-Limit erreicht. Überprüfen Sie die Connectors-Registerkarte — der Connector muss als Online angezeigt werden, und die Maschine, die ihn ausführt, muss weiterhin erreichbar sein.
omp sendet mehr Kontext, als Ihr Backend geladen hat. Legen Sie contextWindow im Modelleintrag auf die Kontextlänge fest, die Ihr Server tatsächlich bereitstellt, und bestätigen Sie die Ladezeit-Einstellung in Ollama, llama.cpp, LM Studio oder vLLM.

Nächste Schritte

Pi

omp ist ein Fork von Pi — der Upstream-Agent verbindet sich auf die gleiche Weise mit Tokios.

Wählen Sie ein Modell nach Aufgabe

Passen Sie ein lokales Modell für agentic Coding-Arbeiten an, bevor Sie es in omp übernehmen.