Claude: passage au login isolé + refresh (scope user:profile requis par /usage)
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Sonde de l'endpoint /usage Claude pour valider le parser de Monitorink.
|
||||
|
||||
Usage (sur le homelab, après `claude setup-token`) :
|
||||
MONITORINK_CLAUDE_TOKEN="sk-ant-oat01-..." python3 dev/probe_usage.py
|
||||
Lit l'access token depuis un fichier .credentials.json (login Claude isolé) puis appelle
|
||||
/usage. Affiche la structure JSON brute (uniquement des % d'usage, aucun secret) +
|
||||
l'interprétation de Monitorink. Sortie partageable sans risque.
|
||||
|
||||
Affiche la structure JSON brute renvoyée par l'API (uniquement des % d'usage, aucun secret)
|
||||
+ l'interprétation que Monitorink en fait. Sortie partageable sans risque.
|
||||
Usage (sur le homelab, après le login isolé) :
|
||||
python3 dev/probe_usage.py /home/jerem/.monitorink-claude/.credentials.json
|
||||
ou via env :
|
||||
MONITORINK_CLAUDE_CREDS=/home/jerem/.monitorink-claude/.credentials.json python3 dev/probe_usage.py
|
||||
"""
|
||||
import json
|
||||
import os
|
||||
@@ -14,9 +17,17 @@ import urllib.error
|
||||
import urllib.request
|
||||
|
||||
URL = "https://api.anthropic.com/api/oauth/usage"
|
||||
token = os.environ.get("MONITORINK_CLAUDE_TOKEN", "").strip()
|
||||
if not token:
|
||||
sys.exit("MONITORINK_CLAUDE_TOKEN manquant (export-le ou préfixe la commande)")
|
||||
|
||||
path = (sys.argv[1] if len(sys.argv) > 1 else "") or os.environ.get("MONITORINK_CLAUDE_CREDS", "")
|
||||
path = path.strip()
|
||||
if not path:
|
||||
sys.exit("Chemin du .credentials.json requis (arg ou MONITORINK_CLAUDE_CREDS)")
|
||||
|
||||
try:
|
||||
creds = json.load(open(path))
|
||||
token = creds["claudeAiOauth"]["accessToken"]
|
||||
except (OSError, KeyError, json.JSONDecodeError) as e:
|
||||
sys.exit(f"Lecture credentials impossible: {e}")
|
||||
|
||||
req = urllib.request.Request(URL, headers={
|
||||
"Authorization": f"Bearer {token}",
|
||||
|
||||
Reference in New Issue
Block a user