feat(settings): refactor agent auth modes and add model provider authentication
- Split env vars and config file persistence into separate save operations - Add model_provider_id field to agent_setting for tracking selected provider - Add "Model Provider" auth mode for Claude Code, Codex CLI, and Gemini CLI - Add "Custom Endpoint" auth mode for Claude Code (previously only official subscription) - Unify auth mode labels across all three agents (official subscription / custom endpoint / model provider) - When model provider is selected, fill api_url and api_key into env and config automatically - Resolve model provider credentials at ACP connect time as a backend fallback - Clear provider deletion cascades to agent_setting.model_provider_id - Claude Code writes API credentials to config.env (ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN) - Codex: switching auth modes patches config.toml instead of clearing it - Add i18n keys for new auth modes in all 10 supported languages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ pub struct ModelProviderInfo {
|
||||
pub id: i32,
|
||||
pub name: String,
|
||||
pub api_url: String,
|
||||
pub api_key: String,
|
||||
pub api_key_masked: String,
|
||||
pub agent_types: Vec<String>,
|
||||
pub created_at: String,
|
||||
@@ -33,6 +34,7 @@ impl From<crate::db::entities::model_provider::Model> for ModelProviderInfo {
|
||||
id: m.id,
|
||||
name: m.name,
|
||||
api_url: m.api_url,
|
||||
api_key: m.api_key.clone(),
|
||||
api_key_masked: mask_api_key(&m.api_key),
|
||||
agent_types,
|
||||
created_at: m.created_at.to_rfc3339(),
|
||||
|
||||
Reference in New Issue
Block a user