前言¶
DSH 的插件体系里,模型调用通常走 DSH 自己配置的 provider。如果团队或个人已经在用 OpenAI 的 Codex 订阅,多一套账号、多一处配额查询入口,是很实际的负担:登录状态散在浏览器里,额度用完也不知道什么时候恢复。下面介绍的插件把 ChatGPT 登录、订阅配额显示和搜索能力接进 DSH Web,目标是让每个用户用自己的账号,在统一的界面里完成模型选择和配额确认。
这是什么¶
dsh-codex-workbench 是一个面向 DeepSeek Harness Web 界面的插件(DSH bundle),由 Vlad1108 维护,分类属于「模型推理」。它处理三件事:
- 在 DSH Web 里完成 ChatGPT 登录(
openai-codexprovider 的 OAuth 流程)。 - 在对话窗口旁边显示当前 Codex 订阅的五小时 / 周配额、剩余额度和刷新时间。
- 注册并选用
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 生效,即使当前活动的是其他模型也一样;取消安装插件会移除这套选择。
路由优先级上有两条规则需要注意:
- profile 里或用户主目录
cordis.patch.yml中已有的web条目优先级高于 bundle,后续安装的 bundle 也可能覆盖它。 - 想改用其他 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:
- 打开 Settings → Models,添加
openai-codexprovider。 - 选择 Sign in with ChatGPT,在浏览器里完成登录。
- 应用 provider 设置。模型选择器使用 DSH 提供的模型目录。
如果目录里缺少需要的模型,可以通过 DSH 的模型设置自行添加。
隐私、兼容性与边界¶
README 明确了三条边界:
- 凭据只留在 DSH 的凭据存储中,不会发到浏览器;登录、模型请求、配额查询和搜索都走 OpenAI 端点。
- 配额与搜索依赖的端点可能独立于本插件变更。
- 插件不添加任何遥测。
许可证为 MIT,包内提取出来的 DSH 代码保留原有许可证。需要注意两点运行约束:
- 同一份 profile 里只应存在一个 Codex 集成,若另一个插件注册了同一个搜索 provider,会冲突。
- 插件以当前 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
适用范围¶
适合下面几类情况:
- 已经在用 OpenAI Codex 订阅、希望直接在 DSH Web 里按账号登录的开发者。
- 需要清楚知道五小时窗口和周配额什么时候重置的人。
- 希望 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