🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Codex 订阅接入 birat-chapagain/dsh-codex-oauth

DeepSeek Harnessv0.3.0
birat-chapagain72 天前有提交已提供中文文档扫描:含敏感能力

用 ChatGPT 订阅登录,在 dsh 里调用 Codex 模型

34/100
综合分
6
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:npm 同名包「dsh-codex-oauth」归属 eons2long/dsh-codex-oauth,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add birat-chapagain/dsh-codex-oauth
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · model
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 72 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/26) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-codex-oauth」归属 eons2long/dsh-codex-oauth,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-codex-oauth @ 0.3.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 08:38:16

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 18 处,展示前 18 条)
  • 执行外部命令固定命令
    lib/bin.js:100
    const found = spawnSync('sh', ['-c', 'command -v dsh'], { stdio: 'ignore' });
  • 执行外部命令来自配置/变量
    lib/bin.js:105
    const result = spawnSync(command, rest, {
  • 写入本地文件
    lib/store.js:32
    await mkdir(dirname(this.path), { recursive: true, mode: DIR_MODE });
  • 读取本地文件
    lib/store.js:38
    text = await readFile(this.path, 'utf8');
  • 读取本地文件
    lib/store.js:46
    const mode = (await stat(this.path)).mode;
  • 执行外部命令来自配置/变量
    lib/auth.js:49
    const child = spawn(command, args, { stdio: 'ignore', detached: true });
  • 读取本地文件
    lib/install.js:98
    text = await readFile(workspaceFile, 'utf8');
  • 写入本地文件
    lib/install.js:143
    await mkdir(dirname(workspaceFile), { recursive: true });
  • 读取本地文件
    lib/install.js:169
    await readFile(join(home, 'codex-oauth.json'), 'utf8');
  • 执行外部命令来自配置/变量
    src/auth.ts:74
    const child = spawn(command, args, { stdio: 'ignore', detached: true })
  • 执行外部命令固定命令
    src/bin.ts:110
    const found = spawnSync('sh', ['-c', 'command -v dsh'], { stdio: 'ignore' })
  • 执行外部命令来自配置/变量
    src/bin.ts:115
    const result = spawnSync(command!, rest, {
  • 读取本地文件
    src/install.ts:110
    text = await readFile(workspaceFile, 'utf8')
  • 写入本地文件
    src/install.ts:150
    await mkdir(dirname(workspaceFile), { recursive: true })
  • 读取本地文件
    src/install.ts:178
    await readFile(join(home, 'codex-oauth.json'), 'utf8')
  • 写入本地文件
    src/store.ts:37
    await mkdir(dirname(this.path), { recursive: true, mode: DIR_MODE })
  • 读取本地文件
    src/store.ts:44
    text = await readFile(this.path, 'utf8')
  • 读取本地文件
    src/store.ts:50
    const mode = (await stat(this.path)).mode
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-timeout@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-commands@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • OAuth接入订阅
  • 调用Codex模型

README

由 DeepSeek 最新模型翻译生成
dsh-codex-oauth 在 DeepSeek Harness 中使用你的 OpenAI Codex 订阅(ChatGPT Plus/Pro)——通过 OAuth 登录,与官方 Codex CLI 及其他 harness 的方式一致。 上游 harness 的多供应商适配器刻意不提供 openai-codex:Codex 走 ChatGPT OAuth 认证,而该适配器没有凭据存储、也没有登录流程(见其 README 的 Known Limitations)。本社区插件以可安装 bundle 的形式补上这两块:文件型 OAuth 凭据存储、/codex login 人类命令,以及注册在公开 LLM 缝上的 codex 供应商路由。 - 基于已发布的缝包(@deepseek-ai/dsh-llm、@deepseek-ai/cordis)构建——无 fork、无核心改动。 - Codex 的 OAuth 流程(浏览器登录 + 本地回调、无头设备的 device-code 登录、凭据锁下的自动刷新)全部由 pi-ai 的官方 provider 实现负责。 - 令牌保存在 $DSH_HOME/codex-oauth.json(0600、目录 0700),CLI 与 harness 插件读取同一份文件。 要求 - 一个 ChatGPT Plus 或 Pro 订阅。
展开完整文档(README 剩余 1 节)
dsh-codex-oauth

在 DeepSeek Harness 中使用你的 OpenAI Codex 订阅(ChatGPT Plus/Pro)——通过 OAuth 登录,与官方 Codex CLI 及其他 harness 的方式一致。

上游 harness 的多供应商适配器刻意不提供 openai-codex:Codex 走 ChatGPT OAuth 认证,而该适配器没有凭据存储、也没有登录流程(见其 README 的 Known Limitations)。本社区插件以可安装 bundle 的形式补上这两块:文件型 OAuth 凭据存储、/codex login 人类命令,以及注册在公开 LLM 缝上的 codex 供应商路由。

- 基于已发布的缝包(@deepseek-ai/dsh-llm、@deepseek-ai/cordis)构建——无 fork、无核心改动。
- Codex 的 OAuth 流程(浏览器登录 + 本地回调、无头设备的 device-code 登录、凭据锁下的自动刷新)全部由 pi-ai 的官方 provider 实现负责。
- 令牌保存在 $DSH_HOME/codex-oauth.json(0600、目录 0700),CLI 与 harness 插件读取同一份文件。

要求

- 一个 ChatGPT Plus 或 Pro 订阅。(OpenAI 平台 API key 不行——订阅额度绑定的是 ChatGPT 账号,不是 API key。)
- 已安装 DeepSeek Harness(npx @deepseek-ai/dsh web 或源码运行)。

安装

一条命令把 bundle 装进 web profile(自动写入一次性的 pnpm 构建授权,并替你执行 dsh plugin add):

npx --yes https://github.com/birat-chapagain/dsh-codex-oauth/releases/download/v0.1.6/dsh-codex-oauth.tgz install

然后重启 dsh web,运行一次 /codex login。

等价的手动方式(都使用预构建产物,无需构建授权):

dsh plugin --profile web add https://github.com/birat-chapagain/dsh-codex-oauth/releases/download/v0.1.6/dsh-codex-oauth.tgz
或从 git 安装(建议锁 commit:github:…/…#):
dsh plugin --profile web add github:birat-chapagain/dsh-codex-oauth

pnpm 11.22+ 会因为任一传递依赖有未批准的构建脚本而报错——pi-ai 的依赖树里有 @google/genai 与 protobufjs 两个(Codex 路径均不使用)。一键安装器只批准这两个包,并修复它们的 set this to true or false 占位符;其他 allowBuilds 值会原样保留,包括显式拒绝。手动安装若以 ERR_PNPM_IGNORED_BUILDS 结束,把这段一次性写进 profile 的 pnpm-workspace.yaml 再重跑:

allowBuilds:
'@google/genai': true
protobufjs: true

(若 pnpm 报错里打印的 key 与上面不同,以打印的为准。)

预期的 peer dependency 警告

pnpm 可能把 @deepseek-ai/cordis、@deepseek-ai/dsh-llm 或 @deepseek-ai/dsh-invariants 报为缺失的 peer。本 bundle 是 Harness 插件:这些包由 Harness 的 host 安装提供,而 profile 有意设置 autoInstallPeers: false。pnpm 只检查 profile 的包依赖图,无法看到 Harness 加载插件时提供的 host 包。

该警告本身不表示安装失败。不要为了消除警告而在 profile 中重复安装 Cordis、LLM 或 invariants 包;重复的 host 包可能产生彼此分离的插件上下文或服务实例。先用 dsh --profile web --dump-config 验证安装,再启动 dsh web;只有任一命令失败,或 pnpm 报告其他缺失包时,才需要调查该警告。

验证组合结果而不启动:

dsh --profile web --dump-config

登录

登录是人类命令,不是模型工具——不会进入 prompt。

Web UI

在聊天输入框输入 /codex login。浏览器会打开 ChatGPT 授权页;完成后命令会报告令牌已保存。用 /codex logout 与 /codex status 管理。Device 登录必须在认证等待期间显示验证码,但人类命令只能返回一次最终结果,因此 /codex login device 会立即提示使用下面的 CLI 命令,而不会启动一个 UI 无法显示验证码的流程。

无头 / CLI

bundle 同时提供一个在 harness 之外运行的 dsh-codex-oauth 命令(headless profile 没有命令面板):

npx dsh-codex-oauth login # 浏览器流程(桌面)
npx dsh-codex-oauth login --method device # device-code 流程(无头)
npx dsh-codex-oauth status
npx dsh-codex-oauth logout

Device 流程会打印一次性验证码与验证网址;在任意设备上完成授权后,CLI 会把令牌写入 harness 读取的同一文件。

使用 Codex

插件注册的路由名为 codex,模型来自 pi-ai 安装的 Codex 目录(gpt-5.x-codex 系列)。在 Web 模型选择器里选 codex / Codex 模型即可;headless profile 则在 profile 的 cordis.patch.yml 里改默认模型:

- id: agent-default-model
config:
provider: codex
model: gpt-5.4

配置

| 字段 | 默认值 | 含义 |
| provider | codex | 适配器注册的供应商路由 id。 |
| storePath | $DSH_HOME/codex-oauth.json | OAuth 凭据存储位置。 |
| transport | sse | Codex Responses 传输方式:sse、websocket、websocket-cached 或 auto。sse 在一次性 headless 运行后可正常退出;websocket/websocket-cached 适合长期交互会话的连接复用,但会让一次性进程保持存活。 |
| cacheRetention | long | pi-ai 提示缓存保留策略:none、short、long。 |
| streamIdleTimeoutMs | 300000 | 等待读取时,供应商流没有事件的最长毫秒数。超时会中止 SDK 流并返回 TIMEOUT LLM 失败。 |

安全说明

- 存储文件以 0600 权限原子写入、目录 0700;POSIX 上拒绝读取组/他人可读的文件。它保存的是你的 ChatGPT OAuth 令牌,请像 API key 一样对待。
- harness 进程及其工具子进程以你的用户身份运行;与上游凭据文档一样,该文件对模型可驱动的工具并非隐藏。不要把模型的工作区指向你的 Harness home。
- 只有登录流程发出的 https 链接才会交给浏览器打开。系统浏览器打开器缺失或失败时会报告错误,不会终止 harness;CLI 仍会打印网址供手动打开。
- 登录流程是 pi-ai 的官方实现(针对 chatgpt.com 的授权码 + device-code);本插件只负责回答它的交互提示并保存结果。

已知限制

- 仅文本。 模型元数据只声明文本输入;图片输入会在任何供应商请求之前以 UNSUPPORTED_CONTENT 拒绝。
- 没有浏览器端 Models 页卡片。 配置走 patch 层;登录用 CLI 或 /codex 命令。
- 无 provider 原生 replay 状态。 历史 assistant 消息按 provider 中立内容重放(正确,但没有签名/缓存复用)。
- 浏览器登录假定有桌面浏览器。 无浏览器的机器在终端运行 dsh-codex-oauth login --method device。
- 同一时间只运行一次浏览器登录。 OAuth 回调使用一个本地端口;开始下一次浏览器流程前先完成当前流程。存储锁另行串行化凭据写入。

开发

npm install
npm test # 构建 lib/ 后运行 vitest(单元 + Loader 组合 + 已构建 bin 冒烟)

组合测试通过 Cordis Loader 启动真实的 dsh-llm 服务与本插件(仅 mock pi-ai SDK);bin 测试在纯 Node 下验证已构建产物。

License

MIT。src/convert.ts 的转换模块改编自 @deepseek-ai/dsh-llm-pi-ai(MIT,© DeepSeek AI)。
预览分享卡片长什么样 ↓birat-chapagain/dsh-codex-oauth
分享 · DeepSeek Harness Hub
birat-chapagain/dsh-codex-oauth

用 ChatGPT 订阅登录,在 dsh 里调用 Codex 模型

这是你的仓库?认领条目

回到顶部