Linux 服务器 Codex + DeepSeek 配置

文章目录

总体架构

复制代码
codex CLI  ──→  http://127.0.0.1:11435/v1/responses  ──→  ccswitch-deepseek  ──→  DeepSeek API
              (Responses API)                                (协议翻译)              (Chat Completions)
  • codex 只会说 Responses API
  • DeepSeek 只会说 Chat Completions API
  • ccswitch-deepseek 在中间做翻译,跑在服务器本地

一、安装 Codex CLI

bash 复制代码
# 安装 Node.js(如果没有)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

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

# 验证
codex --version

二、配置 Codex(~/.codex/config.toml)

toml 复制代码
model_provider = "custom"
model = "deepseek-v4-flash"
model_reasoning_effort = "high"
disable_response_storage = true

[model_providers.custom]
name = "deepseek"
base_url = "http://127.0.0.1:11435/v1"
wire_api = "responses"
requires_openai_auth = true

各字段说明:

字段 含义
model_provider = "custom" 使用自定义模型供应商
model = "deepseek-v4-flash" 默认使用的模型名,会随请求传给 ccswitch-deepseek
model_reasoning_effort 推理深度:low / medium / high / xhigh
disable_response_storage = true 不上传数据到 OpenAI
base_url 指向 ccswitch-deepseek 代理地址,端口 11435
wire_api = "responses" 使用 Responses API 协议(Codex 的默认协议)
requires_openai_auth = true 发送认证头,ccswitch-deepseek 会拦截并替换

三、创建认证文件(~/.codex/auth.json)

json 复制代码
{
  "OPENAI_API_KEY": "PROXY_MANAGED"
}

API Key 实际由 ccswitch-deepseek 的 .env 文件管理,这里随便填,代理会拦截。

⚠️ 安全提醒.env 文件和 auth.json 文件权限设为 chmod 600 ~/.codex/auth.json


四、安装和配置 ccswitch-deepseek

4.1 克隆项目

bash 复制代码
mkdir -p ~/codex
cd ~/codex
git clone https://github.com/liuzhengming/ccswitch-deepseek.git
cd ccswitch-deepseek

4.2 安装依赖

bash 复制代码
npm install

4.3 配置 API Key

bash 复制代码
cp env_example .env

编辑 .env,填入 DeepSeek API Key:

复制代码
api_key=sk-your-deepseek-api-key-here
bash 复制代码
chmod 600 .env

4.4 启动

bash 复制代码
# 前台启动(测试用)
npm start

# 后台启动(推荐 tmux)
tmux new -s ccs
npm start
# Ctrl+B D  断开

# 或者 nohup
nohup npm start > /dev/null 2>&1 &

启动后看到这条就说明 OK:

复制代码
[ OK ] ccswitch-deepseek started
[INFO] http://127.0.0.1:11435/v1/responses

五、使用

bash 复制代码
# 在自己的项目目录下
codex --cd /path/to/your/project

# 或者直接
codex

六、添加更多模型

6.1 修改 config.toml

[model_providers.custom] 下可以添加多个供应商,切换模型只需改 model = 后面的值:

toml 复制代码
model_provider = "custom"
model = "deepseek-v4-flash"          # ← 默认模型
model_reasoning_effort = "high"
disable_response_storage = true

[model_providers.custom]
name = "deepseek"
base_url = "http://127.0.0.1:11435/v1"
wire_api = "responses"
requires_openai_auth = true

6.2 可用模型

ccswitch-deepseek 本身是动态透传 的------codex 发送什么 model 名字,代理就原样发给 DeepSeek。所以你要做的只是把 model = 改成 DeepSeek 支持的模型名:

model 值 对应模型
deepseek-v4-flash DeepSeek V4 Flash(快)
deepseek-v4-pro DeepSeek V4 Pro(强)
deepseek-r1 DeepSeek R1(推理)
deepseek-chat DeepSeek V3

6.3 如果需要接入其他供应商(Kimi / GLM / Qwen 等)

ccswitch-deepseek 目前只支持 DeepSeek。如需接入其他供应商,可以:

  1. 在服务器上也跑一个 cc-switch 桌面版(需要桌面环境)
  2. 或者搜其他类似的开源代理(如 one-api、new-api),在服务器部署后统一管理

七、开机自启(systemd)

bash 复制代码
sudo tee /etc/systemd/system/ccswitch-deepseek.service << 'EOF'
[Unit]
Description=CCSwitch DeepSeek Protocol Proxy
After=network.target

[Service]
Type=simple
User=xxx
WorkingDirectory=/home/xx/codex/ccswitch-deepseek
ExecStart=/usr/bin/node /home/xx/codex/ccswitch-deepseek/index.js
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable ccswitch-deepseek
sudo systemctl start ccswitch-deepseek

# 查看状态
sudo systemctl status ccswitch-deepseek

# 查看日志
sudo journalctl -u ccswitch-deepseek -f

八、端口号

ccswitch-deepseek 默认端口:11435

如需修改,编辑 index.js 末尾的端口号,同时同步修改 config.tomlbase_url


九、常见问题

问题 原因 解决
error sending request 代理没启动 npm start 先启代理
connection refused 端口不对 确认代理端口和 config.toml 一致
401 Unauthorized API Key 错误 检查 .env 文件
模型回复异常 模型名不对 确认 model = 的值 DeepSeek 支持
相关推荐
imc.1116 小时前
linux基础IO
linux·运维·服务器
躺不平的理查德16 小时前
让Ubuntu 的第二块网卡 ens37 永久固定为 192.168.30.111
运维·服务器
bitbrowser16 小时前
Facebook 验证反复回到原页面,应该从哪里排查
运维·服务器·facebook
Land032917 小时前
AI网页元素变化无法自动修复?自带元素自愈的自动化解决方案
运维·人工智能·ai·自动化·rpa
fengyehongWorld17 小时前
Jenkins 安装与简单配置
运维·jenkins
云智慧AIOps社区17 小时前
2026 国产化 ITSM 替代指南:横向测评 ServiceNow、轻帆云、Jira等五款主流IT服务管理平台
运维·人工智能·运维开发·it服务管理·itsm平台
糖果店的幽灵17 小时前
langgraph的分支结构之 - 静态分支详解
java·服务器·数据库·langgraph
虹科网络安全17 小时前
艾体宝新闻|从 SQL 注入到服务器接管:CVE-2026-57517 暴露 Web 管理面板的供应链与安全编码风险
服务器·前端·sql
Urbano17 小时前
针织卫衣全流程生产工序科普:自动化替代、产能优化与设备选型实战方案
运维·自动化
BelongPanda18 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx