mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-09-03 06:35:00 +08:00
* feat(config): add fingerprint-profile to Claude keys and auth JSON - Add FingerprintProfile to ClaudeKey configuration struct and normalizer - Track fingerprint-profile in config diff - Map fingerprint-profile / fingerprint_profile to auth attributes in file and config synthesizers - Support fingerprint-profile in Management API PatchClaudeKey and normalization - Add Claude billing attribution string manipulation utilities in internal/util - Document fingerprint-profile options in config.example.yaml * feat(claude): add fingerprint policy and request-local CLI identity - Centralize Claude fingerprint policy resolution in claude_fingerprint_policy.go - Support stable Claude CLI identity synthesis (UUIDv5 account_uuid and SHA-256 device_id) seeded from API keys or stable OAuth IDs, keeping access tokens isolated - Warn on unrecognized fingerprint-profile values * feat(claude): apply CLI fingerprint to Messages and keep API keys caller-owned - Wire centralized fingerprint policy into Claude and Kimi executors - Keep first-party Anthropic API keys and delegated providers caller-owned by default - Apply Claude Code CLI wire profile (betas, metadata, diagnostics, MCP aliases) when fingerprint-profile=claude-code-cli is configured - Strictly align CCH signing with native Claude Code 2.1.220: only first-party api.anthropic.com and Vertex sign dynamic CCH; third-party gateways and Kimi receive billing header without cch= to avoid prompt cache busting - Respect caller-owned count_tokens bodies by default while aligning CLI shape on opt-in - Fall back to CLIProxyAPI/<version> User-Agent when caller sends no UA in caller-owned mode - Scope custom operator header overrides accurately in caller-owned mode - Add comprehensive test coverage for policy resolution, gateway opt-in, Kimi, and token counting