配置
配置文件发现
Section titled “配置文件发现”Claudex 按以下顺序搜索配置文件:
$CLAUDEX_CONFIG环境变量./claudex.toml(当前目录)./.claudex/config.toml(当前目录)- 父目录(最多向上 10 级),检查上述两种模式
# 查看加载的配置路径和搜索顺序claudex config
# 在当前目录创建本地配置claudex config --init# Claude 二进制文件路径(默认:从 PATH 中查找 "claude")# claude_binary = "/usr/local/bin/claude"
# 代理设置proxy_port = 13456proxy_host = "127.0.0.1"
# 日志级别:trace, debug, info, warn, errorlog_level = "info"
# 模型别名(简称 → 完整模型名)[model_aliases]grok3 = "grok-3-beta"gpt4o = "gpt-4o"ds3 = "deepseek-chat"Profile 配置
Section titled “Profile 配置”每个 profile 代表一个 AI 提供商连接。有三种提供商类型:
DirectAnthropic
Section titled “DirectAnthropic”用于原生支持 Anthropic Messages API 的提供商。请求以最小修改直接转发。
[[profiles]]name = "anthropic"provider_type = "DirectAnthropic"base_url = "https://api.anthropic.com"api_key = "sk-ant-..."default_model = "claude-sonnet-4-20250514"priority = 100enabled = true兼容提供商:Anthropic、MiniMax
OpenAICompatible
Section titled “OpenAICompatible”用于使用 OpenAI Chat Completions API 的提供商。Claudex 自动在 Anthropic 和 OpenAI 协议之间翻译。
[[profiles]]name = "grok"provider_type = "OpenAICompatible"base_url = "https://api.x.ai/v1"api_key = "xai-..."default_model = "grok-3-beta"backup_providers = ["deepseek"]priority = 100enabled = true兼容提供商:Grok (xAI)、OpenAI、DeepSeek、Kimi/Moonshot、GLM(智谱)、OpenRouter、Ollama、vLLM、LM Studio
OpenAIResponses
Section titled “OpenAIResponses”用于使用 OpenAI Responses API 的提供商(如 ChatGPT/Codex 订阅)。Claudex 自动在 Anthropic Messages API 和 OpenAI Responses API 之间翻译。
[[profiles]]name = "codex-sub"provider_type = "OpenAIResponses"base_url = "https://chatgpt.com/backend-api/codex"default_model = "gpt-4o"auth_type = "oauth"oauth_provider = "openai"兼容提供商:ChatGPT/Codex 订阅(通过 Codex CLI)
Profile 字段
Section titled “Profile 字段”| 字段 | 默认值 | 说明 |
|---|---|---|
name | 必填 | 唯一标识名 |
provider_type | DirectAnthropic | DirectAnthropic、OpenAICompatible 或 OpenAIResponses |
base_url | 必填 | 提供商 API 端点 |
api_key | "" | API 密钥(明文) |
api_key_keyring | — | 从 OS 钥匙链读取 API 密钥 |
default_model | 必填 | 默认使用的模型 |
auth_type | "api-key" | "api-key" 或 "oauth" |
oauth_provider | — | OAuth 提供商(claude、openai、google、qwen、kimi、github)。auth_type = "oauth" 时必填 |
backup_providers | [] | 故障转移 profile 名列表 |
custom_headers | {} | 额外 HTTP 请求头 |
extra_env | {} | 启动 Claude 时的额外环境变量 |
priority | 100 | 智能路由优先级 |
enabled | true | 是否启用 |
[profiles.models] | — | 模型 slot 映射表(haiku、sonnet、opus 字段) |
添加 profile 最简单的方式是使用交互式向导:
claudex profile add它会引导你完成提供商选择、API 密钥输入(支持 keyring 存储)、模型选择和连通性测试。
将 API 密钥安全存储在 OS 钥匙链中,而非明文配置:
[[profiles]]name = "grok"api_key_keyring = "grok-api-key" # 从 OS 钥匙链读取支持的后端:
- macOS:Keychain
- Linux:Secret Service(GNOME Keyring / KDE Wallet)
OAuth 订阅认证
Section titled “OAuth 订阅认证”除了 API 密钥,你还可以通过 OAuth 使用现有的提供商订阅进行认证。适用于 Claude Pro/Team、ChatGPT Plus 或其他订阅方案。
- 将 profile 的
auth_type设为"oauth"并指定oauth_provider:
[[profiles]]name = "chatgpt-oauth"provider_type = "OpenAICompatible"base_url = "https://api.openai.com/v1"default_model = "gpt-4o"auth_type = "oauth"oauth_provider = "openai"- 使用
auth命令登录:
claudex auth login openai- 检查认证状态:
claudex auth status支持的提供商
Section titled “支持的提供商”| 提供商 | oauth_provider | Token 来源 |
|---|---|---|
| Claude | claude | 从 ~/.claude 读取(Claude Code 原生配置) |
| OpenAI | openai | 从 ~/.codex/auth.json 读取(Codex CLI) |
google | OAuth 设备码流程 | |
| Qwen | qwen | OAuth 设备码流程 |
| Kimi | kimi | OAuth 设备码流程 |
| GitHub | github | OAuth 设备码流程 |
Gateway 认证模式
Section titled “Gateway 认证模式”使用 OAuth profile 时,Claudex 启动 Claude Code 时设置 ANTHROPIC_AUTH_TOKEN(而非 ANTHROPIC_API_KEY)。这可以避免与 Claude Code 自身订阅登录机制冲突,因为 Claude Code 内部使用 ANTHROPIC_API_KEY。
代理会在 OAuth token 过期前自动刷新。你也可以手动刷新:
claudex auth refresh openai模型 Slot 映射
Section titled “模型 Slot 映射”Claude Code 内置 /model 切换器,包含三个 slot:haiku、sonnet 和 opus。默认映射到 Anthropic 模型,但通过 Claudex 可以将它们映射到任意提供商的模型。
在任意 profile 中添加 [profiles.models] 表:
[[profiles]]name = "grok"provider_type = "OpenAICompatible"base_url = "https://api.x.ai/v1"api_key = "xai-..."default_model = "grok-3-beta"
[profiles.models]haiku = "grok-3-mini-beta"sonnet = "grok-3-beta"opus = "grok-3-beta"在 Claude Code 中输入 /model sonnet 时,Claudex 会将请求翻译为使用 grok-3-beta。/model opus 命令映射到 grok-3-beta,以此类推。
常见提供商示例
Section titled “常见提供商示例”# OpenAI 模型映射[profiles.models]haiku = "gpt-4o-mini"sonnet = "gpt-4o"opus = "o1"
# DeepSeek 模型映射[profiles.models]haiku = "deepseek-chat"sonnet = "deepseek-chat"opus = "deepseek-reasoner"
# Google Gemini 模型映射[profiles.models]haiku = "gemini-2.0-flash"sonnet = "gemini-2.5-pro"opus = "gemini-2.5-pro"部分提供商(尤其是 OpenAI)对工具(函数)名称有 64 字符长度限制。Claude Code 生成的工具名可能超过此限制。
Claudex 在向 OpenAI 兼容提供商发送请求时,自动截断超过 64 字符的工具名,并在处理响应时透明还原原始名称。整个往返过程完全透明,无需额外配置。
Claudex 支持一次性(非交互)执行,适用于 CI/CD 流水线、脚本和自动化:
# 输出响应后退出claudex run grok "Explain this codebase" --print
# 跳过所有权限提示(用于全自动流水线)claudex run grok "Fix lint errors" --print --dangerously-skip-permissions非交互模式下,日志写入每实例日志文件 ~/Library/Caches/claudex/proxy-{timestamp}-{pid}.log(而非 stderr),保持 stdout 输出干净,便于管道和自动化处理。
每实例日志文件
Section titled “每实例日志文件”每个 Claudex 代理实例将日志写入独立文件:
~/Library/Caches/claudex/proxy-{timestamp}-{pid}.log这避免了多实例运行时的日志交错,并在 claudex run 期间(尤其是非交互模式下)保持 stderr 干净。日志内容包括代理启动、请求翻译、OAuth token 刷新事件和断路器状态变化。
参见 config.example.toml 获取包含所有提供商和选项的完整配置文件。
每个提供商的详细配置步骤(包括 API 密钥获取链接和 OAuth 流程),请参见 Provider 配置指南。