LLM 连接
配置多个 AI 提供者连接(Anthropic,AWS Bedrock,Codex/OpenAI,OpenRouter 等)
LLM 连接允许你添加多个 AI 提供者配置并在它们之间切换。每个会话在第一条消息后会锁定到特定连接,工作区可以定义自己的默认连接。
存储位置#
LLM 连接存储在:
~/.xiantong/config.json
连接使用方式#
连接解析顺序如下:
- 会话连接(在第一条消息后锁定)
- 工作区默认连接(
defaults.defaultLlmConnection) - 全局默认连接(
defaultLlmConnection) - 列表中的第一个连接(后备)
每个会话在第一条消息后会锁定一个连接。要更改连接,请启动新会话。
连接结构#
{
"slug": "anthropic-api",
"name": "Anthropic (API Key)",
"providerType": "anthropic",
"authType": "api_key",
"baseUrl": "https://api.anthropic.com",
"defaultModel": "claude-sonnet-4-6",
"createdAt": 1737451800000
}
字段#
| 字段 | 是否必需 | 描述 |
|---|---|---|
slug | 是 | URL 安全标识符(例如 anthropic-api、codex) |
name | 是 | 在界面中显示的名称 |
providerType | 是 | 提供者后端(见下方列表) |
authType | 是 | 验证机制(见下方列表) |
baseUrl | 否 | 兼容提供者的自定义基础 URL |
models | 否 | 明确的模型列表。接受字符串(例如 "gpt-5.4")或带可选 contextWindow 与 supportsImages 覆盖的对象(见自定义端点能力)。 |
customEndpoint | 否 | 自定义端点协议配置。使用 api 选择传输格式,使用可选 supportsImages 使整个端点支持图像输入。 |
defaultModel | 否 | 此连接的默认模型 |
codexPath | 否 | Codex 二进制路径(仅限 OpenAI/Codex) |
awsRegion | 否 | Bedrock 的 AWS 区域 |
gcpProjectId | 否 | Vertex 的 GCP 项目 |
gcpRegion | 否 | Vertex 的 GCP 区域 |
createdAt | 是 | 创建时间戳(毫秒) |
lastUsedAt | 否 | 上次使用时间戳(毫秒) |
providerType 值#
| 值 | 描述 |
|---|---|
anthropic | 直接 Anthropic API |
anthropic_compat | 兼容 Anthropic 的端点(OpenRouter、Vercel AI Gateway、自定义) |
openai | 通过 Codex 应用服务器的 OpenAI |
openai_compat | 兼容 OpenAI 的端点 |
bedrock | AWS Bedrock |
vertex | Google Vertex AI |
authType 值#
| 值 | 描述 |
|---|---|
api_key | 仅 API 密钥 |
api_key_with_endpoint | API 密钥 + 自定义端点 |
oauth | OAuth 登录(Claude Max / Codex / OpenAI) |
iam_credentials | AWS IAM 凭证(Bedrock) |
service_account_file | GCP 服务账户 JSON(Vertex) |
environment | 使用环境变量 |
none | 无需验证 |
示例#
Anthropic(API 密钥)#
{
"slug": "anthropic-api",
"name": "Anthropic (API Key)",
"providerType": "anthropic",
"authType": "api_key",
"defaultModel": "claude-sonnet-4-6",
"createdAt": 1737451800000
}
Claude Max(OAuth)#
{
"slug": "claude-max",
"name": "Claude Max",
"providerType": "anthropic",
"authType": "oauth",
"defaultModel": "claude-opus-4-6",
"createdAt": 1737451800000
}
OpenRouter(兼容 Anthropic)#
{
"slug": "openrouter",
"name": "OpenRouter",
"providerType": "anthropic_compat",
"authType": "api_key_with_endpoint",
"baseUrl": "https://openrouter.ai/api",
"models": [
"anthropic/claude-opus-4.6",
"anthropic/claude-haiku-4.5"
],
"defaultModel": "anthropic/claude-opus-4.6",
"createdAt": 1737451800000
}
OpenRouter(兼容 OpenAI)#
{
"slug": "openrouter-openai",
"name": "OpenRouter (OpenAI‑compat)",
"providerType": "openai_compat",
"authType": "api_key_with_endpoint",
"baseUrl": "https://openrouter.ai/api/v1",
"models": [
"openai/gpt-5.2-codex",
"openai/gpt-5.1-codex-mini"
],
"defaultModel": "openai/gpt-5.2-codex",
"createdAt": 1737451800000
}
AWS Bedrock(IAM 凭证)#
{
"slug": "bedrock",
"name": "AWS Bedrock",
"providerType": "bedrock",
"authType": "iam_credentials",
"awsRegion": "us-east-1",
"defaultModel": "claude-sonnet-4-6",
"createdAt": 1737451800000
}
使用 iam_credentials 时,你的 AWS Access Key ID、Secret Access Key 以及可选的 Session Token 会被安全存储并在运行时注入到子进程环境中。当你希望在界面中直接配置凭证时使用此方式。
AWS Bedrock(环境)#
{
"slug": "bedrock",
"name": "AWS Bedrock",
"providerType": "bedrock",
"authType": "environment",
"awsRegion": "us-east-1",
"defaultModel": "claude-sonnet-4-6",
"createdAt": 1737451800000
}
使用 environment 时,子进程会继承你 shell 的 AWS 凭证链 —— ~/.aws/credentials、AWS_PROFILE、IAM 角色、SSO 会话以及环境变量均可使用。xiantong 不会存储任何凭证。
要在界面中设置 Bedrock:设置 → AI → 添加连接 → 我使用其他提供者 → Amazon Bedrock。你可以在 IAM 凭证与环境(AWS CLI)认证之间选择。
将 awsRegion 设置为启用了 Bedrock 模型访问的区域(例如 us-east-1、us-west-2、eu-west-1)。
Codex / OpenAI(OAuth)#
{
"slug": "codex",
"name": "OpenAI (Codex)",
"providerType": "openai",
"authType": "oauth",
"codexPath": "/Applications/xiantong.app/Contents/Resources/vendor/codex/darwin-arm64/codex",
"defaultModel": "codex-mini-latest",
"createdAt": 1737451800000
}
自定义端点能力#
自定义端点默认提供 128K 上下文窗口 和 仅限文本输入。如果你的模型支持更大的上下文窗口或接受图像输入,请在连接配置中显式设置这些能力。
每个模型的覆盖(推荐)#
当一个端点同时提供文本模型和多模态模型时使用模型对象:
{
"slug": "ollama",
"name": "Ollama",
"providerType": "pi_compat",
"authType": "none",
"baseUrl": "http://localhost:11434/v1",
"customEndpoint": { "api": "openai-completions" },
"models": [
{ "id": "gemma4", "contextWindow": 262144, "supportsImages": true },
{ "id": "qwen3-coder", "contextWindow": 131072 }
],
"defaultModel": "gemma4",
"createdAt": 1737451800000
}
整个端点的启用#
如果端点背后的所有模型都是多模态的,可以在端点级别进行启用:
{
"customEndpoint": {
"api": "openai-completions",
"supportsImages": true
}
}
xiantong 不会自动检测任意端点的图像支持。除非你在端点或模型级别显式设置 supportsImages: true,否则自定义端点会保持仅文本。普通字符串模型条目仍然使用默认的 128K 上下文窗口和 仅文本 输入。
对于通过 Ollama、vLLM 或其他兼容 OpenAI 代理提供的 Gemma 4 等模型,建议使用每模型形式,以便只有具备视觉能力的模型启用图像输入。
管理连接#
在 设置 → AI 中管理连接:
- 添加/编辑/删除连接
- 设置一个 全局默认连接
- 验证连接状态
- 设置 每个工作区的默认
如果你只需要一个提供者,就保留一个连接并将其设为默认。