dsh-openai-codex-auth

by yoke233

工具与能力github收录于 08-23

把 ChatGPT 订阅登录接入 DeepSeek Harness。 在 DSH 设置页完成 OpenAI OAuth 登录、查看 Codex 用量,并自动向 openai-codex 模型提供方提供有效凭据。

Brings ChatGPT subscription login into DeepSeek Harness: complete OpenAI OAuth in DSH settings, view Codex usage, and auto-supply valid credentials to the openai-codex provider.

安装

dsh plugin --profile web add github:yoke233/dsh-openai-codex-auth

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

快速开始

将插件安装到 DSH 的 web profile:

dsh plugin --profile web add github:yoke233/dsh-openai-codex-auth

启动或重启该 profile:

dsh --profile web

然后完成首次连接:

  1. 打开 DSH Web,进入 设置 → OpenAI Codex。
  2. 点击 登录 OpenAI,在弹出的 OpenAI 官方授权页完成登录。
  3. 返回 DSH,在 设置 → 模型提供方 中选择 openai-codex。

[!IMPORTANT] 登录管理接口只监听 127.0.0.1。请在运行 DSH Web profile 的同一台电脑上打开设置页并完成授权。

功能一览

能力 说明
OpenAI 订阅登录 通过 OAuth 连接 ChatGPT Plus、Pro、Team 或 Enterprise 账号
Codex 用量面板 展示短周期与周用量、剩余额度和重置时间
自动凭据续期 在令牌接近过期时刷新,并更新本地凭据
DSH 模型接入 将有效令牌提供给 openai-codex 模型提供方
设置页管理 支持查看状态、刷新用量、重新登录和退出登录

工作方式

  1. 插件生成 PKCE verifier、challenge 和随机 state,再打开 OpenAI 授权页。
  2. OpenAI 将授权结果返回到本机 localhost:1455;插件校验 state 并交换令牌。
  3. 凭据原子写入本地文件,访问令牌通过 DSH credentials 注入 DSH_OPENAI_CODEX_TOKEN。
  4. 设置页操作会先通过 DSH Web Host 唤醒 127.0.0.1:1456,完成单次状态、刷新或退出请求后立即关闭。

控制服务 127.0.0.1:1456 不常驻:Web 设置页操作时按需启动,单次请求完成后关闭;登录期间保持到授权成功、失败或取消。TUI 的 /login-codex 直接启动临时 OAuth 回调端口 localhost:1455,流程结束或取消时关闭。

配置

插件通常无需额外配置。默认凭据文件为:

$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。

常见问题

确认 web profile 已启动,并在运行该 profile 的同一台电脑上打开 DSH Web。安装或更新插件后请重启 profile。

浏览器可能拦截了弹窗。允许 DSH Web 打开弹窗后,再次点击 登录 OpenAI。

点击 刷新用量 重试。若 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

License

MIT

原始 README: https://github.com/yoke233/dsh-openai-codex-auth/blob/main/README.md ↗