v3.0.0b4
Pre-releasev3.0.0b4 (Pre-release)
Major Features
-
Universal API Gateway (llm-rosetta): Transformed argo-proxy from a single-format ARGO gateway proxy into a universal API translator. All 4 client API formats are now supported:
Client Format Endpoint OpenAI Chat Completions POST /v1/chat/completionsOpenAI Responses API POST /v1/responsesAnthropic Messages POST /v1/messagesGoogle GenAI POST /v1beta/models/{model}:generateContent -
Smart Upstream Routing: Claude models are automatically routed to the native Anthropic endpoint (avoiding tool call leakage on OpenAI-compat), while all other models (GPT, Gemini) go to the native OpenAI Chat endpoint.
-
Same-Format Passthrough: When the client format matches the upstream format, requests and responses are piped through without conversion for maximum performance and fidelity.
-
Cross-Format Conversion: When formats differ, llm-rosetta handles bidirectional conversion via its Intermediate Representation (IR), for both streaming and non-streaming requests.
New Features
- Universal Dispatch Module (
endpoints/dispatch.py): Central entry point for all API requests with model resolution, format detection, image preprocessing, auth header translation, and error handling. - Cross-Format Auth Header Translation: Automatic conversion between
x-api-key(Anthropic) andAuthorization: Bearer(OpenAI) headers when routing across formats. - Flexible Model Name Resolution: Accepts Anthropic dash format, Argo dot format, internal IDs, and Anthropic model IDs with dates.
- Native Upstream Model List: Model registry now fetches from the native OpenAI
/v1/modelsendpoint instead of the legacy ARGO models API. - CLI Subcommands: Restructured CLI with hierarchical subcommands:
argo-proxy serve— start the server (default, backward compatible)argo-proxy config {edit,validate,show,migrate}— manage configurationargo-proxy logs collect— collect diagnostic logsargo-proxy update {check,install}— check for and install updates from PyPI (supports--prefor pre-release)argo-proxy models— list all available upstream models with their aliases, grouped by type (Chat/Embedding) and provider, with--jsonoutput support--no-bannerflag to suppress ASCII banner
- Simplified Base URL Configuration: Only
argo_base_urlis needed — native endpoint URLs are automatically derived. - Config Migration (
argo-proxy config migrate): Automatic migration of v1/v2 config files to v3 format with.bakbackup. - Mode-Aware Config Display:
config validateandconfig showdisplay mode-appropriate URLs. - Native Endpoint Connectivity Check: URL validation tests the native OpenAI
/v1/modelsendpoint (GET) in universal mode.
Breaking Changes
- Native endpoints are now default:
use_native_openaianduse_native_anthropicconfig keys are deprecated and ignored. - Legacy mode is opt-in: Use
--legacy-argoflag oruse_legacy_argo: truein config. - Removed
--native-openai/--native-anthropicCLI flags: No longer needed since native mode is the default. - Legacy endpoints moved to
_legacy/:chat.py,completions.py,embed.py,responses.py,native_anthropic.pyrelocated.
Deprecations
tool_calls/handler.py,tool_calls/output_handle.py— replaced by llm-rosetta converterstypes/chat_completion.py,types/completions.py,types/embedding.py,types/responses.py— replaced by llm-rosetta IR typestool_calls/converters.py— removed entirely (unused)
Dependencies
- Added
llm-rosettaas a core dependency for cross-format conversion
Documentation
- Comprehensive v3 documentation rewrite covering all pages
- New CLI Tools Guide for Claude Code, Codex CLI, Aider, Gemini CLI, OpenCode
- Updated endpoint, CLI, and configuration docs for v3
Full changelog: https://argo-proxy.readthedocs.io/en/latest/changelog/
pip install --pre argo-proxy