Skip to content

CAZAMA1/Codex-app-with-deepseek-perfectly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codex DeepSeek Config

一套用于在 Windows 上把 Codex 桌面端切换到 DeepSeek、本地 OpenAI 兼容代理或原生 OpenAI 登录的配置与脚本集合。

项目包含三部分:

  • config.toml:Codex 配置模板,预置本地 DeepSeek relay provider。
  • start.ps1 + model-proxy.py:一键启动 DeepSeek 本地代理链路。
  • switch-provider.ps1:在 OpenAI、DeepSeek 本地代理、ChatGPT 中转站之间切换。
  • codex-relay/:Responses API 到 Chat Completions API 的 Rust relay 实现源码。

工作原理

Codex 默认使用 OpenAI Responses API。DeepSeek 等大多数兼容服务提供的是 Chat Completions API,因此本项目使用两层本地服务做适配:

Codex Desktop
  -> model-proxy.py       http://127.0.0.1:4445/v1
  -> codex-relay          http://127.0.0.1:4446/v1
  -> DeepSeek API         https://api.deepseek.com/v1

model-proxy.py 负责把 Codex 可能发出的 OpenAI 模型名映射到 DeepSeek 模型名;codex-relay 负责把 Responses API 请求转换为 Chat Completions API 请求。

文件说明

路径 说明
README.md GitHub 项目说明文档
config.toml Codex 配置模板,可复制到 %USERPROFILE%\.codex\config.toml
start.ps1 一键启动本地 DeepSeek relay 和模型名代理
switch-provider.ps1 修改 Codex 配置,在三种模型提供商之间切换
model-proxy.py 本地 HTTP 代理,处理模型名映射并转发请求
配置指南.md 早期中文配置指南
codex-relay/ Rust relay 源码、测试、Python 包装入口

前置条件

  • Windows 10/11
  • PowerShell
  • Python 3.x
  • Rust/Cargo(仅在需要从源码编译 codex-relay 时使用)
  • DeepSeek API Key(使用 DeepSeek 本地代理模式时需要)

如果直接安装发布版 relay,可以使用:

pip install codex-relay

如果要从本项目源码构建:

cd codex-relay
cargo build --release

安装与配置

1. 设置 DeepSeek API Key

把 DeepSeek API Key 保存到用户级环境变量:

[Environment]::SetEnvironmentVariable("DEEPSEEK_API_KEY", "你的DeepSeek-API-Key", "User")

设置后建议重启 PowerShell 或重新登录系统,让环境变量生效。

2. 安装 relay

推荐直接安装:

pip install codex-relay

安装完成后确认命令可用:

codex-relay --help

3. 准备 Codex 配置

将根目录的 config.toml 复制到:

%USERPROFILE%\.codex\config.toml

该模板默认启用 deepseek-relay

model_provider = "deepseek-relay"
model = "deepseek-v4-pro"
review_model = "deepseek-v4-flash"

[model_providers.deepseek-relay]
name = "DeepSeek"
base_url = "http://127.0.0.1:4445/v1"
env_key = "DEEPSEEK_API_KEY"

使用方法

启动 DeepSeek 本地代理

在项目根目录运行:

.\start.ps1

脚本会启动两个后台任务:

  • codex-relay:监听 127.0.0.1:4446
  • model-proxy.py:监听 127.0.0.1:4445

看到“全部就绪”后,打开或重启 Codex 桌面端即可使用。

切换模型提供商

运行:

.\switch-provider.ps1

可选择:

选项 模式 说明
1 OpenAI 账号登录 使用 Codex 内置 OpenAI 登录
2 DeepSeek 本地代理 使用 start.ps1 启动的本地代理链路
3 ChatGPT 中转站 使用 OpenAI 兼容中转地址,需要 OPENAI_API_KEY

切换后需要重启 Codex 桌面端。

插件兼容性提示

实测发现:如果一开始直接使用 ChatGPT 中转站 API,Codex 中的插件功能可能不可用;但先切换到 OpenAI 账号登录模式,让 Codex 完成账号态初始化后,再通过 switch-provider.ps1 切换到 ChatGPT 中转站模式,插件功能可以继续正常使用。

推荐顺序:

1. 运行 switch-provider.ps1,选择 [1] OpenAI 账号登录
2. 重启 Codex,并确认插件功能可用
3. 再次运行 switch-provider.ps1,选择 [3] ChatGPT 中转站
4. 重启 Codex,继续使用中转站 API 和插件功能

这个现象可能与 Codex 的账号登录态、插件权限初始化或本地缓存有关。脚本本身只修改模型 provider 配置,不会写入 API Key,也不会修改插件配置。

模型名映射

model-proxy.py 会自动处理以下模型名映射:

Codex 请求模型 转发给 DeepSeek 的模型
gpt-5.4-mini deepseek-v4-flash
gpt-5.4 deepseek-v4-flash
gpt-5.5 deepseek-v4-pro
gpt-5 deepseek-v4-pro

如果请求中的模型名已经是 DeepSeek 模型名,则会原样转发。

安全说明

  • 不要把真实 API Key 写进 config.toml 或脚本。
  • 本项目通过 DEEPSEEK_API_KEY / OPENAI_API_KEY 环境变量读取密钥。
  • .gitignore 已排除 .env、本机 .claude/settings.local.json、日志和构建产物。
  • 发布到公开仓库前,建议再次搜索 sk-api_keytoken 等敏感词。

常见问题

PowerShell 无法运行脚本

首次运行可能需要允许当前用户执行本地脚本:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

提示找不到 DEEPSEEK_API_KEY

说明用户环境变量未设置或当前终端还没读取到新变量。重新设置后,重启 PowerShell:

[Environment]::SetEnvironmentVariable("DEEPSEEK_API_KEY", "你的DeepSeek-API-Key", "User")

出现 401 Unauthorized

检查 API Key 是否正确、账户余额是否充足,以及 Codex 当前是否切换到了预期的 provider。

出现模型名不支持

确认 start.ps1 已经运行,且 model-proxy.py 正在监听 127.0.0.1:4445。Codex 应该访问 4445,而不是直接访问 4446

使用中转站 API 时插件不可用

可以先切到 OpenAI 账号登录模式并重启 Codex,确认插件可以正常加载;然后再用 switch-provider.ps1 切回 ChatGPT 中转站模式并重启 Codex。这个流程通常可以保留插件能力,同时让模型请求走中转站 API。

端口被占用

默认端口:

  • 4445:模型名代理
  • 4446:codex-relay

如果端口被占用,请关闭旧进程,或同步修改 start.ps1model-proxy.pyconfig.toml 中的端口。

开发与测试

运行 Rust 测试:

cd codex-relay
cargo test

本地调试 relay:

$env:CODEX_RELAY_UPSTREAM = "https://api.deepseek.com/v1"
$env:CODEX_RELAY_API_KEY = $env:DEEPSEEK_API_KEY
$env:CODEX_RELAY_PORT = "4446"
codex-relay

另开一个 PowerShell 启动模型代理:

python .\model-proxy.py

License

根目录脚本按项目用途发布;codex-relay/ 子目录保留其原始 MIT License。

🤝 Sponsors

Doloffer

A handy tool to help users easily manage and organize different subscription services. Check out their GitHub Guide.

About

一套用于在 Windows 上把 Codex 桌面端切换到 DeepSeek、本地 OpenAI 兼容代理或原生 OpenAI 登录的配置与脚本集合。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors