[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80498":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},80498,"Codex-app-with-deepseek-perfectly","CAZAMA1\u002FCodex-app-with-deepseek-perfectly","CAZAMA1","一套用于在 Windows 上把 Codex 桌面端切换到 DeepSeek、本地 OpenAI 兼容代理或原生 OpenAI 登录的配置与脚本集合。","",null,"Rust",103,11,99,6,0,1,5,3.24,false,"main",true,[],"2026-06-12 02:04:03","# Codex DeepSeek Config\n\n一套用于在 Windows 上把 Codex 桌面端切换到 DeepSeek、本地 OpenAI 兼容代理或原生 OpenAI 登录的配置与脚本集合。\n\n项目包含三部分：\n\n- `config.toml`：Codex 配置模板，预置本地 DeepSeek relay provider。\n- `start.ps1` + `model-proxy.py`：一键启动 DeepSeek 本地代理链路。\n- `switch-provider.ps1`：在 OpenAI、DeepSeek 本地代理、ChatGPT 中转站之间切换。\n- `codex-relay\u002F`：Responses API 到 Chat Completions API 的 Rust relay 实现源码。\n\n## 工作原理\n\nCodex 默认使用 OpenAI Responses API。DeepSeek 等大多数兼容服务提供的是 Chat Completions API，因此本项目使用两层本地服务做适配：\n\n```text\nCodex Desktop\n  -> model-proxy.py       http:\u002F\u002F127.0.0.1:4445\u002Fv1\n  -> codex-relay          http:\u002F\u002F127.0.0.1:4446\u002Fv1\n  -> DeepSeek API         https:\u002F\u002Fapi.deepseek.com\u002Fv1\n```\n\n`model-proxy.py` 负责把 Codex 可能发出的 OpenAI 模型名映射到 DeepSeek 模型名；`codex-relay` 负责把 Responses API 请求转换为 Chat Completions API 请求。\n\n## 文件说明\n\n| 路径 | 说明 |\n| --- | --- |\n| `README.md` | GitHub 项目说明文档 |\n| `config.toml` | Codex 配置模板，可复制到 `%USERPROFILE%\\.codex\\config.toml` |\n| `start.ps1` | 一键启动本地 DeepSeek relay 和模型名代理 |\n| `switch-provider.ps1` | 修改 Codex 配置，在三种模型提供商之间切换 |\n| `model-proxy.py` | 本地 HTTP 代理，处理模型名映射并转发请求 |\n| `配置指南.md` | 早期中文配置指南 |\n| `codex-relay\u002F` | Rust relay 源码、测试、Python 包装入口 |\n\n## 前置条件\n\n- Windows 10\u002F11\n- PowerShell\n- Python 3.x\n- Rust\u002FCargo（仅在需要从源码编译 `codex-relay` 时使用）\n- DeepSeek API Key（使用 DeepSeek 本地代理模式时需要）\n\n如果直接安装发布版 relay，可以使用：\n\n```powershell\npip install codex-relay\n```\n\n如果要从本项目源码构建：\n\n```powershell\ncd codex-relay\ncargo build --release\n```\n\n## 安装与配置\n\n### 1. 设置 DeepSeek API Key\n\n把 DeepSeek API Key 保存到用户级环境变量：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DEEPSEEK_API_KEY\", \"你的DeepSeek-API-Key\", \"User\")\n```\n\n设置后建议重启 PowerShell 或重新登录系统，让环境变量生效。\n\n### 2. 安装 relay\n\n推荐直接安装：\n\n```powershell\npip install codex-relay\n```\n\n安装完成后确认命令可用：\n\n```powershell\ncodex-relay --help\n```\n\n### 3. 准备 Codex 配置\n\n将根目录的 `config.toml` 复制到：\n\n```text\n%USERPROFILE%\\.codex\\config.toml\n```\n\n该模板默认启用 `deepseek-relay`：\n\n```toml\nmodel_provider = \"deepseek-relay\"\nmodel = \"deepseek-v4-pro\"\nreview_model = \"deepseek-v4-flash\"\n\n[model_providers.deepseek-relay]\nname = \"DeepSeek\"\nbase_url = \"http:\u002F\u002F127.0.0.1:4445\u002Fv1\"\nenv_key = \"DEEPSEEK_API_KEY\"\n```\n\n## 使用方法\n\n### 启动 DeepSeek 本地代理\n\n在项目根目录运行：\n\n```powershell\n.\\start.ps1\n```\n\n脚本会启动两个后台任务：\n\n- `codex-relay`：监听 `127.0.0.1:4446`\n- `model-proxy.py`：监听 `127.0.0.1:4445`\n\n看到“全部就绪”后，打开或重启 Codex 桌面端即可使用。\n\n### 切换模型提供商\n\n运行：\n\n```powershell\n.\\switch-provider.ps1\n```\n\n可选择：\n\n| 选项 | 模式 | 说明 |\n| --- | --- | --- |\n| `1` | OpenAI 账号登录 | 使用 Codex 内置 OpenAI 登录 |\n| `2` | DeepSeek 本地代理 | 使用 `start.ps1` 启动的本地代理链路 |\n| `3` | ChatGPT 中转站 | 使用 OpenAI 兼容中转地址，需要 `OPENAI_API_KEY` |\n\n切换后需要重启 Codex 桌面端。\n\n### 插件兼容性提示\n\n实测发现：如果一开始直接使用 ChatGPT 中转站 API，Codex 中的插件功能可能不可用；但先切换到 OpenAI 账号登录模式，让 Codex 完成账号态初始化后，再通过 `switch-provider.ps1` 切换到 ChatGPT 中转站模式，插件功能可以继续正常使用。\n\n推荐顺序：\n\n```text\n1. 运行 switch-provider.ps1，选择 [1] OpenAI 账号登录\n2. 重启 Codex，并确认插件功能可用\n3. 再次运行 switch-provider.ps1，选择 [3] ChatGPT 中转站\n4. 重启 Codex，继续使用中转站 API 和插件功能\n```\n\n这个现象可能与 Codex 的账号登录态、插件权限初始化或本地缓存有关。脚本本身只修改模型 provider 配置，不会写入 API Key，也不会修改插件配置。\n\n## 模型名映射\n\n`model-proxy.py` 会自动处理以下模型名映射：\n\n| Codex 请求模型 | 转发给 DeepSeek 的模型 |\n| --- | --- |\n| `gpt-5.4-mini` | `deepseek-v4-flash` |\n| `gpt-5.4` | `deepseek-v4-flash` |\n| `gpt-5.5` | `deepseek-v4-pro` |\n| `gpt-5` | `deepseek-v4-pro` |\n\n如果请求中的模型名已经是 DeepSeek 模型名，则会原样转发。\n\n## 安全说明\n\n- 不要把真实 API Key 写进 `config.toml` 或脚本。\n- 本项目通过 `DEEPSEEK_API_KEY` \u002F `OPENAI_API_KEY` 环境变量读取密钥。\n- `.gitignore` 已排除 `.env`、本机 `.claude\u002Fsettings.local.json`、日志和构建产物。\n- 发布到公开仓库前，建议再次搜索 `sk-`、`api_key`、`token` 等敏感词。\n\n## 常见问题\n\n### PowerShell 无法运行脚本\n\n首次运行可能需要允许当前用户执行本地脚本：\n\n```powershell\nSet-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned\n```\n\n### 提示找不到 `DEEPSEEK_API_KEY`\n\n说明用户环境变量未设置或当前终端还没读取到新变量。重新设置后，重启 PowerShell：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DEEPSEEK_API_KEY\", \"你的DeepSeek-API-Key\", \"User\")\n```\n\n### 出现 401 Unauthorized\n\n检查 API Key 是否正确、账户余额是否充足，以及 Codex 当前是否切换到了预期的 provider。\n\n### 出现模型名不支持\n\n确认 `start.ps1` 已经运行，且 `model-proxy.py` 正在监听 `127.0.0.1:4445`。Codex 应该访问 `4445`，而不是直接访问 `4446`。\n\n### 使用中转站 API 时插件不可用\n\n可以先切到 OpenAI 账号登录模式并重启 Codex，确认插件可以正常加载；然后再用 `switch-provider.ps1` 切回 ChatGPT 中转站模式并重启 Codex。这个流程通常可以保留插件能力，同时让模型请求走中转站 API。\n\n### 端口被占用\n\n默认端口：\n\n- `4445`：模型名代理\n- `4446`：codex-relay\n\n如果端口被占用，请关闭旧进程，或同步修改 `start.ps1`、`model-proxy.py` 和 `config.toml` 中的端口。\n\n## 开发与测试\n\n运行 Rust 测试：\n\n```powershell\ncd codex-relay\ncargo test\n```\n\n本地调试 relay：\n\n```powershell\n$env:CODEX_RELAY_UPSTREAM = \"https:\u002F\u002Fapi.deepseek.com\u002Fv1\"\n$env:CODEX_RELAY_API_KEY = $env:DEEPSEEK_API_KEY\n$env:CODEX_RELAY_PORT = \"4446\"\ncodex-relay\n```\n\n另开一个 PowerShell 启动模型代理：\n\n```powershell\npython .\\model-proxy.py\n```\n\n## License\n\n根目录脚本按项目用途发布；`codex-relay\u002F` 子目录保留其原始 MIT License。\n\n## 🤝 Sponsors\n\n[![Doloffer](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSponsored_by-Doloffer-blue?style=for-the-badge)](https:\u002F\u002Fdoloffer.com\u002F)\n\nA handy tool to help users easily manage and organize different subscription services. [Check out their GitHub Guide](https:\u002F\u002Fgithub.com\u002FDoloffer-g\u002Fguide).\n","该项目提供了一套配置与脚本，用于在 Windows 上将 Codex 桌面端切换至 DeepSeek、本地 OpenAI 兼容代理或原生 OpenAI 登录。其核心功能包括通过 `config.toml` 配置模板预设本地 DeepSeek relay provider，利用 `start.ps1` 和 `model-proxy.py` 一键启动本地代理链路，并借助 `switch-provider.psly` 脚本实现不同模型提供商间的快速切换。项目基于 Rust 开发的 relay 服务，能够将 Responses API 请求转换为 Chat Completions API 请求，以适应不同的后端服务。适用于需要灵活选择 AI 模型提供商的开发者，特别是那些希望在不改变现有工作流程的情况下尝试新模型的用户。",2,"2026-06-11 04:00:59","CREATED_QUERY"]