问题域/PD-436

多模型提供商管理

Multi-Provider Model Management

统一管理多个 LLM 提供商的模型配置、凭证检测和运行时切换

子问题

1.提供商注册与凭证检测

2.模型热切换与持久化

3.自定义 class_path 加载

4.per-model 参数覆盖

5.模型 profile 能力验证(tool_calling 支持检测)

6.default vs recent 双字段意图区分

7.LangChain 内置提供商注册表动态发现

各项目的解法1 solutions

Signals

横向对比

维度DeepAgents
配置格式TOML 文件 (~/.deepagents/config.toml),tomllib 标准库解析
提供商注册17 提供商硬编码 PROVIDER_API_KEY_ENV + TOML 自定义扩展
模型标识provider:model 格式 ModelSpec 值对象,支持裸名自动推断
凭证检测三层链:config.toml api_key_env → 硬编码映射 → LangChain 注册表
热切换机制/model 命令 + LangGraph checkpointer 保持会话状态
自定义扩展class_path importlib 动态加载任意 BaseChatModel 子类
参数覆盖TOML params 表 flat key 为 provider 默认,sub-table 为 per-model 覆盖
持久化策略default/recent 双字段分离,tempfile+rename 原子写入

最佳实践

1.使用 provider:model 格式统一模型标识

2.TOML 配置支持自定义提供商扩展

3.frozen dataclass + MappingProxyType 防止全局缓存被意外修改

4.tempfile + rename 原子写入防止配置文件损坏

5.模型创建前凭证前置检测,提前给出友好错误信息