Lire l’abonnement, le modèle et l’effort d’une session
Nécessite @openlatch/client 0.11.11 ou une version ultérieure
Utilisez la colonne Subscription du tableau des sessions de l’onglet Economics d’un agent pour voir sous quoi chaque session a tourné : l’ID d’abonnement et son type, le compte fournisseur et le mode de facturation, ainsi que l’effort de raisonnement demandé par l’agent à côté de chaque modèle. Tous les rôles peuvent la lire. Les machines équipées d’un client plus ancien ne signalent ni abonnement, ni compte fournisseur, ni effort ; elles signalent toujours le modèle et le mode de facturation.
Chaque valeur est celle que la machine de l’agent a signalée, affichée telle qu’envoyée. OpenLatch ne vérifie ni un ID d’abonnement ni un compte auprès du fournisseur, et ne les juge jamais : une valeur est une observation, pas un verdict.
Lire une session
Section intitulée « Lire une session »- Ouvrez un agent, puis son onglet Economics.
- Dans Sessions, lisez la colonne Subscription : le libellé du type sur la première ligne, l’ID d’abonnement sur la deuxième, puis le compte fournisseur et le mode de facturation.
- Lisez l’effort sur la deuxième ligne de la cellule Models, après le mot effort.
- Sélectionnez une session pour ouvrir son détail : chaque abonnement, compte fournisseur, mode de facturation et effort de la session, et l’effort de chaque modèle dans le tableau du coût par modèle.
Quand une session a plusieurs valeurs, la cellule affiche la première et un compteur comme +1. Survolez le compteur ou placez-y le focus pour lire la liste complète.
| Valeur | Ce que c’est | Quand elle est non signalée |
|---|---|---|
| Abonnement | L’abonnement sous lequel les appels de modèle de la session ont tourné, avec son type, comme une organisation Anthropic ou un espace de travail ChatGPT. Il désigne l’abonnement, pas la personne | La configuration de l’agent ne désigne aucun abonnement, par exemple une session sur une clé d’API |
| Compte fournisseur | L’adresse e-mail du compte du fournisseur de modèles, pour Claude Code uniquement, ou shared-key quand la session tourne sur un identifiant qui ne désigne aucune personne, comme une clé d’API | Tout agent autre que Claude Code, et tout nouvel appel une fois la collecte des signaux d’identité désactivée |
| Mode de facturation | Metered pour une dépense facturée par une clé d’API, Subscription, ou Unknown quand le client n’a pas pu le déterminer ou n’a rien envoyé | Jamais : un mode de facturation que le client n’a pas pu déterminer s’affiche Unknown |
| Modèle | Les modèles appelés par la session | Jamais : le modèle est toujours signalé |
| Effort | L’effort de raisonnement demandé par l’agent, tel qu’il l’a envoyé | Les requêtes de l’agent n’en portaient aucun |
Une valeur non signalée affiche un tiret, lu à voix haute, par exemple, « Subscription not reported by this agent ». Chaque valeur est indépendante : une valeur non signalée ne masque jamais les autres.
Types d’abonnement
Section intitulée « Types d’abonnement »| Libellé du type | Ce qu’est l’ID | Où le client le lit |
|---|---|---|
| Anthropic org | Un UUID d’organisation claude.ai | Claude Code connecté avec un compte claude.ai, et Claude Code exécuté dans Claude Desktop |
| ChatGPT workspace | Un UUID d’espace de travail ChatGPT, ou, sur un forfait personnel, l’ID propre du compte | Codex CLI connecté avec ChatGPT |
| Azure OpenAI resource | Le nom d’hôte d’une ressource Azure OpenAI | Claude Code, Codex CLI ou Cline configuré avec une URL de base Azure OpenAI |
| Cursor team | Un ID d’équipe Cursor | Cursor CLI ou l’éditeur Cursor connecté à une équipe. Quand les deux désignent une équipe, celle du CLI l’emporte |
| Cline org | Un ID d’organisation Cline | Cline connecté à une organisation Cline |
| GCP project | Un ID de projet Google Cloud | Claude Code exécuté sur Google Vertex AI |
| AWS account | Un ID de compte AWS | Claude Code exécuté sur Amazon Bedrock, tiré de l’ARN du profil d’inférence de son réglage de modèle |
| Gateway | Le nom d’hôte d’une passerelle de modèles | Claude Code, Codex CLI ou Cline configuré avec une URL de base qui n’est pas l’hôte propre d’un fournisseur de modèles |
| GitHub enterprise, GitHub org | Une entreprise GitHub, ou une organisation GitHub imposée par une stratégie d’appareil | Réservé à GitHub Copilot, pas encore pris en charge |
Un nom d’hôte est transmis seul, sans schéma, chemin, port, nom d’utilisateur ni requête. Une valeur Gateway désigne la passerelle, pas votre entreprise : un service de passerelle partagé affiche le même nom d’hôte pour tous ses clients.
Quand plusieurs sources s’appliquent à un agent, le client retient la première qui répond, dans cet ordre :
- Une URL de base sur un hôte Azure OpenAI donne Azure OpenAI resource.
- Toute autre URL de base qui n’est pas l’hôte propre d’un fournisseur de modèles donne Gateway, quel que soit l’identifiant.
- Claude Code exécuté sur Vertex AI ou Bedrock donne GCP project ou AWS account.
- La connexion de l’agent donne son organisation, son espace de travail ou son équipe.
Pourquoi un abonnement est non signalé
Section intitulée « Pourquoi un abonnement est non signalé »| Situation | Ce que vous voyez |
|---|---|
| Claude Code sur une clé d’API, un jeton d’authentification, un assistant de clé d’API ou un jeton OAuth | Non signalé, même quand une ancienne connexion claude.ai reste en cache sur la machine : l’organisation derrière une clé ne peut pas être connue sans appeler le fournisseur |
| Codex CLI sur une clé d’API | Non signalé |
| Codex CLI dont les identifiants ne sont que dans le trousseau du système d’exploitation | Non signalé depuis son fichier de connexion. Dès qu’un appel de modèle passe par OpenLatch, l’espace de travail ChatGPT que cet appel désigne est utilisé pour l’appel et pour l’agent |
| Une URL de base définie uniquement dans un profil de shell | Non lue : seuls les réglages propres de l’agent et l’environnement du client sont lus |
| Une passerelle Codex CLI définie uniquement dans un profil, ou par la surcharge de l’URL de base OpenAI de premier niveau | Non lue |
| OpenCode ou Devin | Toujours non signalé : le client ne lit aucun abonnement pour eux |
| Cursor | N’affiche jamais Gateway : le client ne lit aucun réglage de passerelle pour Cursor |
GitHub Copilot n’est pas encore pris en charge ; comme Cursor, il n’affiche jamais Gateway. Gemini CLI et OpenClaw ne sont pas encore pris en charge, donc aucun abonnement, Gateway compris, n’est lu pour eux.
Mode de facturation
Section intitulée « Mode de facturation »| Libellé | Signification |
|---|---|
| Metered | Dépense facturée par une clé d’API |
| Subscription | Dépense sous un forfait d’abonnement, affichée comme estimée dans l’onglet Economics |
| Unknown | Le client n’a pas pu le déterminer, ou n’a envoyé aucun mode de facturation |
Une session Cursor s’affiche toujours Subscription. C’est une règle que le client applique à chaque tour Cursor, pas une observation.
L’effort est l’effort de raisonnement demandé par l’agent, tel qu’il l’a envoyé. Le client le lit dans les requêtes Anthropic Messages et OpenAI Responses, comme celles de Claude Code et de Codex CLI, et dans l’effort que Cursor signale à la fin de chaque tour. Il n’est jamais lu dans un nom de modèle ni déduit du nombre de jetons. OpenLatch enregistre la valeur demandée et ne modifie aucune requête.
Compte fournisseur
Section intitulée « Compte fournisseur »Le compte fournisseur n’est signalé que pour Claude Code : l’adresse e-mail du compte connecté, ou shared-key pour un identifiant qui ne désigne aucune personne. Tout autre agent est non signalé.
Le compte suit l’interrupteur Collect identity signals from endpoints dans Settings › Identity Providers, activé par défaut ; voir Connecter un annuaire pour retrouver les propriétaires. Peu après sa désactivation, aucun nouvel appel de modèle n’enregistre de compte, quoi qu’une machine envoie encore. Les appels enregistrés avant gardent le leur. L’abonnement, le mode de facturation, le modèle et l’effort ne sont pas des signaux d’identité et sont enregistrés dans tous les cas.
Une session prend son compte de sa première recherche. Quand cette recherche ne trouve aucun compte, la session reste non signalée jusqu’au bout.
Quand les valeurs changent
Section intitulée « Quand les valeurs changent »- Chaque appel de modèle enregistre ses propres valeurs. Une session dont l’abonnement, le mode de facturation ou l’effort a changé affiche chaque valeur, dans l’ordre de sa première apparition.
- Les listes couvrent la période que vous avez sélectionnée. Une valeur vue uniquement en dehors de cette période n’est pas listée.
- Le client lit la configuration de l’agent quand il détecte l’agent, à chaque nouvelle analyse périodique, et au démarrage de chaque session Claude Code. Une nouvelle valeur apparaît avec le prochain appel de modèle ou le prochain événement de configuration de l’agent.
- Sur une machine qui exécute Claude Code à la fois dans Claude Desktop et en ligne de commande sous des identifiants différents, le démarrage de session le plus récent décide de l’abonnement que les prochains appels de l’agent enregistrent. Chaque appel garde la valeur qu’il a enregistrée.
- Les sessions enregistrées avant l’existence de ces valeurs sont non signalées. Rien n’est complété après coup.
- Les sessions passées gardent ce qu’elles ont enregistré aussi longtemps que leurs données économiques sont conservées. Cette durée de conservation est configurée, pas garantie : la suppression des lignes à son terme n’est pas certaine. Voir Traitement des données et sécurité.
Fichiers lus par le client
Section intitulée « Fichiers lus par le client »Pour trouver un abonnement, le client lit des champs nommés dans les propres fichiers des agents. Chaque fichier est lu en mémoire et seul le champ nommé est conservé : le fichier et tous ses autres champs ne sont jamais stockés, journalisés ni envoyés. Le client n’ouvre jamais un magasin d’identifiants, comme le fichier d’identifiants de Claude Code, le trousseau macOS, le fichier de secrets de Cline, un fichier .env ou votre fichier d’identifiants AWS, ne décode jamais un jeton, et n’appelle jamais un fournisseur avec l’identifiant de l’agent. Vos outils de sécurité des postes de travail peuvent signaler ces lectures.
| Agent | Source | Ce qui est conservé |
|---|---|---|
| Claude Code | .claude.json, dans votre dossier personnel ou le répertoire de configuration de Claude | organizationUuid, l’organisation du compte claude.ai connecté |
| Claude Code | settings.json et l’environnement propre du client | ANTHROPIC_MODEL, ANTHROPIC_VERTEX_PROJECT_ID, ANTHROPIC_BASE_URL et les surcharges de modèle. Les réglages d’identifiants ne sont vérifiés que pour leur présence |
| Claude Code dans Claude Desktop | CLAUDE_CODE_ORGANIZATION_UUID, dans l’environnement du hook au démarrage de la session | Cette seule variable |
| Codex CLI | config.toml | Le fournisseur de modèles actif et sa base_url |
| Codex CLI | auth.json | Le mode de connexion et l’account_id d’une connexion ChatGPT |
| Codex CLI | Chaque appel de modèle qui passe par OpenLatch | L’en-tête chatgpt-account-id |
| Cursor CLI | cli-config.json | activeTeamId, sinon teamId |
| Éditeur Cursor | state.vscdb, ouvert en lecture seule et interrogé par clé exacte | L’ID d’équipe en cache |
| Cline | globalState.json | lastManagedOrganizationId, le fournisseur actif et son URL de base |
| Cline | providers.json | L’organizationId du compte Cline, le fournisseur actif et son URL de base |
Pour lire ce qu’une session a fait, voir Examiner ce qu’un agent a fait. Pour les dépenses et le budget de l’agent, voir Suivre les dépenses d’un agent.