乐于分享
好东西不私藏

在国内服务器部署Codex + OpenClaw对接实战指南

在国内服务器部署Codex + OpenClaw对接实战指南

在国内服务器部署Codex + OpenClaw对接实战指南

在国内没有图形界面的Ubuntu服务器上部署Codex,并通过OpenClaw进行对接,是很多开发者的需求。这篇文章将手把手教你完成整个部署过程,包括踩过的坑和解决方案。


写在前面

最近我需要在国内的Linux服务器上部署Codex CLI,并让OpenClaw能够调用它来进行AI编程任务。过程踩了不少坑,特意整理出来,希望对你有帮助。


一、环境准备

1.1 服务器要求

  • 系统:Ubuntu 20.04+ (无图形界面)
  • 配置:2核4G以上(Codex运行需要一定资源)
  • 网络:需要能够访问OpenAI API(或者配置代理)

1.2 更新系统并安装基础依赖

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装Node.js和npm(Codex依赖)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# 验证安装
node --version  # 应该显示 v20.x.x
npm --version   # 应该显示 10.x.x

⚠️ 坑1:如果直接用apt install nodejs,安装的版本可能太旧。一定要用nodesource来安装最新LTS版本。


二、安装Codex CLI

2.1 方法一:官方安装(推荐)

# 使用官方安装脚本
curl -sL https://opencode.cli.openai.com/install | sh

安装完成后,Codex会被安装到~/.codex/bin/目录。

2.2 方法二:npm安装(备选)

# 全局安装 Codex
npm install -g @openai/codex

# 验证安装
codex --version

2.3 添加到PATH

# 临时添加(当前终端有效)
export PATH="$HOME/.codex/bin:$PATH"

# 永久添加(写入 ~/.bashrc)
echo 'export PATH="$HOME/.codex/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

⚠️ 坑2:安装完成后一定要把codex添加到PATH,否则运行codex命令会提示找不到。


三、配置Codex

3.1 登录Codex账户

codex auth login

这会显示一个URL和设备码,在浏览器中完成登录。

3.2 配置API端点

Codex默认使用OpenAI的API地址,在国内可能需要代理。

# 配置代理(可选)
export HTTP_PROXY=http://your-proxy:port
export HTTPS_PROXY=http://your-proxy:port

# 或者在codex配置中指定端点
codex config set api.base_url http://localhost:8080

3.3 启动Codex API服务

Codex可以作为一个本地API服务器运行:

# 启动API服务器(后台运行)
codex api serve --port 8080 &

# 验证服务是否启动
curl http://localhost:8080/v1/models

⚠️ 坑3:Codex API服务默认需要认证,确保已经完成codex auth login,否则API调用会返回401错误。


四、OpenClaw配置对接Codex

4.1 安装OpenClaw(如果还没有)

# 安装OpenClaw
curl -fsSL https://get.openclaw.ai | sh

# 初始化配置
openclaw setup

4.2 配置Model Provider

OpenClaw通过OpenAI兼容接口对接Codex。编辑OpenClaw配置文件:

# 打开配置文件
openclaw config edit

添加以下配置:

models:
  providers:
    - name: openai
      api_base: http://localhost:8080/v1
      api_key: your-codex-api-key  # Codex的API Key
      default_model: gpt-4

  defaults:
    model: gpt-4

⚠️ 坑4:这里的api_key可以随便填一个值,Codex主要通过设备认证来验证,不需要API Key。但有些客户端会检查这个字段是否存在。

4.3 重启OpenClaw

# 重启Gateway
openclaw gateway restart

五、验证对接

5.1 测试Codex API

# 测试API是否正常
curl http://localhost:8080/v1/models \
  -H "Authorization: Bearer dummy-key"

应该返回可用的模型列表。

5.2 测试OpenClaw

# 发送测试消息
openclaw message send --to your-channel "Hello from Codex!"

如果一切正常,说明OpenClaw已经成功调用Codex。


六、常见问题与解决方案

Q1: Codex安装后找不到命令

解决

# 检查安装位置
ls -la ~/.codex/bin/

# 手动添加到PATH
export PATH="$HOME/.codex/bin:$PATH"

Q2: API返回401未授权错误

解决

# 重新登录
codex auth logout
codex auth login

Q3: 国内服务器无法访问OpenAI

解决:配置代理

export HTTP_PROXY=http://proxy:port
export HTTPS_PROXY=http://proxy:port
codex api serve --port 8080

Q4: OpenClaw调用超时

解决:检查Codex服务是否正常运行

# 检查进程
ps aux | grep codex

# 重启服务
pkill -f codex
codex api serve --port 8080 &

七、性能优化建议

7.1 使用Systemd管理Codex服务

创建/etc/systemd/system/codex.service

[Unit]
Description=Codex API Service
After=network.target

[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu
ExecStart=/home/ubuntu/.codex/bin/codex api serve --port 8080
Environment="PATH=/home/ubuntu/.codex/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

然后:

sudo systemctl daemon-reload
sudo systemctl enable codex
sudo systemctl start codex

7.2 配置日志轮转

编辑/etc/logrotate.d/codex

/home/ubuntu/.codex/logs/*.log {
    daily
    rotate 7
    compress
    delaycompress
    notifempty
    create 0644 ubuntu ubuntu
}

总结

本文详细介绍了在国内无图形界面的Ubuntu服务器上部署Codex CLI的完整步骤,以及如何配置OpenClaw来对接Codex。主要包括:

  1. ✅ 环境准备和依赖安装
  2. ✅ Codex CLI的安装和配置
  3. ✅ 启动Codex API服务
  4. ✅ OpenClaw配置对接Codex
  5. ✅ 常见问题解决方案
  6. ✅ 生产环境优化建议

如果按照本文步骤操作,你应该能够顺利完成部署。如果还有问题,欢迎在评论区交流。

觉得有用的话,点个赞并转发给需要的朋友吧!