Télémétrie ChatGPT bureau.
Configurez journaux, métriques et traces pour les tâches Codex locales. Vérifiez chaque signal dans Observagent et comprenez quelles expériences de bureau cette configuration couvre.
Trois signaux depuis un runtime local défini.
Examiné par rapport à la documentation officielle d'OpenAI le 20 septembre 2026. Cette page est un guide de configuration ; la livraison en direct doit être vérifiée avec votre application et backend.
Documentation officielle de télémétrie · Administrateur : corriger la création de clé de projet
Offre minimum requise
ChatGPT Free, lorsque l’accès Codex local de bureau est disponible.
- Votre compte ou espace doit autoriser Codex local dans l’application de bureau. Free et Go ont des limites de déploiement et de modèles.
- L’authentification par clé API permet les tâches Codex locales avec une facturation API distincte. Les politiques de l’espace peuvent limiter le mode de connexion.
Conditions examinées le .
Étapes d'intégration
Sélectionnez une plateforme pour voir les commandes et chemins propres à votre ordinateur. La configuration du projet et la vérification de la livraison sont communes à toutes les plateformes.
- Étape 1
Ouvrir la configuration Codex active
Sauvegardez la configuration Codex utilisée par l'application de bureau avant de la modifier.
- Modifiez la configuration utilisée par le runtime Codex local, pas un fichier au nom similaire d'un autre profil utilisateur ou environnement distant.
- La sauvegarde vous permet de récupérer rapidement si une table TOML existante entre en conflit avec les nouveaux paramètres de l’exportateur.
PowerShell$config = Join-Path $HOME ".codex\config.toml" New-Item -ItemType Directory -Force (Split-Path $config) | Out-Null if (Test-Path $config) { Copy-Item $config "$config.backup" } notepad $config - Étape 2
Ajouter les exportateurs OTLP
Fusionnez ces tables avec les paramètres OTel existants ; ne dupliquez pas les en-têtes de table.
- Remplacez YOUR_PROJECT_KEY dans les trois en-têtes d’autorisation.
- Si une table [otel] ou d’exportateur existe déjà, fusionnez les valeurs plutôt que de créer des en-têtes dupliqués.
- Les journaux, métriques et traces nécessitent leurs points de terminaison respectifs /v1/logs, /v1/metrics et /v1/traces.
PowerShell[otel] exporter = "otlp-http" metrics_exporter = "otlp-http" trace_exporter = "otlp-http" [otel.exporter.otlp-http] endpoint = "https://dashboard.observagent.cloud/v1/logs" headers = { Authorization = "Bearer YOUR_PROJECT_KEY" } [otel.metrics_exporter.otlp-http] endpoint = "https://dashboard.observagent.cloud/v1/metrics" headers = { Authorization = "Bearer YOUR_PROJECT_KEY" } [otel.trace_exporter.otlp-http] endpoint = "https://dashboard.observagent.cloud/v1/traces" headers = { Authorization = "Bearer YOUR_PROJECT_KEY" } - Étape 3
Redémarrer et vérifier
Quittez complètement ChatGPT puis rouvrez-le, exécutez une tâche Codex locale anodine et vérifiez les trois signaux dans Observagent.
- Terminez le travail actif avant de redémarrer afin que le runtime recharge config.toml correctement.
- Utilisez une tâche locale anodine, laissez le temps à l’export, puis vérifiez séparément les journaux, métriques et traces.
- Cette configuration couvre l’activité Codex locale ; elle ne prétend pas capturer chaque conversation ChatGPT ordinaire.
1. Vérifiez quelle expérience vous utilisez
L'application de bureau fournit les expériences ChatGPT et Codex ; ChatGPT a aussi les modes Chat et Work. Voir le guide de l'application de bureau. La documentation OpenTelemetry décrit l'export des exécutions Codex locales. Ce parcours s'applique à ce runtime.
- Tâche Codex locale dans l'application de bureau : suivez les étapes ci-dessous.
- Chat ChatGPT ordinaire : aucun paramètre d'export OTLP natif n'a été établi par la documentation officielle examinée. Ne présumez pas que cette configuration capture ces conversations.
- ChatGPT Work : l'exécution locale et hébergée peuvent différer ; la couverture d'export n'a pas été vérifiée ici. Confirmez le runtime de la tâche et les directives de l'administrateur avant d'appliquer la configuration Codex.
- Intégration CLI Codex existante : l'application de bureau peut partager la même configuration Codex locale. Vous êtes peut-être déjà configuré ; évitez de remplacer son exportateur juste pour créer une nouvelle étiquette.
Ce guide ne nécessite pas de proxy Ollama, de paquets Python, de clé API OpenAI, ni de serveur MCP. Il configure les propres exportateurs du runtime. Les points de terminaison d'ingestion d'Observagent acceptent OTLP ; ce ne sont pas des points de terminaison MCP. Les ajouter à la liste des serveurs MCP de l'application ne créera pas d'intégration de télémétrie.
2. Préparer un projet Observagent
Connectez-vous à Observagent. Ouvrez Settings / Projects et créez ou choisissez un projet. Activez Journaux, Métriques et Traces, activez la surveillance, et utilisez Connect source pour générer une clé API de projet avec la permission telemetry:write. Vous pouvez nommer le projet ChatGPT desktop, mais ce nom ne change pas la source d'événement émise par le runtime.
Générer une nouvelle clé ne remplace que les clés précédentes de ce projet. Les autres projets, y compris Ollama, ne sont pas affectés. Les nouvelles données suivent la clé ; les anciennes données restent où elles ont été stockées. Si votre CLI Codex et votre application de bureau utilisent le même config.toml, changer sa clé d'exportateur peut réacheminer les deux clients. Cette configuration ne garantit pas un acheminement séparé bureau et CLI.
Si Connect source indique que la création de clé de projet n'est pas disponible, contactez votre administrateur Observagent ou canal de support. C'est un problème de compte ou de déploiement côté serveur, pas un paramètre du client de bureau.
3. Localiser et sauvegarder la configuration active
Sous Windows natif, l'application de bureau utilise le répertoire personnel Codex de Windows, normalement %USERPROFILE%\.codex. WSL peut utiliser un répertoire personnel différent ; voir configuration de l'application Windows. Assurez-vous d'éditer la configuration de l'hôte d'agent qui exécute réellement la tâche.
Exécutez ceci dans PowerShell local. Cela affiche un chemin, sauvegarde un fichier existant, et ouvre l'éditeur ; cela n'affiche pas votre configuration ni vos clés. Une valeur CODEX_HOME dans ce terminal doit correspondre à celle utilisée par l'application de bureau.
$configDir = Join-Path $HOME ".codex"
if ($env:CODEX_HOME) { $configDir = $env:CODEX_HOME }
New-Item -ItemType Directory -Force -Path $configDir | Out-Null
$configPath = Join-Path $configDir "config.toml"
Write-Host "Configuration:" $configPath
if (Test-Path -LiteralPath $configPath) {
$backupPath = "$configPath.backup-$(Get-Date -Format yyyyMMdd-HHmmss)"
Copy-Item -LiteralPath $configPath -Destination $backupPath
}
notepad.exe $configPathLes couches de configuration peuvent se substituer les unes aux autres. Les paramètres de projet de confiance, profils et substitutions d'exécution peuvent prévaloir sur les paramètres utilisateur ; voir précédence de configuration. N'écrasez pas le fichier entier. Conservez les paramètres existants de modèle, plugin, MCP, permission et autres.
4. Configurer journaux, métriques et traces
Fusionnez le TOML suivant dans le config.toml actif. Remplacez le point de terminaison pour votre déploiement et remplacez YOUR_OBSERVAGENT_PROJECT_KEY par la clé de projet complète. Gardez Bearer suivi d'un seul espace. Le point de terminaison ci-dessous est le déploiement Observagent utilisé dans ces guides.
[otel]
environment = "desktop-local"
log_user_prompt = false
[otel.exporter.otlp-http]
endpoint = "https://dashboard.observagent.cloud/v1/logs"
protocol = "binary"
[otel.exporter.otlp-http.headers]
Authorization = "Bearer YOUR_OBSERVAGENT_PROJECT_KEY"
[otel.metrics_exporter.otlp-http]
endpoint = "https://dashboard.observagent.cloud/v1/metrics"
protocol = "binary"
[otel.metrics_exporter.otlp-http.headers]
Authorization = "Bearer YOUR_OBSERVAGENT_PROJECT_KEY"
[otel.trace_exporter.otlp-http]
endpoint = "https://dashboard.observagent.cloud/v1/traces"
protocol = "binary"
[otel.trace_exporter.otlp-http.headers]
Authorization = "Bearer YOUR_OBSERVAGENT_PROJECT_KEY"La référence de configuration officielle liste des exportateurs séparés pour journaux, métriques et traces. Ce modèle les fait correspondre aux trois points de terminaison HTTP protobuf d'Observagent. Remplacez la clé dans les trois entrées Authorization ; ne définissez pas seulement l'en-tête des journaux. Les signaux sont indépendants : recevoir un journal ne prouve pas que les métriques ou traces sont arrivées.
Si [otel] ou ses tables d'exportateur existent déjà, éditez-les sur place. Ne dupliquez pas les tables. Retirez les valeurs scalaires ou en ligne existantes pour exporter, metrics_exporter et trace_exporter avant d'utiliser leurs tables imbriquées ci-dessus. Par exemple, metrics_exporter = "statsig" entre en conflit avec la nouvelle table de métriques. Conservez intentionnellement les autres paramètres OTel. Ne collez pas de TOML dans PowerShell, une invite Ollama, ou le compositeur ChatGPT.
Définir OBSERVAGENT_API_KEY dans le terminal du proxy Ollama ne configure pas cet exportateur de bureau. Ce modèle lit la valeur Authorization depuis config.toml. Gardez ce fichier et ses sauvegardes privés et hors du contrôle de version.
L'indicateur d'invite garde les invites utilisateur brutes hors de ces journaux, mais les résultats d'outils peuvent inclure des extraits de sortie. Ceci n'est pas une transcription complète ni une promesse que chaque événement contient des comptages de jetons. La couverture d'événements et les champs dépendent de la version du runtime. Voir couverture des événements de télémétrie.
5. Redémarrer l'application et créer une tâche locale
Enregistrez la configuration, terminez tout travail actif, et quittez complètement l'application de bureau. Rouvrez-la afin que le runtime local charge la nouvelle configuration. Aucune fenêtre de proxy n'a besoin de rester ouverte pour cette intégration.
Sélectionnez Codex, ouvrez un petit dossier de test local, et démarrez une nouvelle tâche. Utilisez une invite anodine comme : Listez les fichiers de ce dossier sans rien changer, puis résumez ce que vous avez trouvé. Attendez que la tâche se termine et laissez quelques secondes pour l'export. Ceci teste une exécution Codex locale ; un test réussi n'établit pas la couverture d'export pour Chat ou Work.
6. Vérifier le stockage dans Observagent
Connectez-vous au compte Observagent associé à votre clé. Ouvrez Données de télémétrie, choisissez All sources et All available, sélectionnez Logs ou All, effacez les anciennes requêtes, et actualisez. Recherchez des événements Codex récents comme codex.conversation_starts, codex.api_request, ou codex.tool_result. Le transport réel peut produire des événements SSE ou WebSocket.
Inspectez l'horodatage, le modèle, les champs de conversation/session, et les métadonnées de runtime disponibles d'un enregistrement. La source peut toujours afficher Codex, même si vous avez nommé le projet ChatGPT desktop. L'étiquette de source de l'interface est dérivée des attributs d'événement ; ce n'est pas un projet séparé spécifique à l'application.
Vérifiez chaque signal séparément. Dans Données de télémétrie, sélectionnez Logs pour les enregistrements d'événements et Metrics pour les enregistrements de métriques. Vérifiez l'historique du projet sélectionné pour les traces, car la vue principale de télémétrie ne lit actuellement que les journaux et métriques. Le dernier signal stocké seul confirme une activité récente, pas les trois pipelines. Un test de connectivité vide avec count: 0 n'est pas une preuve de stockage.
Les métriques s'exportent périodiquement, alors laissez le temps pour un intervalle de rapport et terminez la tâche normalement. Les comptages et distributions de durée pour les requêtes et outils du runtime sont des exemples de métriques rapportées ; ce n'est pas une garantie de métriques GPU, système d'exploitation, ou de tout modèle interne. La structure des traces dépend du runtime. Les résumés de jetons dépendent des attributs de complétion reconnus ; inspectez les enregistrements plutôt que de supposer que tous les signaux portent l'usage de jetons.
7. Diagnostiquer les problèmes de connexion et de configuration
Si aucun nouvel enregistrement n'arrive, confirmez d'abord que vous avez testé une tâche Codex locale, édité la configuration active de l'hôte, et redémarré l'application. Le CLI déjà fonctionnel peut utiliser un répertoire personnel différent ou une substitution de projet/profil.
Un test d'authentification optionnel peut s'exécuter dans PowerShell sans changer votre configuration de bureau. Il utilise un lot protobuf vide et ne stocke aucun enregistrement :
$backendUrl = (Read-Host "Backend base URL, such as https://dashboard.observagent.cloud").TrimEnd('/')
$projectKey = Read-Host "Paste the Observagent project key"
$headers = @{ Authorization = "Bearer $projectKey" }
try {
foreach ($signal in @('logs', 'metrics', 'traces')) {
try {
$uri = "$backendUrl/v1/$signal"
$result = Invoke-WebRequest -Uri $uri -Method Post -Headers $headers -ContentType "application/x-protobuf" -Body ([byte[]]@()) -UseBasicParsing
Write-Host $signal "HTTP status:" $result.StatusCode
Write-Host "Response:" $result.Content
} catch {
Write-Host $signal $_.Exception.Message
Write-Host $_.ErrorDetails.Message
}
}
} finally {
Remove-Variable projectKey,headers -ErrorAction SilentlyContinue
}Attendez-vous à HTTP 200 avec status ok et count: 0 pour chaque signal. Cela prouve l'accès au point de terminaison et l'acceptation de la clé, pas l'export du bureau. Une page HTML 200 indique un routage incorrect. HTTP 401 signifie une clé invalide ou manquante ; 403 peut signifier une portée manquante, un projet en pause, ou ce signal désactivé. Une erreur de délai ou TLS nécessite de vérifier votre nom d'hôte, réseau et certificat.
- L'application signale un TOML invalide : vérifiez les tables [otel] dupliquées et un exportateur scalaire ou en ligne conflictuel. Restaurez depuis votre sauvegarde privée si nécessaire.
- Le CLI exporte mais pas le bureau : vérifiez la configuration Windows natif versus WSL/hôte distant et rouvrez l'application.
- Les enregistrements vont vers l'ancien projet : mettez à jour la clé Authorization dans la configuration d'exportateur réellement utilisée, pas seulement une variable PowerShell.
- Vous voyez Codex plutôt que ChatGPT desktop : c'est attendu pour ce runtime ; utilisez l'historique du projet et les horodatages pour confirmer le routage.
- Les journaux arrivent mais les totaux de jetons restent vides : inspectez les attributs d'événement de complétion ; tous les événements et transports ne portent pas les champs reconnus par le tableau de bord.
- Les journaux arrivent mais pas les métriques ou traces : vérifiez les trois tables d'exportateur, suffixes de point de terminaison, en-têtes d'autorisation, et bascules de signal du projet. Laissez le temps pour l'export de métriques et inspectez l'historique du projet pour les traces.
- Les chats ChatGPT ordinaires ne produisent aucun événement : ce guide ne vérifie pas l'export OTLP natif pour les chats ordinaires. Ne traitez pas la configuration Codex comme un exportateur ChatGPT universel.
8. Faire tourner la clé ou arrêter l'export
Pour faire tourner une clé de projet, remplacez la valeur Authorization dans les trois tables d'exportateur et redémarrez l'application de bureau. Mettez à jour tout client CLI ou IDE partageant cette configuration. Gardez chaque point de terminaison sur son chemin correspondant /v1/logs, /v1/metrics, ou /v1/traces.
Pour arrêter les trois exports configurés ici, retirez leurs tables imbriquées et en-têtes, puis réglez exporter = "none", metrics_exporter = "none", et trace_exporter = "none" dans la table [otel] existante et redémarrez. Ne laissez pas à la fois des paramètres scalaires et des tables imbriquées pour le même exportateur. Cela ne supprime pas les enregistrements déjà stockés.
Autres expériences ChatGPT
Pour les chats ChatGPT ordinaires et les runtimes Work non vérifiés, il n'y a pas de configuration Observagent testée dans ce guide. Une intégration MCP peut observer les appels faits à vos propres outils ; elle ne devrait pas être présentée comme un accès à chaque conversation ou comptage de jetons de modèle interne. L'aperçu MCP décrit les connexions d'outils, pas un flux de télémétrie universel.
Si vous contrôlez une application séparée utilisant l'API OpenAI, instrumentez cette application à la place. Ses requêtes et son usage appartiennent à cette application ; ils ne représentent pas l'activité de l'application de bureau ChatGPT. Demandez à l'administrateur de votre espace de travail les intégrations d'audit prises en charge si vous avez besoin d'enregistrements à l'échelle de l'organisation.
Références et portée
- Application de bureau ChatGPT : choisir ChatGPT, Work, ou Codex.
- Application Windows : exécution native et WSL et répertoire personnel Codex partagé.
- Bases de configuration : emplacements des fichiers et précédence.
- Configuration OpenTelemetry : export Codex et événements.
- Référence de configuration : champs d'exportateur et en-têtes d'authentification.
Ceci est une mise à jour de documentation. Elle ne modifie pas votre configuration de bureau active, ne change pas une clé de projet, et ne certifie pas la livraison bureau-vers-backend en direct. Suivez la configuration et vérifiez les enregistrements réels dans votre propre projet.