yoke233
dsh-openai-codex-auth
OpenAI Codex OAuth login and usage card plugin for DeepSeek Harness
- Stars
- 2
- Language
- JavaScript
- Created
- Aug 13, 2026
- Updated
- Aug 14, 2026
Introduction
把 ChatGPT 订阅登录接入 DeepSeek Harness。
在 DSH 设置页完成 OpenAI OAuth 登录、查看 Codex 用量,并自动向 openai-codex 模型提供方提供有效凭据。
快速开始 · 功能一览 · 工作方式 · 配置 · 凭据处理边界
快速开始
将插件安装到 DSH 的 web profile:
dsh plugin --profile web add github:yoke233/dsh-openai-codex-auth
启动或重启该 profile:
dsh --profile web
然后完成首次连接:
- 打开 DSH Web,进入 设置 → OpenAI Codex。
- 点击 登录 OpenAI,在弹出的 OpenAI 官方授权页完成登录。
- 返回 DSH,在 设置 → 模型提供方 中选择
openai-codex。
[!IMPORTANT] 登录管理接口只监听
127.0.0.1。请在运行 DSH Web profile 的同一台电脑上打开设置页并完成授权。
功能一览
| 能力 | 说明 |
|---|---|
| OpenAI 订阅登录 | 通过 OAuth 连接 ChatGPT Plus、Pro、Team 或 Enterprise 账号 |
| Codex 用量面板 | 展示短周期与周用量、剩余额度和重置时间 |
| 自动凭据续期 | 在令牌接近过期时刷新,并更新本地凭据 |
| DSH 模型接入 | 将有效令牌提供给 openai-codex 模型提供方 |
| 设置页管理 | 支持查看状态、刷新用量、重新登录和退出登录 |
工作方式
- 插件生成 PKCE verifier、challenge 和随机
state,再打开 OpenAI 授权页。 - OpenAI 将授权结果返回到本机
localhost:1455;插件校验state并交换令牌。 - 凭据原子写入本地文件,访问令牌通过 DSH credentials 注入
DSH_OPENAI_CODEX_TOKEN。 - 设置页通过本机
127.0.0.1:1456控制服务读取登录状态和 Codex 用量,不接触令牌内容。
配置
插件通常无需额外配置。默认凭据文件为:
$DSH_HOME/openai-codex-auth.json
如需改变存储位置,可在 Cordis 配置中设置 path:
- insert:
- id: openai-codex-auth
name: dsh-openai-codex-auth
config:
path: /secure/path/openai-codex-auth.json
path 的优先级高于 dshHome。
凭据处理边界
以下内容仅说明插件如何处理本地凭据与管理接口,不代表或承诺任何 OpenAI 账号风控结果。
- OAuth 授权使用 PKCE,并通过随机
state防止回调串用。 - 凭据目录与文件分别以 owner-only 权限创建,并通过原子写入更新。
- access token 与 refresh token 只保存在 Host 侧;Web 页面不会读取或保存它们。
- 控制服务只监听
127.0.0.1,仅接受本地 DSH Web origin。 - 登出等状态变更请求必须携带 CSRF token。
常见问题
设置页提示“无法连接本机 Codex 插件服务”
确认 web profile 已启动,并在运行该 profile 的同一台电脑上打开 DSH Web。安装或更新插件后请重启 profile。
点击登录后没有出现授权页面
浏览器可能拦截了弹窗。允许 DSH Web 打开弹窗后,再次点击 登录 OpenAI。
账号已连接,但没有显示额度窗口
点击 刷新用量 重试。若 OpenAI 当前未返回可展示的用量窗口,插件会保留登录状态并在设置页说明情况。
如何通过 HTTP 代理连接 OpenAI?
插件使用 Node.js 原生 fetch。启动 DSH 前设置 HTTP_PROXY、HTTPS_PROXY、可选的 NO_PROXY,并通过 NODE_USE_ENV_PROXY=1 开启 Node.js 环境代理。
NODE_USE_ENV_PROXY=1 HTTP_PROXY=http://127.0.0.1:7890 HTTPS_PROXY=http://127.0.0.1:7890 dsh --profile web
本地开发
pnpm install
pnpm run build
pnpm test
dsh plugin --profile web add ./openai-codex-auth