Settings
API 端点与模型管理
配置 API 端点、模型列表与私有部署接入
API 端点与模型管理
API 配置 Tab 由 ApiConfig 组件实现,负责管理所有接入的 LLM 端点、模型列表与 API Key。支持 Anthropic 官方与私有化部署的 OpenAI/Anthropic 兼容端点。

核心概念
每个端点(ApiEndpoint)包含:
| 字段 | 说明 |
|---|---|
name | 显示名称(如"Anthropic Official") |
url | API 基础 URL |
apiKey | 访问密钥 |
protocol | anthropic 或 openai(默认 anthropic) |
status | unverified / connected / error |
latency | 上次测试延迟(ms) |
models | 模型列表 ApiModel[] |
defaultModel | 默认主模型 ID |
defaultSubagentModel | 默认子代理模型 ID |
每个模型(ApiModel)包含 id、name、contextWindow、isActive、source(manual 或 discovered)。
组件清单
ApiConfig.tsx— 顶层容器,展示端点列表和"添加端点"按钮ApiEndpointCard.tsx— 单个端点卡片,可展开查看模型列表、测试连接、刷新模型、编辑/删除AddEndpointDialog.tsx— 新建或编辑端点的对话框AddModelDialog.tsx— 手动添加模型的对话框ApiModelRow.tsx— 单行模型展示,带"默认主模型""默认子代理""手动"等标签
添加端点流程
AddEndpointDialog 在保存时:
- 若填写了新的 API Key,调用
endpointApi.endpointDiscoverModelsByUrl()自动发现可用模型 - 将第一个模型设为默认主模型,第二个(如有)设为默认子代理模型
- 调用
endpointApi.endpointSave(ep)写入后端 - 通知父组件更新 store
// AddEndpointDialog.tsx
const saved = await endpointApi.endpointSave(ep);
onSaved(saved);手动添加模型
当端点无法自动发现模型(例如私有部署),可点击卡片底栏的 + 按钮打开 AddModelDialog,填写:
- 模型 ID(必填)— 如
claude-sonnet-4-20250514 - 模型名称(可选)— 缺省时使用 ID
- Context Window(可选)— 默认
200000
手动添加的模型 source = "manual",可以被删除;自动发现的模型只能随端点一起删除。
端点操作
ApiEndpointCard 右上角菜单提供:
- 刷新模型 — 重新从端点发现可用模型
- 编辑 — 重新打开
AddEndpointDialog(API Key 留空则保持不变) - 删除 — 调用
endpointApi.endpointDelete(id)并从 store 移除 - 复制 Key — 将 API Key 复制到剪贴板
- 测试连接 — 调用
endpointApi.endpointTest(id),结果写回status与latency
私有化部署
WinCode 支持接入卫宁健康内网部署的模型网关。只需将 URL 指向内部端点、填入 Key、选择对应协议即可。端点发现失败不会阻塞保存,仍可手动添加模型。
数据加载职责
API 端点数据由 ApiConfig 统一管理(加载、保存、更新)。应用启动时通过 App.tsx 调用一次 loadEndpoints() 初始化,其他组件(如 SecuritySettings)从 store 读取,不直接调用 endpointList()。