Skip to main content
omp (oh-my-pi) est un agent de codage terminal open-source tout-en-un — un fork de Pi qui ajoute l’intégration LSP, le débogage piloté par DAP, l’orchestration de sous-agents et le routage des modèles par rôle sur 40+ fournisseurs. Comme Pi, il lit ses fournisseurs depuis un fichier de configuration, vous pouvez donc ajouter Tokios en tant que fournisseur personnalisé, pointer baseUrl vers https://api.tokios.com/v1, et accéder à n’importe quel modèle derrière votre connecteur — sans que le port de ce modèle ne soit jamais exposé.

Prérequis

Trouvez le nom de votre déploiement

omp envoie le nom du déploiement — le nom public que vous avez enregistré dans le tableau de bord — et non l’ID de modèle amont utilisé par votre backend local. Les 2 sont souvent des chaînes différentes, et les confondre est la cause la plus fréquente d’un 404. Listez les déploiements que votre clé API peut atteindre :
Chaque id dans la réponse est une valeur que vous pouvez utiliser dans models.yml.
Exécutez ceci même si votre modèle répond déjà en Playground. Le Playground s’authentifie avec votre session de navigateur connectée, donc un test réussi ici ne prouve pas que votre clé sk-tok-… est valide ou limitée à ce déploiement. GET /v1/models est le premier appel qui teste la clé elle-même.

Où omp conserve sa configuration

omp lit les fichiers 2 depuis un répertoire .omp préfixé par un point dans votre dossier personnel :
Créez le répertoire et le fichier s’ils n’existent pas encore.
Le répertoire est .omp, avec un point initial. omp ne lit pas un fichier créé à omp/agent/models.yml — il démarre normalement, et votre fournisseur n’apparaît simplement jamais dans /model.

Configurer un fournisseur personnalisé

Collez ceci dans models.yml et remplacez les valeurs de remplacement 2. Il s’agit d’un fichier complet, et non d’un extrait :
models.yml
Un seul bloc provider peut servir tous les déploiements de votre compte. Ajoutez une entrée sous models pour chacun :
models.yml
Remplacez gemma-tunnel par un nom de déploiement issu de GET /v1/models — pas l’ID de modèle amont que votre backend (Ollama, llama.cpp, vLLM ou LM Studio) sert, et pas la valeur Routes[].Model dans la configuration de votre connecteur, qui est l’ID amont. Remplacez sk-tok-YOUR_KEY par votre propre clé, et évitez de committer models.yml avec une clé réelle dans le contrôle de version.
baseUrl doit inclure /v1, sans barre oblique finale. Le provider openai-completions d’omp construit les chemins de requête par rapport à cette URL, donc https://api.tokios.com manque la surface API de Tokios et https://api.tokios.com/v1/ peut produire un séparateur en double.
Le schéma de configuration d’omp peut changer entre les versions, donc confirmez les noms exacts des clés par rapport à votre version installée (voir omp.sh/docs). Commencez par le bloc minimal ci-dessus — une fois qu’omp liste votre modèle sous /model, ajoutez les champs optionnels ci-dessous.

Acheminer un rôle vers votre modèle (optionnel)

omp mappe les rôles nommés aux modèles, chacun avec une chaîne de secours optionnelle. Pointez un rôle vers votre provider Tokios dans settings.yml en utilisant la syntaxe provider/model :
settings.yml
Sinon, choisissez le provider et le modèle au moment de l’exécution avec la commande /model dans l’interface TUI d’omp.
Comme les rôles sont écrits sous forme de provider/model, un nom de déploiement court, en minuscules et avec des tirets garde cette ligne non ambiguë — la même recommandation de nommage Register a model propose. Si un déploiement est enregistré sous un nom qui contient lui-même un /, préférez le sélectionner avec /model plutôt que de l’associer à un rôle.

Correspondre à la fenêtre de contexte (optionnel)

omp dimensionne ses invites à partir de la fenêtre de contexte du modèle. Ollama, llama.cpp, LM Studio et vLLM servent chacun la longueur de contexte avec laquelle le modèle a été chargé, et non le maximum théorique du modèle, donc indiquez à omp le nombre réel :
Le définir trop haut fait qu’omp empaquette une invite que votre serveur local rejette — une erreur qui arrive via Tokios mais qui provient de votre propre machine. Les invites courtes masquent la discordance, donc elle apparaît généralement seulement une fois qu’omp commence à envoyer des fichiers entiers.

Préférer la surface Anthropic ? (optionnel)

omp peut également parler le protocole de messages Anthropic. Pour router via la surface Anthropic de Tokios, définissez api sur anthropic-messages et supprimez le /v1 de baseUrl — les clients de style Anthropic utilisent la racine de base.

Choisissez un modèle capable d’outils

L’agent d’omp s’appuie sur l’appel d’outils pour lire des fichiers, exécuter des commandes et modifier du code. Tous les modèles locaux ne gèrent pas les appels d’outils de manière fiable — choisissez un déploiement soutenu par un modèle avec un solide support d’appel d’outils avant de vous fier à omp pour des modifications réelles. Voir Choisir un modèle par tâche pour des conseils sur l’adaptation d’un modèle au travail de codage agentique.

Dépannage

omp ne lit pas votre fichier. Confirmez qu’il se trouve à ~/.omp/agent/models.yml — le répertoire est .omp, avec un point initial, et sous Windows cela se résout en C:\Users\<you>\.omp\agent\models.yml. Confirmez également que le fichier est un YAML valide : providers est un mappage indexé par le nom du fournisseur, et models est une liste.
La clé API envoyée par omp est manquante, mal formée ou a été révoquée. Confirmez que apiKey contient la clé complète sk-tok-… sans espace blanc supplémentaire, et vérifiez son statut sur l’onglet Keys. Une session Playground fonctionnelle ne l’exclut pas — le Playground n’utilise pas votre clé API.
Le modèle id sous models ne correspond pas à un déploiement enregistré. Exécutez GET /v1/models et copiez un id de la réponse exactement. Un écart courant consiste à utiliser l’ID de modèle amont de votre connecteur Routes[].Model au lieu du nom du déploiement.
La clé existe mais n’est pas limitée au déploiement que vous avez configuré, ou votre compte est suspendu. Vérifiez les modèles de clé de l’onglet Keys.
Le connecteur de ce déploiement est hors ligne ou a atteint sa limite de concurrence. Vérifiez l’onglet Connectors — le connecteur doit afficher Online, et la machine qui l’exécute doit être toujours active et accessible.
omp envoie plus de contexte que votre backend n’en a chargé. Définissez contextWindow sur l’entrée du modèle à la longueur de contexte que votre serveur sert réellement, et confirmez le paramètre au moment du chargement dans Ollama, llama.cpp, LM Studio ou vLLM.

Prochaines étapes

Pi

omp est un fork de Pi — l’agent amont se connecte à Tokios de la même manière.

Choisissez un modèle par tâche

Associez un modèle local au travail de codage agentique avant de l’engager dans omp.