Anbinden · Weg C
Claude Code
Ein Stop-Hook liest nach jeder Antwort das Sitzungstranskript und meldet die Nutzungsangaben je Antwort an Tokenwacht. Jede Sitzung wird ein Lauf, der Agent heißt claude-code. Inhalte werden nicht gelesen; der Hook stört Claude Code nie, auch nicht ohne Netz.
Einrichtung
- Skript aus dem Repository holen:
sdk/claude-code-hook/tokenwacht_hook.py(Python 3, keine Abhängigkeiten). Ablegen z. B. unter~/.tokenwacht/tokenwacht_hook.py. - In
~/.claude/settings.json(global) oder.claude/settings.json(je Projekt) den Hook eintragen:
{
"hooks": {
"Stop": [{ "hooks": [{ "type": "command",
"command": "TOKENWACHT_KEY=tw_live_… python3 /Users/ich/.tokenwacht/tokenwacht_hook.py" }] }]
}
}
- Optional:
TOKENWACHT_AGENT(Standardclaude-code, z. B. je Projektclaude-code-crm),TOKENWACHT_KUNDEfür die Weiterbelastung,TOKENWACHT_URLim Selbstbetrieb. - Eine Frage an Claude Code stellen. Nach der Antwort läuft der Hook und meldet die Nutzung.
Was gemeldet wird
- Je Assistenten-Antwort: Modell, Eingabe-, Ausgabe-, Cache-Lese- und Cache-Schreib-Token, Anzahl der Werkzeugaufrufe, Stop-Grund, Zeitpunkt. Die Sitzungs-ID wird zur Lauf-Kennung.
- Nicht: Prompts, Antworten, Dateiinhalte, Werkzeugargumente.
- Der Hook merkt sich je Transkript die letzte gemeldete Zeile (
~/.tokenwacht/claude-code-stand.json) und schickt nur Neues. Mehrfaches Senden ist unschädlich, Tokenwacht dedupliziert über die Ereignis-Kennung.
Im Team
Jede Entwicklerin nutzt ihren eigenen Tokenwacht-Schlüssel mit Geltungsbereich „Ingest“; X-TW-Benutzer ist damit nicht nötig, der Schlüssel identifiziert den Menschen. Ein Schlüssel je Projekt (TOKENWACHT_AGENT=claude-code-<projekt>) macht Kosten je Projekt sichtbar.
Prüfen: Nach der ersten Antwort Anbindung prüfen — Quelle
sdk, Agent claude-code. Fehlt der Aufruf: python3 tokenwacht_hook.py von Hand mit TOKENWACHT_TRANSKRIPT=<pfad zur .jsonl> ausführen, Fehler landen auf stderr.