本地 Claude Code / Codex 远程开发环境配置笔记
本地 Claude Code / Codex 远程开发环境配置笔记
本文记录两套常见配置:
- 使用本地 cc switch,让 Claude Code 走本地配置,并接入 DeepSeek 的 Claude 兼容接口。
- 使用本地 Windows 的 Codex 连接远程服务器上的 Codex CLI,并配置第三方 OpenAI 兼容接口。
⚠️ 注意:本文中的
sk-你的完整key只是占位符。发布博客时不要暴露真实 API Key。
一、打开本地 cc switch,使用本地 Claude
如果你本地已经安装了 Claude Code,并且使用 cc switch 管理不同模型/接口,可以通过环境变量让 Claude Code 使用 DeepSeek 的 Claude 兼容接口。
1. 配置 DeepSeek Claude 兼容接口
需要设置以下环境变量:
ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
ANTHROPIC_AUTH_TOKEN="sk-你的完整key"
其中:
ANTHROPIC_BASE_URL:Claude Code 请求的 API 地址。ANTHROPIC_AUTH_TOKEN:你的 DeepSeek API Key。
2. Windows PowerShell 临时设置方式
如果只是当前 PowerShell 窗口临时使用,可以执行:
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="sk-你的完整key"
这种方式只在当前窗口生效,关闭窗口后失效。
3. Windows PowerShell 永久设置方式
如果希望长期生效,可以执行:
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://api.deepseek.com/anthropic", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_AUTH_TOKEN", "sk-你的完整key", "User")
设置完成后,重新打开 PowerShell 或终端。
二、用本地 Windows Codex 连接远程服务器 Codex CLI
这部分目标是:
- 本地 Windows 通过 SSH 免密连接远程 Linux 服务器。
- 远程服务器安装 Codex CLI。
- 远程服务器配置第三方 OpenAI 兼容接口,例如
apikey.quest。 - 本地 Codex 通过远程连接功能调用远程 Codex CLI。
三、配置 Windows 到远程服务器的 SSH 免密登录
1. 在 Windows 本地生成 SSH Key
在 PowerShell 中执行:
ssh-keygen -t rsa -b 4096 -C "test@example.com"
一路回车即可。默认会生成:
C:\Users\你的用户名\.ssh\id_rsa
C:\Users\你的用户名\.ssh\id_rsa.pub
其中:
id_rsa是私钥,必须保存在本地,不能泄露。id_rsa.pub是公钥,可以上传到服务器。
2. 把本地公钥写入远程服务器
在 PowerShell 中执行:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
把命令里的 ip 替换成你的远程服务器 IP。
例如:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@8.222.xxx.xxx "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
这条命令的作用是:
- 读取 Windows 本地的 SSH 公钥。
- 通过 SSH 连接远程服务器。
- 在远程服务器创建
~/.ssh目录。 - 把本地公钥追加到远程服务器的
~/.ssh/authorized_keys。 - 设置正确的 SSH 权限。
3. 测试是否免密登录成功
执行:
ssh root@ip
如果不需要输入密码就能登录服务器,说明 SSH 免密配置成功。
四、在远程服务器配置 API Key 环境变量
Codex CLI 运行在远程服务器上,所以 API Key 也要配置在远程服务器上。
1. 编辑 /etc/environment
在远程服务器执行:
nano /etc/environment
在文件最后添加一行:
APIKEY_QUEST_API_KEY="sk-你的完整key"
保存并退出:
Ctrl + O保存Enter确认Ctrl + X退出
2. 重启服务器
执行:
reboot
重启后重新 SSH 登录服务器。
3. 测试环境变量是否生效
在 Windows 本地 PowerShell 执行:
ssh root@ip 'printenv APIKEY_QUEST_API_KEY'
如果能输出你的 API Key,说明环境变量配置成功。
这里推荐使用
printenv测试,而不是只在远程交互式终端里执行echo $APIKEY_QUEST_API_KEY。原因是:Codex 远程调用时通常是非交互、非登录 shell,不一定会加载
.bashrc或.profile。
写入/etc/environment后,系统级环境变量更容易被远程进程读取。
五、在远程服务器安装 Codex CLI
在远程服务器执行:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
安装完成后,可以测试:
codex --version
如果能看到版本号,说明安装成功。
六、配置远程 Codex CLI
1. 创建 Codex 配置目录
在远程服务器执行:
mkdir -p ~/.codex
2. 编辑配置文件
执行:
nano ~/.codex/config.toml
填入以下内容:
model_provider = "custom"
model = "gpt-5.5"
model_reasoning_effort = "high"
disable_response_storage = true
[model_providers.custom]
name = "custom"
wire_api = "responses"
requires_openai_auth = false
base_url = "https://apikey.quest/v1"
env_key = "APIKEY_QUEST_API_KEY"
[features]
remote_connections = true
注意:
[features]只需要写一次,不要重复写两段。如果重复写:
[features] remote_connections = true [features] remote_connections = true可能会导致 TOML 配置解析错误。
七、配置说明
1. model_provider = "custom"
表示使用自定义模型服务提供商。
2. model = "gpt-5.5"
表示 Codex 默认调用的模型名称。
这里的模型名需要与你的第三方接口支持的模型名保持一致。
3. model_reasoning_effort = "high"
表示让模型使用较高推理强度。
一般可以取:
model_reasoning_effort = "low"
model_reasoning_effort = "medium"
model_reasoning_effort = "high"
high 的推理更充分,但响应可能更慢、消耗也可能更高。
4. disable_response_storage = true
表示关闭响应存储。
5. wire_api = "responses"
表示使用 OpenAI Responses API 格式。
6. requires_openai_auth = false
表示不使用 OpenAI 官方登录认证,而是使用自定义 API Key。
7. base_url = "https://apikey.quest/v1"
表示请求转发到第三方 OpenAI 兼容接口。
8. env_key = "APIKEY_QUEST_API_KEY"
表示 Codex 从环境变量 APIKEY_QUEST_API_KEY 读取 API Key。
所以前面必须确保远程服务器能正确输出:
printenv APIKEY_QUEST_API_KEY
八、可选:配置 auth.json
如果你的 Codex 配置或某些场景需要显式指定 API Key,也可以配置:
nano ~/.codex/auth.json
填入:
{
"auth_mode": "apikey",
"OPENAI_API_KEY": "sk-你的完整key"
}
查看文件内容:
cat ~/.codex/auth.json
一般情况下,如果
config.toml中已经配置了:env_key = "APIKEY_QUEST_API_KEY"并且环境变量已经成功生效,就不一定需要额外配置
auth.json。如果遇到认证失败、读取不到 Key、或者某些插件/工具只识别
OPENAI_API_KEY,再考虑使用auth.json。
九、常见问题排查
问题 1:远程服务器里 echo $APIKEY_QUEST_API_KEY 能输出,但本地 SSH 测试输出为空
例如本地执行:
ssh root@ip 'echo $APIKEY_QUEST_API_KEY'
输出为空。
这种情况通常是因为:
- 你只把变量写进了
.bashrc或.profile; - 但 SSH 命令执行的是非交互、非登录 shell;
- 所以这些文件可能不会被加载。
推荐做法是写入:
/etc/environment
然后重启服务器,并用:
ssh root@ip 'printenv APIKEY_QUEST_API_KEY'
测试。
问题 2:Codex 报错 Missing environment variable
如果看到类似:
Missing environment variable: APIKEY_QUEST_API_KEY
说明 Codex CLI 没有读取到远程服务器上的环境变量。
检查步骤:
cat /etc/environment
确认里面有:
APIKEY_QUEST_API_KEY="sk-你的完整key"
然后重启:
reboot
再从本地测试:
ssh root@ip 'printenv APIKEY_QUEST_API_KEY'
如果这里仍然为空,说明系统环境变量没有正确生效。
问题 3:TOML 配置解析错误
如果看到类似:
invalid configuration
重点检查:
- 是否重复写了
[features]。 - 字符串是否忘记加引号。
- 布尔值是否写成了字符串。
正确写法:
[features]
remote_connections = true
错误写法:
[features]
remote_connections = "true"
true 是布尔值,不要加引号。
问题 4:401 Unauthorized
如果出现:
unexpected status 401 Unauthorized
通常说明 API Key 不正确或没有被正确传给接口。
检查:
ssh root@ip 'printenv APIKEY_QUEST_API_KEY'
确认输出的是完整 Key,而不是空值,也不是只有 sk-。
十、最终检查清单
完成配置后,可以按下面顺序检查:
ssh root@ip
确认免密登录成功。
ssh root@ip 'printenv APIKEY_QUEST_API_KEY'
确认远程环境变量能输出完整 API Key。
codex --version
确认远程服务器已经安装 Codex CLI。
cat ~/.codex/config.toml
确认 Codex 配置正确。
重点确认以下内容:
requires_openai_auth = false
env_key = "APIKEY_QUEST_API_KEY"
[features]
remote_connections = true
总结
整体配置逻辑可以理解为:
- 本地 Windows 负责发起连接。
- 远程 Linux 服务器负责运行 Codex CLI。
- API Key 必须配置在远程服务器上。
- Codex CLI 通过
env_key从远程服务器环境变量中读取 Key。 - 因为远程调用不一定加载
.bashrc,所以建议把 Key 写入/etc/environment。 config.toml中[features]只写一次,remote_connections = true不要加引号。
这样配置完成后,就可以通过本地 Windows Codex 连接远程服务器上的 Codex CLI,并使用自定义模型接口。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)