claude-code-subscription-provider
v1.0.0
Published
Claude Code subscription provider for pi plus a subscription-compatible network interceptor
Maintainers
Readme
Claude Code network interceptor
Lokální MITM proxy pro claude / Claude Code, která funguje i se subscription auth.
- nevyžaduje
ANTHROPIC_API_KEY - zachytí requesty přes
HTTPS_PROXY - vygeneruje vlastní CA a předá ji Claude přes
NODE_EXTRA_CA_CERTS - ukládá request/response hlavičky i těla do souborů
- umí běžet jako sidecar nebo rovnou spustit
claude
Instalace
npm installRychlý test
npm run demo:helloTo spustí interceptor a přes něj:
claude --print "Hello world"Sidecar režim
Terminál A:
npm run interceptorInterceptor vypíše cestu k env souboru, typicky:
source /.../.claude-interceptor.env
claude -p "Hello world"Terminál B:
source ./.claude-interceptor.env
claude -p "Hello world"Logy
Vše se ukládá do logs/:
logs/transactions.ndjson– jedna HTTP transakce na řádeklogs/events.ndjson– connect/error/start eventylogs/bodies/– request/response těla
Co v logu uvidíš
Např. pro claude -p "Hello world" jsem ověřil requesty na:
https://api.anthropic.com/v1/messages?beta=truehttps://api.anthropic.com/v1/mcp_servers?limit=1000https://ui.sh/mcp?agent=claudehttps://mcp-proxy.anthropic.com/...https://downloads.claude.ai/...https://http-intake.logs.us5.datadoghq.com/api/v2/logs
Poznámky
- Hlavičky jako
Authorizationjsou defaultně redigované. - Pokud chceš vidět i secrety, spusť s
--no-redact. - Těla se ukládají maximálně do velikosti
--body-limit-bytesna request/response.
Pi provider: claude-code-subscription-provider
Repo je zároveň installable jako pi package a obsahuje project-local pi extension:
.pi/extensions/claude-code-subscription-provider/index.ts
Co dělá:
- registruje sadu modelů (pi id → Anthropic id):
claude-code-subscription-provider/opus-5→claude-opus-5claude-code-subscription-provider/opus-4-8→claude-opus-4-8claude-code-subscription-provider/opus-4-7→claude-opus-4-7claude-code-subscription-provider/opus-4-6→claude-opus-4-6claude-code-subscription-provider/sonnet-4-6→claude-sonnet-4-6(256k — subscription tier nemá 1M na Sonnetu)
- 1M long-context beta (
context-1m-2025-08-07) posílá jen u modelů s 1M oknem (Opus). U Sonnetu se vynechává — jinak Anthropic vrací 429Usage credits are required for long context requestsi na malém promptu. - pro requesty používá Anthropic Messages API a u všech modelů vynutí adaptive thinking (
compat.forceAdaptiveThinking) thinkingLevelMapkopíruje nativní pi-ai katalog: Opus 4.6 mapujexhigh → "max", novější Opus modelyxhigh → "xhigh", Sonnet 4.6 jede na defaultu- pro Opus 4.7+ a Fable 5 automaticky nastaví
thinking.display = "summarized"(defaultně skrývají thinking text, což by v UI vypadalo jako prázdná pauza před odpovědí); Opus 4.6 a Sonnet 4.6 thinking ukazují nativně - access token získá přes lokálně spuštěný
claude(Claude Code) a MITM capture (probe běží naclaude-opus-4-8) - podporuje běžné
claude auth login --claudeaii setup token předaný přesCLAUDE_CODE_OAUTH_TOKEN - token ukládá s právy
0600do~/.pi/agent/cache/claude-code-subscription-provider.json - při neplatném cached tokenu udělá refresh a request zopakuje
- když Claude Code není přihlášené, vypíše instrukci k
claude auth login --claudeai
Instalace user-level z repozitáře:
pi install git:[email protected]:Krystofee/claude-code-subscription-provider.gitPoužití v pi:
piPak v pi (vyber libovolný model ze sady):
/model claude-code-subscription-provider/opus-5
/model claude-code-subscription-provider/opus-4-8
/model claude-code-subscription-provider/opus-4-7
/model claude-code-subscription-provider/opus-4-6
/model claude-code-subscription-provider/sonnet-4-6 # 256k contextVolitelně lze zkontrolovat nebo refreshnout cache:
/claude-code-auth
/claude-code-auth refreshPříklady
Spustit jen proxy:
node src/claude-network-interceptor.jsSpustit přímo Claude přes proxy:
node src/claude-network-interceptor.js --exec claude -- --print "Hello world"