What's Changed
This release is a substantial upgrade across API compatibility, runtime architecture, account orchestration, frontend experience, and deployment flow.
If you are upgrading from an older version, please back up your existing data and configuration first. This release includes several structural changes and is not fully backward-compatible.
Highlights
- Added Anthropic-compatible
Messages APIsupport atPOST /v1/messages - Added unified tool-call parsing for XML- and JSON-style tool formats
- Added tokenizer-backed usage estimation with
tiktoken - Rebuilt the WebUI and Admin surface on top of a unified static asset structure
- Refactored the backend into
platform,control,dataplane, andproducts - Improved account refresh, quota sync, multi-worker scheduling, and proxy handling
- Tightened authentication boundaries on OpenAI-compatible endpoints
- Added automatic version-based cache busting for local static assets
API Expansion
Supported and improved API surfaces now include:
- OpenAI-compatible endpoints:
/v1/models/v1/chat/completions/v1/responses/v1/images/generations/v1/images/edits/v1/videos
- Anthropic-compatible endpoint:
/v1/messages
- Capability coverage across:
- streaming and non-streaming responses
- reasoning / thinking output
- tool-call passthrough and structured parsing
- image generation
- image editing
- video generation
- locally cached media access
Model registration and exposure were also centralized, making /v1/models cleaner and easier to extend.
Anthropic Compatibility
One of the most important additions in this release is Anthropic-style Messages API support.
This includes:
- new
POST /v1/messagesrouting - SSE streaming support
- tool-enabled message flows
- thinking-mode handling
- compatibility-layer validation and response shaping
This moves the project beyond a single compatibility surface and into broader multi-API support.
Tool Calling and Usage Accounting
Tool calling and usage estimation both received meaningful upgrades.
Included in this work:
- a unified tool-call parser
- structured parsing from XML, JSON envelopes, and JSON arrays
- shared tool prompting / parsing flow
tiktoken-based prompt, message, and tool-call estimation- more consistent usage reporting across OpenAI-compatible and Anthropic-compatible APIs
For clients that rely on tool invocation behavior and stable usage metadata, this release should be noticeably more reliable.
WebUI and Admin Rebuild
This release is not just backend work. The built-in frontend has also been significantly refreshed.
Included in this update:
- rebuilt Admin pages for:
- login
- account management
- config management
- cache management
- rebuilt WebUI pages for:
- Web Chat
- Masonry
- ChatKit
- unified static assets under
app/statics - improved page asset versioning to reduce stale-cache issues
- added a lightweight global footer and multiple UX refinements
- moved WebUI Chat model selection closer to the send action for a better interaction flow
Runtime and Architecture Refactor
A large portion of this release is architectural work, but it directly improves maintainability and runtime clarity.
Key changes include:
- entrypoint moved from
main.pytoapp.main - backend reorganized into:
platformcontroldataplaneproducts
- clearer separation across:
- config
- auth
- logging
- storage
- model registry
- reverse protocol / transport handling
- product-facing routing
Runtime behavior was also improved for production-style deployments:
- lightweight account-directory sync across workers
- file-lock-based scheduler leader election
- more explicit account refresh and quota sync flows
- better logging and clearer runtime state handling
Account and Proxy Improvements
Account orchestration and proxy handling were both significantly improved.
Notable changes:
- clearer separation for local / Redis / SQL account backends
- stronger account refresh behavior
- improved invalid-credential handling
- better quota defaults and state-machine behavior
- more robust multi-account pool orchestration
- improved manual clearance and FlareSolverr integration
- better proxy feedback, session reset, and scheduling logic
These changes matter directly for long-running stability and heavier traffic.
Deployment and Operations
Deployment ergonomics were also improved.
This release includes:
- a new
.env.example - clearer config layering across
.env,data/config.toml, andconfig.defaults.toml - improved Docker build flow
- container health checks
- version and update metadata endpoints
- refreshed Chinese and English documentation
Tests
This release adds more live coverage for key protocol paths, including:
- tool calls
- responses tool calls
- Anthropic messages flows
Breaking Changes
This release includes multiple changes that are not backward-compatible with older versions. Please back up your data and configuration before upgrading.
Please review carefully:
- API key verification is now enforced more consistently on model- and response-related OpenAI-compatible endpoints
- WebUI config keys were renamed:
function_enabled->webui_enabledfunction_key->webui_key
- legacy static asset layouts under
_publicand intermediateapp/assetswere replaced by the newapp/staticsstructure - some older migration scripts and legacy service paths were removed
- deployment entrypoint should now use
app.main:app
Upgrade Notes
Before upgrading, it is strongly recommended to:
- back up the entire
data/directory - back up your current config files and deployment environment variables
- check whether you still use old
function_*configuration keys - update deployment scripts that still target the old entrypoint
- review any custom integrations that depend on previous static asset paths or internal module paths
- monitor logs carefully on first startup in multi-worker deployments to verify scheduler and account-sync behavior
This release should be treated as a migration-aware upgrade rather than a drop-in replacement.
Full Changelog: v1.6.0...v2.0.0.rc0