主题
设置编码 agent
配置 Claude Code、Codex、Gemini CLI 和 Deep Agents Code,使其通过 LLM Gateway 路由 LLM 调用。
NOTE
LLM Gateway 处于 beta 阶段。
配置编码 agent 使用标准的 LLM Gateway 端点,以实现集中化的成本控制、可观测性和审计跟踪。该网关对每个调用者进行身份验证、按模型 ID 路由、执行策略并追踪每次调用。
Claude Code 可以使用标准的 Anthropic Messages 格式,而 Codex 和 Deep Agents Code 可以使用标准的 OpenAI 兼容格式。Gemini CLI 使用 Google 的原生 API,需要直接模型访问。
前置条件
- 你的组织管理员已启用该网关并完成了任何必需的提供商设置。
- 你有一个工作区范围的 LangSmith API 密钥,带有
gateway:invoke和workspaces:read权限。 - 对于自带密钥模型,你的工作区有相应的提供商机密。Gateway Credits 模型不需要提供商机密。
在配置客户端之前,设置你的 LangSmith API 密钥:
bash
export LANGSMITH_API_KEY="lsv2_..._....cbed3e"Claude Code CLI
Claude Code 支持两种独立的身份验证方法。在配置之前选择一种:
- Workspace provider secret:组织通过存储在工作区机密中的一个提供商密钥来管理计费和策略。对于组织管理的用量,使用此方法。
- Claude subscription OAuth:Anthropic 将 LLM 调用计入用户个人的 Claude Plus 或 Max 订阅,而不是工作区提供商密钥,同时 LangSmith 仍强制执行网关权限、策略和追踪。当开发者拥有自己的订阅时,使用此方法。
使用工作区提供商密钥
将 ANTHROPIC_API_KEY 设为你的 LangSmith API 密钥。Claude Code 会从你的 shell 环境,或从随 --settings 传入的设置文件中的 env 块读取这些变量。
如果你的 LangSmith 部署在某个区域或自托管实例上,请将下方示例中的网关主机名替换为你的区域网关主机名。
仅使用 Anthropic 模型
将 ANTHROPIC_BASE_URL 设为 Anthropic 格式的网关端点。网关会从该端点推断 anthropic/ 提供商前缀。
在 --settings 文件中声明的变量优先于你 shell 中已导出的任何内容,因此网关 URL 和 API 密钥保证会覆盖你可能已在环境中设置的任何周边 ANTHROPIC_* 值(例如来自全局 shell 配置文件或另一个工具)。
bash
touch ~/.claude/langsmith_gateway.settings.json
echo '{"env": {"ANTHROPIC_BASE_URL": "https://gateway.smith.langchain.com/anthropic/","ANTHROPIC_API_KEY": "YOUR_LANGSMITH_KEY_HERE"}}' > ~/.claude/langsmith_gateway.settings.json
claude --settings ~/.claude/langsmith_gateway.settings.json将 YOUR_LANGSMITH_KEY_HERE 替换为你的 LangSmith API 密钥。
跨提供商路由模型层级
将 ANTHROPIC_BASE_URL 设为网关根,然后将每个 Claude 模型层级映射到一个带提供商前缀的网关模型 ID。
在 --settings 文件中声明的变量优先于你 shell 中已导出的任何内容,因此网关 URL、API 密钥和模型映射保证会覆盖任何周边的 ANTHROPIC_* 值。
bash
touch ~/.claude/langsmith_gateway.settings.json
echo '{"env": {"ANTHROPIC_BASE_URL": "https://gateway.smith.langchain.com","ANTHROPIC_API_KEY": "YOUR_LANGSMITH_KEY_HERE","ANTHROPIC_DEFAULT_OPUS_MODEL": "anthropic/claude-opus-5","ANTHROPIC_DEFAULT_SONNET_MODEL": "openai/gpt-5.6-terra","ANTHROPIC_DEFAULT_HAIKU_MODEL": "fireworks/accounts/fireworks/models/glm-5p2"}}' > ~/.claude/langsmith_gateway.settings.json
claude --settings ~/.claude/langsmith_gateway.settings.json将 YOUR_LANGSMITH_KEY_HERE 替换为你的 LangSmith API 密钥。
这些模型 ID 只是示例。将每个层级映射到在工作区机密中配置的任何模型,或通过 Gateway Credits 可用的模型;网关负责跨提供商的请求转换。详情参阅 API 格式。
使用 Claude 订阅 OAuth
NOTE
Claude 订阅 OAuth 需要一个有效的 Claude Code Plus 或 Max 订阅。如果你使用的是工作区 Anthropic API 密钥,请改用工作区提供商密钥方法。
Claude Code Plus 和 Max 用户可以将他们保存的 Anthropic OAuth 凭据通过网关发送。此模式不需要在工作区提供商机密中设置 ANTHROPIC_API_KEY。
用你的订阅登录 Claude Code,然后配置网关。
在 --settings 文件中声明的变量优先于你 shell 中已导出的任何内容,因此网关 URL 和自定义标头保证会覆盖任何周边的 ANTHROPIC_* 值。该设置文件还能让你的 LangSmith API 密钥不进入你的 shell 历史和点文件。
bash
touch ~/.claude/langsmith_gateway.settings.json
echo '{"env": {"ANTHROPIC_BASE_URL": "https://gateway.smith.langchain.com/anthropic","ANTHROPIC_CUSTOM_HEADERS": "X-Api-Key: YOUR_LANGSMITH_KEY_HERE"}}' > ~/.claude/langsmith_gateway.settings.json
claude --settings ~/.claude/langsmith_gateway.settings.json将 YOUR_LANGSMITH_KEY_HERE 替换为你的 LangSmith API 密钥。
Claude Code 使用并刷新来自其保存登录的 OAuth 凭据,包括 anthropic-beta 标头中所需的 OAuth 能力。
LangSmith API 密钥对网关请求进行身份验证,并仍受网关权限和策略约束。网关将 OAuth bearer 转发给 Anthropic,因此 Anthropic 会将该调用计入用户的 Claude 订阅,而非工作区提供商密钥。要确认调用经过网关路由,请检查追踪是否出现在 gateway 追踪项目中,如验证设置所述。
WARNING
对于此模式,请保持 ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 未设置。任一变量都会优先于保存的订阅登录。
WARNING
配置网关后,Claude Desktop 插件会失效。
Codex CLI
Codex 使用 Responses API。将以下内容添加到 ~/.codex/config.toml,以通过标准端点使用 Gateway Credits 调用托管的 Kimi K3 模型:
toml
model = "moonshotai/kimi-k3"
model_provider = "langsmith-gateway"
[model_providers.langsmith-gateway]
name = "LangSmith Gateway"
base_url = "https://gateway.smith.langchain.com/v1"
env_key = "LANGSMITH_API_KEY"
wire_api = "responses"
supports_websockets = false然后运行:
bash
codex要改用自带密钥模型,请将 model 替换为其带提供商前缀的 ID,例如 openai/gpt-5.4-mini。
WARNING
配置网关后,Codex Desktop 插件会失效。该 TOML 配置强制通过网关进行身份验证,因此 OpenAI 不再直接处理插件身份验证。
Gemini CLI
Gemini CLI 发送 Google 原生的 Generate Content 请求,而标准端点不暴露这些请求。按照直接模型访问配置 /gemini 路由,然后运行:
bash
geminiDeep Agents Code
将 OpenAI 兼容客户端与标准端点一起使用,然后通过 openai 集成传入托管模型 slug:
bash
export OPENAI_BASE_URL="https://gateway.smith.langchain.com/v1"
export OPENAI_API_KEY="$LANGSMITH_API_KEY"
dcode --model openai:moonshotai/kimi-k3要使用自带密钥模型,请保留标准 base URL,并在 openai: 之后传入一个带提供商前缀的模型,例如 openai:anthropic/claude-opus-5。有关提供商原生的集成和模型 ID,参阅直接模型访问。
全公司部署
对于向所有开发者推广网关的组织,请通过移动设备管理或共享的 shell 配置文件分发配置。分发:
- 每个客户端的标准网关 base URL。
- 每用户或每团队一个工作区范围的 LangSmith API 密钥,取决于你的策略粒度。
- 为每个编码 agent 批准的模型 ID。
- 如果你的组织使用 Codex,则包括 Codex
config.toml。
提供商 API 密钥集中保存在 LangSmith 工作区机密中。Gateway Credits 模型不需要提供商 API 密钥。
验证设置
在配置一个编码 agent 之后,发起一次测试调用并确认:
- 该调用成功,且 agent 收到了响应。
- 在你的 LangSmith 工作区中,
gateway或gateway-<short_api_key>-<api_key_id>追踪项目里出现了一条追踪。
如果该调用以 403 失败,请检查你的 API 密钥角色是否包含 gateway:invoke 和 workspaces:read。如果一个自带密钥调用以提到缺少提供商密钥的 400 失败,请让你的组织管理员将该提供商的密钥添加到工作区机密。
后续步骤
- Gateway Credits:无需提供商密钥即可调用托管模型。
- 直接模型访问:为需要它们的编码 agent 配置提供商原生路由。
- 支出策略:为开发者 LLM 用量设置成本限制。
- 追踪、Engine 与访问控制:了解网关追踪出现在何处。