← 返回列表
未验证
DSH 接入官方 OpenAIChatGPT账号调用 GPT-5.6 全攻略
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/22 · 已提供中文文档
在 DeepSeek Harness(DSH)中使用官方 OpenAI Codex / ChatGPT OAuth 认证,包含令牌注入、代理设置和故障排查指南。
综合分
28
GitHub 分
28
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add RefrainDai/dsh-openai-codex-auth该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DSH 接入官方 OpenAI(ChatGPT)账号调用 GPT-5.6 全攻略
在 DeepSeek Harness(DSH) 中, 使用 OpenAI 官方账号(ChatGPT 登录) 直接调用 gpt-5.6-sol / gpt-5.6-luna / gpt-5.5 等订阅模型; 同时给出"中转站 API"作为额度用尽时的后备方案。
背景与问题
- DSH 的"模型提供商"(llm-pi-ai 适配器, 基于 @earendil-works/pi-ai)内置了 openai-codex 提供商: 官方 ChatGPT Plus/Pro OAuth 登录, 请求直达 https://chatgpt.com/backend-api。
- 但 DSH Web GUI 没有为该 OAuth 流程提供登录按钮(授权流程注册在宿主侧, 无 Web 入口), 导致 Provider is not configured: openai-codex。
- 解决方案: 复用 Codex CLI(~/.codex/auth.json)中已有的官方令牌, 直接写入 DSH 凭证库, 绕过 Web 登录。
- 墙内网络还需要解决: pi-ai 的 codex 传输层在 Node 下不读取 HTTPS_PROXY, 必须用 Clash TUN 模式在网络层接管。
方案总览
| 方案 | 认证方式 | 网络要求 | 适用场景 |
|---|---|---|---|
| A. 官方账号 openai-codex | 注入 ~/.codex/auth.json 令牌 | 需 Clash TUN 模式 | 使用 ChatGPT 订阅额度 |
| B. 中转站自定义 provider | API Key + baseURL | 直连, 无需代理 | 订阅额度用尽时的后备 |
快速开始(方案 A: 官方账号)
1. 配置模型提供商
在 $DSH_HOME/settings.yaml(默认 ~/.dsh/settings.yaml)加入:
llm-pi-ai:
providers:
openai-codex: {} # 空配置: 端点/协议/模型全部继承 pi-ai 内置目录, 认证走 OAuth
可选: 在 Web 界面 设置 -> 模型提供商 -> 添加提供商 -> OpenAI Codex 也能生成同样配置。
2. 注入官方令牌
先确保 Codex CLI 已登录(会生成/更新 ~/.codex/auth.json)
codex login
注入到 DSH 凭证库(自动备份, 不打印明文, 可重复执行)
powershell -ExecutionPolicy Bypass -File .\inject-codex-auth.ps1
脚本做的事: 读取 ~/.codex/auth.json 的 access_token / refresh_token / account_id, 解码 JWT exp, 写入 ~/.dsh/.credentials.yaml 的 llm-pi-ai/openai-codex grant 记录:
records:
llm-pi-ai/openai-codex:
kind: grant
payload:
type: oauth
access: eyJ... # 官方 access token(JWT)
refresh: rt.1... # refresh token
expires: 1788198504000
accountId: 3a11ddfd-...
3. 网络前提: 开启 Clash TUN 模式(关键!)
⚠️ HTTPS_PROXY 环境变量对 DSH 的 openai-codex 提供商无效。
原因: pi-ai 的 openai-codex-responses 传输层主路径是 WebSocket(只支持 Bun 的 proxy: 构造选项, Node 忽略), 备用路径是 plain fetch()(无代理 dispatcher); 且本机 Node 24.15 构建不支持 --use-system-proxy / NODE_USE_SYSTEM_PROXY。所以环境变量代理完全不起作用, 必须用 TUN 模式在网络层接管 Node 的直接连接。
操作: Clash Verge 界面 → 设置 → 打开 TUN 模式(需要管理员权限)。TUN 开启后:
- 所有程序(含 Node 的 fetch/WebSocket)自动走 Clash 规则;
- chatgpt.com / auth.openai.com / api.openai.com → 海外节点(用官方 GPT 时必然消耗订阅流量);
- 国内域名(中转站、deepseek 等)按规则 DIRECT, 不消耗订阅流量。
4. 重启 DSH 并选模型
完全退出 DSH 后重启(如 node .../@deepseek-ai/dsh/lib/bin.js web), 在 GUI 模型选择器选:
openai-codex → gpt-5.6-sol(或 gpt-5.6-luna / gpt-5.6-terra / gpt-5.5 / gpt-5.4)。
方案 B: 中转站 API(额度用尽后备)
同一 settings.yaml 中再加一个自定义路由(需中转站支持 OpenAI 兼容协议):
llm-pi-ai:
providers:
openai-codex: {}
relay-gpt: # 路由名随意
displayName: GPT 中转站
api: openai-responses # 或 openai-completions, 按中转站支持选
baseURL: https://your-relay.example/v1
apiKeyEnv: RELAY_GPT_API_KEY
models:
- id: gpt-5.6
name: GPT-5.6
contextWindow: 272000
maxTokens: 128000
API Key 通过 Web 界面输入(存入凭证库)或环境变量 RELAY_GPT_API_KEY 提供。中转站在境内, 直连, 无需 TUN/代理。
目录结构
dsh-openai-codex-auth/
├── README.md # 本文档
├── inject-codex-auth.ps1 # 官方令牌注入脚本(核心)
├── settings.yaml.example # DSH 配置模板(方案 A + B)
├── docs/
│ ├── root-cause.md # 排查全过程与证据链
│ └── troubleshooting.md # 常见错误对照表
└── .gitignore
注意事项
- 令牌有效期取决于 JWT exp(通常约 10 天); 过期后 pi-ai 会用 refresh_token 自动刷新(需网络可达 auth.openai.com)。令牌彻底失效时: 重新 codex login, 再跑一次 inject-codex-auth.ps1。
- 账号套餐决定可用的模型: 免费档可能无法使用部分订阅模型(报套餐/配额错误), 此时改用方案 B。
- .credentials.yaml 含敏感令牌, 请勿提交到任何仓库。扫码进群