🎉 Major Features
Managed Tool Calling Redesign
- OpenAI-compatible tool calling: Added a shared tool-calling engine for OpenAI-style tools, Cherry Studio MCP payloads, and managed tool prompts.
- Multiple protocol parsers: Added support for managed XML, managed bracket syntax, Anthropic-style tool use, and Codex Responses-style payloads.
- Streaming tool-call parsing: Added stream parsing for tool-call chunks so compatible clients can receive tool-call deltas more reliably.
- Runtime planning and diagnostics: Added provider profiles, tool-choice policy handling, runtime plan generation, and management API diagnostics for tool-calling behavior.
In-app Update Flow
- Updater manager integration: Update checks now go through the updater manager instead of ad hoc renderer logic.
- Renderer update status: Exposed updater status through preload and renderer APIs.
- Update UI states: The About page now reflects update checking, download, progress, install, and error states from updater events.
- Runtime app version display: The About page now reads the packaged app version instead of showing a hard-coded fallback.
Provider Model Refresh
- Website-aligned model catalogs: Refreshed default provider model lists from current web/API behavior.
- qwen-ai curated defaults: qwen-ai now keeps a curated default set while documenting the remaining website-supported models for manual addition.
- Provider documentation: Added per-provider docs to make future provider feature adaptation and user model-management workflows easier.
🚀 Enhancements
Provider Improvements
- GLM: Default model updated to GLM-5.1 with actual model id
glm-5.1. - Kimi: Removed stale Kimi-2.5 default and kept Kimi-2.6 aligned with the website.
- MiniMax: Removed stale MiniMax-M2.5 default and kept MiniMax-M2.7 aligned with the website.
- Qwen: Updated website-model defaults, including the Qwen3.6 display-name cleanup.
- qwen-ai: Updated default supported models from captured website/API behavior and documented additional official models for manual configuration.
- Z.ai: Refreshed default supported models from the latest captured web model list.
- DeepSeek: Improved web-mode support, search text handling, persisted model migration, and model mapping behavior.
- Perplexity: Updated documentation to list only the Free-user Auto model in the supported provider table.
Session and Proxy Behavior
- Kimi chat cleanup: Added provider-side session deletion support for Kimi.
- Qwen chat cleanup: Added provider-side session deletion support for Qwen.
- Provider dispatch cleanup: Simplified provider dispatch and adapter loading paths.
- Model mapping workflow: Improved model mapping form controls and synchronized provider selection when choosing mapped models.
- Proxy address display: Fixed the header proxy badge so it reflects the configured bind address instead of always showing
127.0.0.1.
Runtime and Maintenance
- Standalone app logs: Added standalone application log storage with dedicated manager/types and renderer store integration.
- Source artifact checks: Added build-time checks to prevent unwanted source artifacts from leaking into packaged output.
- Dashboard/log updates: Updated dashboard chart and log-store behavior to work with the new logging surface.
🐛 Bug Fixes
- Fixed DeepSeek web-mode compatibility and preserved search text behavior.
- Fixed persisted DeepSeek model migration for existing installations.
- Fixed built-in model mapping defaults and provider synchronization after selecting mapped models.
- Fixed update UI state wiring and repaired update page state syntax.
- Fixed About page version display so packaged builds show the actual application version.
- Fixed proxy header address display after changing the bind address.
📚 Documentation
- Added provider guides under
docs/providers/for DeepSeek, GLM, Kimi, Mimo, MiniMax, Perplexity, Qwen, qwen-ai, and Z.ai. - Updated README and README_CN Supported Providers model tables.
- Added design and implementation notes for the in-app update flow.
- Added design and implementation notes for Chat2API tool-testing workflows.
- Documented tool configuration restore usage for local testing.
🧪 Testing and Tooling
- Added Chat2API testing skills for:
- HAR tool fixture extraction
- Management API checks
- Provider model matrix runs
- OpenAI-compatible client replay
- Proxy behavior validation
- Added regression tests for:
- Tool-calling engine, parser, stream parser, runtime plan, provider profiles, and tool-choice policy
- Tool-calling management API and settings UI
- DeepSeek stream handling and provider flow behavior
- Header proxy address display
- App log manager behavior
- Source artifact checks
- In-app update flow wiring
📦 Technical Details
Files Changed
- 124 files changed
- 10,617 lines added
- 1,649 lines removed
Release Artifacts
- macOS arm64/x64 DMG packages
- macOS x64 ZIP package
- Windows x64 installer and portable package
- Linux x64/arm64 AppImage packages
- Linux x64 tarball
- Debian amd64 package
- Auto-update metadata files for macOS, Windows, and Linux
🔄 Migration Notes
- Existing users should restart the app after upgrading so refreshed built-in provider model defaults can be synchronized into persisted provider settings.
- Users with custom qwen-ai models can keep using Provider Management / Model Management to add models that are supported by the website but not included in the curated default list.
- Provider-side chat cleanup is now available for Kimi and Qwen when Chat2API sessions are cleared.
✅ Verification
npm run prebuild:checknpm run buildnode --test tests/updater/in-app-update-flow.test.ts tests/providers/provider-flow.test.ts tests/tool-calling/*.test.ts- Release workflow completed successfully for macOS arm64/x64, Windows x64, and Linux x64/arm64.
📝 Full Changelog
See v1.3.0...v1.4.0
Installation: Download the appropriate package for your platform from the assets below.
macOS Users: If you encounter "App is damaged and can't be opened", run:
sudo xattr -rd com.apple.quarantine "/Applications/Chat2API.app"