Modèle / jeu de données
rynfar/meridian avatar
rynfar/meridian

Meridian : brancher Claude Max sur OpenCode, Aider ou Crush via le SDK Agent

Use your Claude Max subscription with OpenCode, Pi, Droid, Aider, Crush, Cline, Jcode. Proxy that bridges Anthropic's official SDK to enable Claude Max in third-party tools.

2 016 étoiles223 forksTypeScriptLa licence varie

En bref

De quoi s’agit-il ?
Un proxy local en TypeScript qui expose le SDK Claude Agent sous forme d'API Anthropic et OpenAI, pour utiliser un abonnement Claude Max dans des outils tiers. Le point délicat n'est pas le code, c'est ce que la licence du dépôt autorise.
À qui s’adresse-t-il ?
Meridian convient à qui possède déjà un abonnement Claude Max et veut retrouver son éditeur ou son terminal habituel sans écrire d'adaptateur. Ceux qui n'ont pas d'abonnement Max, ou qui ne veulent dépendre d'aucun SDK propriétaire, doivent passer leur chemin.
Puis-je l’utiliser commercialement ?
Pas sans autorisation. GitHub ne trouve aucun fichier de licence dans ce dépôt, et sans licence tous les droits sont réservés par défaut : vous pouvez lire le code, mais pas le réutiliser. Consultez le README ou demandez l’accord des auteurs avant de l’utiliser.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le problème : un SDK sans serveur, des clients qui attendent une URL

Le SDK Claude Agent donne un accès programmatique à Claude, mais il n'ouvre pas de port. Il s'appelle depuis du code. En face, la plupart des outils de codage assisté (OpenCode, Crush, Cline, Aider, Droid, Pi, Jcode) savent parler à une API Anthropic ou OpenAI, à condition qu'on leur fournisse une base_url. Meridian comble cet écart : il tourne en local, accepte des requêtes au format API standard et les fait passer par le SDK. Le README résume la répartition des rôles ainsi : « The SDK does the work; Meridian formats the result. » Le public visé est donc précis. Il faut avoir un abonnement Claude Max, accepter de dépendre du SDK d'Anthropic, et préférer son propre outil à Claude Code. Sans abonnement Max, l'intérêt disparaît : le proxy n'apporte rien qu'un appel direct à l'API ne fasse déjà.

Ce qui circule entre le client et le SDK

Le mécanisme tient en une phrase du README : chaque requête passe par query(), la fonction documentée du SDK. Aucun jeton OAuth n'est extrait, aucun binaire n'est modifié. Meridian se décrit comme une couche de présentation et d'interopérabilité : il traduit la sortie de Claude Code vers le format API Anthropic. Conséquence directe, et c'est le point de conception le plus intéressant du projet : le cache de prompt, la gestion de la fenêtre de contexte, la compaction, la limitation de débit et l'authentification restent sous contrôle d'Anthropic. Meridian ne les contourne pas, il en dépend. C'est un choix assumé, énoncé comme une philosophie, mais c'est aussi une contrainte : toute évolution du SDK se répercute sur le proxy. La gestion de session mérite d'être notée, car elle n'est pas triviale. Les conversations persistent entre les requêtes, survivent à la compaction et à l'annulation, et reprennent après un redémarrage du proxy. Le README mentionne aussi une sélection de modèle par sous-agent : les agents principaux obtiennent 1M de contexte, les sous-agents 200k, ce qui préserve le budget de limitation de débit.

Installation et variables d'environnement

Le démarrage tient en quatre commandes. D'abord npm install -g @rynfar/meridian. Ensuite claude login, une seule fois, pour l'authentification. Puis meridian setup pour les utilisateurs d'OpenCode (la variante V2 bêta se lance avec --v2 et --opencode-bin). Enfin meridian. Le proxy écoute sur http://127.0.0.1:3456. Côté client, le README donne cet exemple : ANTHROPIC_API_KEY=x ANTHROPIC_BASE_URL=http://127.0.0.1:3456 opencode. Détail qui surprend au premier abord : la valeur de la clé est un simple caractère de remplissage. Meridian s'authentifie par le SDK, pas par clé d'API, mais la plupart des outils exigent que le champ soit renseigné. N'importe quelle valeur fonctionne. La configuration plus fine se trouve dans docs/configuration.md (variables d'environnement, points de terminaison, bascule des fonctionnalités du SDK, mode passthrough, commandes CLI). Les prix utilisés pour l'estimation de coût se règlent dans ~/.config/meridian/model-pricing.json, également modifiable depuis /settings. Pour NixOS, Home Manager ou Docker, il faut consulter docs/deployment.md : le README ne donne aucune commande pour ces cas.

Deux protocoles, des plugins, et un tableau de bord

Meridian expose l'API Anthropic, ce qui le rend compatible avec tout outil acceptant une base_url personnalisée. Il expose aussi une API compatible OpenAI sur /v1/chat/completions et /v1/models, pour les clients qui ne parlent que ce protocole (Open WebUI, Continue). Le README insiste sur un point : pas besoin de LiteLLM en intermédiaire, et les data URLs en image_url sont pris en charge. C'est un argument concret pour qui a déjà empilé trois proxys. Le streaming SSE est complet, avec filtrage des outils MCP. Le mode passthrough renvoie les appels d'outils au client au lieu de les exécuter en interne. Les images, documents et pièces jointes traversent jusqu'à Claude. Un système de plugins existe, avec des plugins de nettoyage officiels décrits dans docs/plugins.md. Enfin, un tableau de bord de télémétrie est disponible sur /telemetry : métriques de performance en temps réel, consommation de jetons et efficacité du cache de prompt. Le README mentionne une persistance de télémétrie en option, mais la phrase est tronquée dans l'extrait fourni et je ne peux pas en dire davantage.

Le point faible : la licence n'est pas confirmée

Le champ License du dépôt est inconnu. Le badge du README affiche MIT, et c'est la seule source de cette information dans le matériel fourni. Un badge n'est pas un fichier LICENSE. Tant que le fichier n'est pas présent à la racine, la licence réelle du code reste indéterminée, et c'est un problème pour tout usage en entreprise. Il faut aussi distinguer deux choses : la licence du code de Meridian, et les conditions d'utilisation de l'abonnement Claude Max. Le README affirme que Meridian respecte les garde-fous d'Anthropic parce qu'il passe par le SDK, ce qui est cohérent avec le mécanisme décrit. Cela ne constitue pas un avis juridique, et je ne peux pas confirmer depuis ce matériel que l'usage d'un abonnement Max à travers un proxy tiers soit couvert par les conditions d'Anthropic. C'est à vérifier de votre côté, avant de généraliser le déploiement. Sur la maintenance, la cadence observée est soutenue : trois versions publiées entre le 4 et le 9 septembre 2026. Un rythme élevé signifie des correctifs rapides, mais aussi une surface de mise à jour importante pour un composant qui s'intercale entre votre outil et votre compte.

Quand Meridian n'est pas le bon outil

Le cas le plus net est celui du développeur sans abonnement Claude Max. Meridian n'a alors aucune raison d'exister : appeler l'API Anthropic directement est plus simple, et supprime une couche locale à maintenir. Autre cas défavorable : un outil qui ne sait pas configurer sa base_url. Le proxy ne peut rien pour lui, puisque tout passe par cette redirection. Le mode passthrough mérite aussi réflexion. En renvoyant les appels d'outils au client plutôt qu'en les exécutant en interne, il déplace la responsabilité, mais le README ne détaille pas les conséquences sur les sessions ou le cache. Si votre outil dépend d'une exécution interne des outils, ce mode n'est pas anodin. Enfin, la dépendance au SDK est structurelle. Le README la revendique comme une garantie de stabilité, mais elle signifie aussi qu'une rupture d'API côté SDK se traduit immédiatement par un proxy cassé, sans marge de manœuvre côté Meridian.

Face à LiteLLM et aux proxys génériques

L'alternative la plus évidente est LiteLLM, un proxy multi-fournisseurs qui normalise de nombreuses API derrière une interface compatible OpenAI. La différence d'approche est nette. LiteLLM route des requêtes vers des fournisseurs en utilisant des clés d'API ; il ne s'appuie pas sur un SDK agentique et n'a pas accès à la gestion de session ni à la compaction de Claude Code. Meridian, lui, ne cherche pas la multiplicité : il se limite à une source, le SDK Claude Agent, et se concentre sur la fidélité du format de sortie. Le README va jusqu'à dire que l'API OpenAI de Meridian évite d'avoir besoin de LiteLLM. C'est vrai pour le cas d'usage visé, un abonnement Max unique. LiteLLM reste préférable dès qu'il faut plusieurs fournisseurs, une clé par équipe, ou une journalisation centralisée. Le choix se fait donc sur le nombre de sources, pas sur la qualité des deux projets.

Multi-comptes et instances d'adaptateur

Deux fonctionnalités sortent du strict rôle de traduction. Le support multi-profils permet de basculer entre plusieurs comptes Claude sans redémarrage. Le routage de session collant, en option, répartit les sessions entre comptes tout en gardant les caches de prompt de chaque compte chauds. Le README précise que ce routage est opt-in, et la documentation se trouve dans docs/profiles.md. Les instances d'adaptateur vont plus loin : plusieurs configurations du même adaptateur peuvent tourner côte à côte, avec des réglages distincts de réflexion, de prompt système et de passthrough, sélectionnés par en-tête ou par règles de correspondance. C'est utile pour tester deux réglages en parallèle sur la même machine. Le revers est une configuration qui se complexifie vite, sans interface graphique pour la visualiser : tout passe par des fichiers et des en-têtes. Le README renvoie à docs/agents.md pour le détail, et cette documentation n'est pas reproduite dans l'extrait fourni.

Conclusion éditoriale

Meridian convient à qui possède déjà un abonnement Claude Max et veut retrouver son éditeur ou son terminal habituel sans écrire d'adaptateur. Ceux qui n'ont pas d'abonnement Max, ou qui ne veulent dépendre d'aucun SDK propriétaire, doivent passer leur chemin. Avant de déployer, vérifiez deux choses dans le dépôt : le fichier LICENSE réel, puisque le README affiche MIT sans que la licence soit confirmée, et le contenu de docs/agents.md pour la ligne de configuration exacte de votre outil.

Sources officielles

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. rynfar/meridian on GitHub
Notes de la communauté

Notes de la communauté