Vlad1108/dsh-codex-workbench:把 ChatGPT 登录和订阅配额搬进 DSH Web

前言

DSH 的插件体系里,模型调用通常走 DSH 自己配置的 provider。如果团队或个人已经在用 OpenAI 的 Codex 订阅,多一套账号、多一处配额查询入口,是很实际的负担:登录状态散在浏览器里,额度用完也不知道什么时候恢复。下面介绍的插件把 ChatGPT 登录、订阅配额显示和搜索能力接进 DSH Web,目标是让每个用户用自己的账号,在统一的界面里完成模型选择和配额确认。

这是什么

dsh-codex-workbench 是一个面向 DeepSeek Harness Web 界面的插件(DSH bundle),由 Vlad1108 维护,分类属于「模型推理」。它处理三件事:

  1. 在 DSH Web 里完成 ChatGPT 登录(openai-codex provider 的 OAuth 流程)。
  2. 在对话窗口旁边显示当前 Codex 订阅的五小时 / 周配额、剩余额度和刷新时间。
  3. 注册并选用 openai-codex 作为 web_search 的 provider,用 Codex 做联网搜索。

插件复用 DSH 0.2.1-rc.5 已有的 openai-codex provider,不在通信两侧再造一套模型接入,登录凭据仍保存在 DSH 的凭据存储中,不会下发到浏览器。

核心功能

1、ChatGPT 登录

插件没有自己实现登录页,而是沿用 DSH 的 openai-codex provider:在 Settings → Models 里添加该 provider 后选 Sign in with ChatGPT,在弹开的浏览器里完成登录,再应用 provider 设置。每个用户用自己的账号登录,不做共享凭据。

2、配额显示与手动刷新

登录后,编辑器(composer)会在当前使用的 Codex 模型旁边显示剩余五小时配额;如果账号没有五小时窗口,则显示周配额。把鼠标悬停或点按该卡片,可以看到可用窗口和重置时间,点击本身也会刷新数值。

3、手动重置 saved resets

当 OpenAI 报告账号里存在 saved resets 时,配额卡片会显示还剩几个。确认重置会请求 OpenAI 消耗一个 saved reset,并恢复符合条件的五小时与周配额,对应的恢复时间也可能变化。如果这次请求的响应丢失,应在使用另一个 saved reset 之前,先从卡片重试同一个请求。可用性和资格由 OpenAI 决定,插件只是转发操作。

4、用 Codex 做 Web 搜索

插件注册并选用 openai-codex 作为搜索 provider,同时把页面抓取方式选为 http。登录完成后,只要给 agent 启用了 web_search 工具,就会走 Codex 搜索。该选择对整个 profile 生效,即使当前活动的是其他模型也一样;取消安装插件会移除这套选择。

路由优先级上有两条规则需要注意:

  1. profile 里或用户主目录 cordis.patch.yml 中已有的 web 条目优先级高于 bundle,后续安装的 bundle 也可能覆盖它。
  2. 想改用其他 provider,要在同一个 web 条目里同时设置 searchProvider 和 fetchProvider,DSH 会整段替换该条目的配置。

5、搜索相关的可配置项

bundle 的配置提供以下字段:

  • searchModel:搜索使用的模型。
  • searchMode:取值为 cached、indexed 或 live。
  • searchContextSize:上下文体量。
  • searchMaxOutputTokens:搜索输出 token 上限。
  • quotaTimeoutMs:配额查询超时。

安装与启用

插件目前版本为 0.1.6,目标版本是 DSH 0.2.1-rc.5 的 Web 界面。安装命令取自 README:

dsh plugin --profile web add dsh-codex-workbench

也可以直接从 GitHub 安装:

dsh plugin --profile web add github:Vlad1108/dsh-codex-workbench

安装后需要重启 DSH Web,然后按下面的步骤启用 provider:

  1. 打开 Settings → Models,添加 openai-codex provider。
  2. 选择 Sign in with ChatGPT,在浏览器里完成登录。
  3. 应用 provider 设置。模型选择器使用 DSH 提供的模型目录。

如果目录里缺少需要的模型,可以通过 DSH 的模型设置自行添加。

隐私、兼容性与边界

README 明确了三条边界:

  • 凭据只留在 DSH 的凭据存储中,不会发到浏览器;登录、模型请求、配额查询和搜索都走 OpenAI 端点。
  • 配额与搜索依赖的端点可能独立于本插件变更。
  • 插件不添加任何遥测。

许可证为 MIT,包内提取出来的 DSH 代码保留原有许可证。需要注意两点运行约束:

  1. 同一份 profile 里只应存在一个 Codex 集成,若另一个插件注册了同一个搜索 provider,会冲突。
  2. 插件以当前 dsh 进程权限运行,安装前应自行检查源码与许可证,只从信任的来源加插件。

开发与验证

仓库提供了完整的构建与测试命令;lib/ 目录已随包发布,因此 DSH 从 GitHub 安装时无需构建步骤:

pnpm install --ignore-workspace
node build.mjs
node node_modules/typescript/bin/tsc --noEmit
node node_modules/vitest/vitest.mjs run --config vitest.config.ts

适用范围

适合下面几类情况:

  1. 已经在用 OpenAI Codex 订阅、希望直接在 DSH Web 里按账号登录的开发者。
  2. 需要清楚知道五小时窗口和周配额什么时候重置的人。
  3. 希望 agent 的 web_search 走 Codex 搜索链路,而不是另配一套搜索 provider 的团队。

如果只想用 DSH 原生 provider、或者已有自建搜索路由(即 profile 或用户主目录里的 web 条目),插件的自动选中会被现有配置覆盖,此时需要手动同时设置 searchProvider 与 fetchProvider。

小结

dsh-codex-workbench 的价值集中在一处:把 ChatGPT 登录、订阅配额展示和 Codex 搜索统一收进 DSH Web 的现有 provider 体系,减少账号和配额管理的切换成本。它依赖 DSH 0.2.1-rc.5 的 openai-codex provider,适用面明确,同时需要留意搜索路由优先级和同 profile 内单实例的约束。

目录页:https://www.skillhub.cn/plugins/Vlad1108/dsh-codex-workbench
仓库:https://github.com/Vlad1108/dsh-codex-workbench

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜