Skip to content

[ Konzepte / TELEMETRY ]

Nutzungs-Telemetrie ​

Diese Seite sagt Claude-Code-Nutzern, was devkit nach einer Session sendet, was es nie sendet und wie du es abschaltest. Telemetrie ist standardmäßig an, pseudonym, wird 90 Tage privat aufbewahrt und zeigt, welche Routen funktionieren, welche Prüfungen scheitern und welche geteilten Skills fehlen.

Abschalten ​

bash
bash
OD_TELEMETRY=off claude

Akzeptierte Aus-Werte, unabhängig von Groß- und Kleinschreibung: 0, off, false, no, n, disabled, disable; DO_NOT_TRACK=1 schaltet ebenfalls ab. Ein ausdrückliches Abschalten verhindert sowohl Zustandsschreibungen als auch Uploads. CI oder GITHUB_ACTIONS deaktivieren nur die Uploads.

Erhobene Daten ​

Jede Session wird zu einem JSON-Objekt mit schema_version: "2" und nur diesen Feldern:

FeldBedeutung
schema_version, session_idFormatversion; Session-UUID zur serverseitigen Deduplizierung
runtimeErzeugende Runtime: "claude" oder "codex"
od_version, run_od_version, cli_versionHochladende devkit-Version; beim Session-Start aktive Version; Claude-CLI-Version
stackStack aus dem generierten Projektkontext
repo_remoteOrigin reduziert auf org/repo; kann weiterhin einen Kunden nennen
userLokaler Teil der Git-E-Mail, oder der OS-Benutzername ohne Git-E-Mail
client_idZufällige 16-Hex-Installations-ID, vom Server erneut gehasht
first_ts, last_tsErster und letzter Session-Zeitstempel
message_counts, headlessUser- und Assistant-Zähler; headless heißt weniger als zwei User-Nachrichten
toolsNamen, Aufrufzähler, aggregierte Ausgabegröße
skills_invokedNamen, Aufrufe, Fehler, Ablehnungen
slash_commands, missing_skillsZähler getippter Slash-Befehle; Befehle ohne passenden Built-in-, Projekt- oder devkit-Skill
skill_sequenceGeordnete Skill-Route, auf 40 begrenzt nach Zusammenfassen aufeinanderfolgender Wiederholungen
errors, unknown_record_typesSumme der Tool-Fehler; Zähler unbekannter Transkript-Eintragstypen
token_totals, model_mixSummen der Haupt-Session; Ausgabe-Tokens pro Modell
subagent_spawns, subagent_tokensSpawn-Zähler; Token-Summen pro Subagent-Typ
stack_file_editsÄnderungen an stack-zugehörigen Dateiendungen
friction, eventsBlockierende oder Fehlersignale; nicht blockierende Signale, nach Code gruppiert
hintsHinweis-Codes mit Session-Zählern und ob die empfohlene Aktion folgte
gatesErreicht, erster Block, späteres Bestehen und ungelöste Versuche pro Gate
spec_ids, entered_by_slashBeobachtete dreistellige Spec-IDs; ob die erste Nachricht mit / begann

Nicht verfügbare Daten sind null, leer oder fehlen. Ein Gate zählt erst, nachdem es erreicht wurde, und ein Versuch ohne Ergebnis ist unknown, nie ein Bestehen oder ein Block.

Nicht erhobene Daten ​

Prompt- und Antworttext, Dateiinhalte und -pfade, vollständige E-Mail-Adressen, Remote-URLs und eingebettete Git-Zugangsdaten. Der Collector liest abgeschlossene Claude-Transkripte und abgeschlossene Codex-Rollouts lokal und sendet nur die Felder oben. Die Codex-Quelle ist ${CODEX_HOME:-$HOME/.codex}/sessions/**/rollout-*.jsonl; das runtime-Feld unterscheidet claude von codex.

Identität und lokaler Zustand ​

~/.claude/od-usage-buffer/client-id hält die Installations-ID mit Modus 600; lösche sie, um die ID zurückzusetzen. Der Server hasht sie mit einem privaten Salt und speichert nur einen gekürzten Hash. Die Daten sind pseudonym, nicht anonym: repo_remote, user und Verhalten können im privaten Speicher weiterhin korrelieren.

Der Upload-Zustand pro Projekt liegt unter ~/.claude/od-usage-buffer/<projekt-hash>/. Im Projekt wird nichts geschrieben.

Zustellung und Aufbewahrung ​

Die laufende Session wird nie hochgeladen. Bei einem späteren Session-Start wählt der Hook abgeschlossene, noch nicht akzeptierte Transkripte mit weniger als fünf Versuchen und lädt sie in einem abgekoppelten Prozess hoch. Nur ein akzeptierter POST markiert eine Session als hochgeladen; nach fünf Versuchen enden die Wiederholungen, und der Zustand verschwindet mit dem lokalen Transkript.

Die Daten gehen an https://devkit.one-dot.io/api/ingest und in einen privaten Speicher; alles, was älter als 90 Tage ist, wird täglich gelöscht. Das Zurücksetzen der lokalen ID ändert deine künftige Identität, nicht das bereits Gespeicherte.

Friction-Reports ​

Ein über die Relay gesendeter Friction-Report geht an /api/feedback, das ihn mit einem serverseitig gehaltenen Token als GitHub-Issue in onedot-digital-crew/onedot-devkit anlegt. Er wird sonst nirgends gespeichert — kein Blob, keine Datenbank, keine Kopie auf dem Server über die Anfrage hinaus.

Interne Doku — onedot-devkit · devkit

devkitdevkit syncdevkit statusdevkit doctordevkit helpInterne Doku · ONEDOT digital crew