前言¶
DeepSeek Harness(DSH)支持通过插件扩展能力。当你在本地使用 DSH 的 Web 界面时,可以通过已安装的 dsh-llm-pi-ai 插件切换到 OpenAI Codex 模型。使用 Codex 订阅(ChatGPT OAuth)时,需要在 ~/.dsh/.credentials.yaml 中保存 grant 凭证。手动管理凭证容易出错,且过期后需要重新登录。dsh-codex-auth 插件在 DSH 设置面板中提供 Codex 订阅授权入口,支持一键浏览器 OAuth 授权与状态查看。
插件定位¶
dsh-codex-auth 是 DeepSeek Harness 客户端插件,由 sunshaobei 维护。它为 DSH Web 界面提供 Codex 订阅授权管理能力,包括设置页中的授权状态显示、有效期倒计时、一键登录与过期提醒。
核心功能¶
- 设置页「Codex 订阅」:显示授权状态徽章(已授权/已过期/未授权)、有效期倒计时、账号邮箱、订阅类型(Plus/Pro)。
- 一键授权:点击后宿主进程运行完整的 OpenAI OAuth 流程(PKCE S256,
localhost:1455回调,与 Codex CLI 同端口)。成功后把 grant 凭证写入~/.dsh/.credentials.yaml的llm-pi-ai/openai-codex记录,模型目录即时刷新。 - 过期自动弹窗:当前会话选中的模型路由到
openai-codex且凭证过期时,弹出重新授权对话框(10 分钟内不再打扰)。 - 状态实时刷新:订阅
credentials/record-updated事件,通过宿主settings.mutate自动提交openai-codex提供商,验证模型数量。已有提供商配置会保留,不会切换当前默认模型。
架构¶
插件采用双面插件设计:
- 宿主面(
src/index.ts→lib/index.js):loopback RPC 通道/dsh-codex-auth(status / login / logout),OAuth 常量与@earendil-works/pi-ai的 openai-codex 适配器一致。 - 客户端面(
src/client.ts→lib/client.js):设置页settings.section(idcodex-subscription,order 25)+ 过期弹窗(shell.overlay);通过ctx.connection.rpc.call与宿主通信。
凭证记录由 llm-pi-ai 的自动 refresh 机制维护(access token 约 10 天过期,refresh 自动续期)。refresh 也失效时,本插件的弹窗接管。
安装与启用¶
安装前应检查源码与许可证。安装步骤如下:
- 在插件目录运行构建:
npm run build
- 进入 DSH 配置目录:
cd ~/.dsh/profiles/desktop
- 修改
package.json,添加依赖与 bundle:
{
"dependencies": {
"dsh-codex-auth": "file:/Users/sunshaobei/.dsh/dsh-codex-auth"
},
"dsh.profile.bundles": [
"dsh-codex-auth"
]
}
- 安装插件(以 symlink 方式):
npm install
- 重启 DeepSeek Harness 客户端生效。
典型用法¶
- 打开 DSH 设置页,进入「Codex 订阅」面板。
- 点击授权按钮,浏览器会打开 OpenAI 登录页面。完成登录后,回调到
localhost:1455,插件保存 grant 凭证到~/.dsh/.credentials.yaml的llm-pi-ai/openai-codex。 - 在设置面板查看授权状态、有效期与订阅类型。
- 当模型路由到
openai-codex且凭证过期时,弹出重新授权对话框。
适用场景与注意¶
- 适合需要在 DSH Web 界面使用 Codex 订阅(ChatGPT OAuth)的开发者与用户。
- 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。
- 当前设置导航不提供自定义图标接口,插件仅对自身导航按钮添加 ChatGPT 图标样式,卸载时清理。图标来自 Simple Icons v14 的 OpenAI 标志(CC0)。
结语¶
dsh-codex-auth 为 DeepSeek Harness Web 界面提供 Codex 订阅授权管理能力,减少手动维护凭证的工作量。完整文档与源码参见:
- 技能目录:https://www.skillhub.cn/plugins/sunshaobei/dsh-codex-auth
- GitHub:https://github.com/sunshaobei/dsh-codex-auth