You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
key/modelId routing — Provider-level routing key (auto-generated from name with ZH→EN mapping) enables key/modelId format routing (e.g. GLM/glm-5.1), eliminating model name conflicts across providers.
Multi-model per provider — Each provider supports a models[] array with per-model maxOutputK and maxContextK settings, replacing the single model field.
LAN access toggle — Settings page toggle switch to enable LAN access; Quick Start page shows hint about using machine IP for LAN devices.
Quickstart dual-mode — Quick Start page shows two usage modes: cc-switch (API Key) and direct config.toml (ChatGPT account), with auto-generated config templates and clickable model selector.
Markdown-aware tag parser — Thinking-tag parser tracks backtick code spans/blocks to avoid false positives on literal <thinking> text inside markdown.
DeepSeek user_id passthrough — Provider-level userId field passes through as user_id (OpenAI Chat) or metadata.user_id (Anthropic) for account-level KVCache and safety isolation.
Changed
Removed active provider concept — Routing is now purely request-based (key/modelId); no more "set as current" button or active badge.
Provider data migration — loadProviders() auto-migrates old { model: "xxx" } format to { models: [{ id: "xxx" }] } and generates key for providers without one.
Thinking parser conditional skip — OpenAI Chat adapter skips the thinking-tag parser when upstream sends reasoning_content field, preventing false-positive truncation.
Anthropic adapter — max_tokens defaults to 65536 (from 8192) to prevent long response truncation.
/v1/models endpoint — Returns models in key/modelId format.
Fixed
Response truncation on OpenAI Chat — Thinking-tag parser no longer misidentifies literal <thinking> text in markdown content as thinking tags.
CI pipeline — Fixed Prettier formatting inconsistencies and ESLint errors that caused all CI runs to fail.