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

Codex 账户切换 ZChenW/dsh-codex-switch

DeepSeek Harnessv0.1.0-alpha.8
ZChenW69 天前有提交已提供中文文档扫描:含敏感能力

管理多个 ChatGPT 账户并切换 Codex 模型

29.3/100
综合分
2
GitHub 星标
232
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-codex-switch
npm 源 · dsh-codex-switch 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · chat
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 69 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 21:36:02

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 52 处,展示前 25 条)
  • 发起网络请求
    lib/client.js:212
    const response = await fetch(path, {
  • 执行外部命令来自配置/变量
    lib/bin.js:24
    const child = spawn(command.file, command.args, {
  • 读取本地文件
    lib/src-CiUpiQRu.js:271
    mode = (await stat(filename)).mode;
  • 读取本地文件
    lib/src-CiUpiQRu.js:357
    text = await readFile(this.filename, "utf8");
  • 读取本地文件
    lib/src-CiUpiQRu.js:370
    const document = parseDocument(await readFile(this.filename, "utf8"), this.filename);
  • 写入本地文件
    lib/src-CiUpiQRu.js:394
    await mkdir(dirname(this.filename), {
  • 写入本地文件
    lib/src-CiUpiQRu.js:417
    await mkdir(dirname(this.filename), {
  • 删除本地文件
    lib/src-CiUpiQRu.js:421
    await withFileLock(this.filename, () => rm(this.filename, { force: true }));
  • 发起网络请求
    lib/src-CiUpiQRu.js:566
    const response = await fetch(`${OPENAI_TOKEN_ISSUER}/.well-known/jwks.json`, {
  • 读取本地文件
    lib/src-CiUpiQRu.js:694
    const text = readFileSync(profileFile, "utf8");
  • 读取本地文件
    lib/src-CiUpiQRu.js:1050
    await stat(join(this.repository.backupsDirectory, source.backup));
  • 读取本地文件
    lib/src-CiUpiQRu.js:1056
    await stat(join(this.dshHome, source.source));
  • 写入本地文件
    lib/src-CiUpiQRu.js:1066
    await rename(join(this.repository.backupsDirectory, source.backup), join(this.dshHome, source.source));
  • 删除本地文件
    lib/src-CiUpiQRu.js:1088
    await rm(join(this.repository.backupsDirectory, source.backup));
  • 删除本地文件
    lib/src-CiUpiQRu.js:1107
    await rm(join(this.repository.backupsDirectory, source.backup));
  • 写入本地文件
    lib/src-CiUpiQRu.js:1332
    await mkdir(this.repository.root, {
  • 写入本地文件
    lib/src-CiUpiQRu.js:1336
    await mkdir(this.repository.operationLocksDirectory, {
  • 写入本地文件
    lib/src-CiUpiQRu.js:1360
    await rename(join(this.repository.stagingDirectory, "accounts.json"), this.repository.manifestFile);
  • 删除本地文件
    lib/src-CiUpiQRu.js:1363
    await rm(this.repository.stagingDirectory, {
  • 删除本地文件
    lib/src-CiUpiQRu.js:1367
    await rm(this.repository.migrationJournalFile, { force: true });
  • 删除本地文件
    lib/src-CiUpiQRu.js:1451
    if (!accountIds.has(id)) await rm(join(this.repository.credentialsDirectory, filename), { force: true });
  • 发起网络请求
    lib/src-CiUpiQRu.js:2172
    const response = await fetch(OPENAI_CODEX_USAGE_URL, {
  • 发起网络请求
    lib/src-CiUpiQRu.js:2207
    const response = await fetch(OPENAI_CODEX_RESET_CREDITS_URL, {
  • 发起网络请求
    lib/src-CiUpiQRu.js:2242
    const response = await fetch(OPENAI_CODEX_RESET_CONSUME_URL, {
  • 发起网络请求
    lib/src-CiUpiQRu.js:3943
    response = await fetch(OPENAI_CODEX_SEARCH_URL, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-attachment@deepseek-ai/dsh-attachment-local@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 多账号切换
  • Codex模型接入

ChatGPT OAuth、多账号切换,以及给 DeepSeek Harness 用的 Codex 模型。

dsh-codex-switch-v0.1.0-alpha.72026-08-27预发布
· Codex Switch 0.1.0-alpha.7 配额窗口生命周期与显式 Warm up 合并发布的一个 Alpha 版本。 · 变更内容 · 把剩余容量与重置生命周期分开。 · 零使用的 5 小时窗口显示「首次使用后开始」,不再显示无意义的滚动倒计时。 · 每周重置锚点保持稳定并独立推进,包括显示容量四舍五入到 100% 时。 · 新增显式、需确认、限定账号的 Warm up 操作。它会发现该账号已授权的 Codex 模型,为核心池和每个符合条件的未激活附加 Codex 池各发一条最小请求。 · 刷新、登录、选择账号、自动切换或轮询期间绝不运行 Warm up。 · 新增过期凭据防护、按代去重、有界超时、浏览器通信不变量,以及保守的五分钟激活证明。 · 新增固定的重置规则研究,以及更新后的英文和中文文档。 · 安装 dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.7 安装或升级后刷新现有 Web 页面。 · 兼容性与迁移 · Node.js:^22.19.0 || >=24.0.0。 · DeepSeek Harness 开发基线:0.1.0-rc.6;当前兼容 rc.5 的公开插件接口仍受支持。 · 复用现有 Codex Switch 账号数据;不做凭据迁移,也不自动 warmup。 · 安全与隐私 · 凭据保留在插件自有的存储中,绝不返回浏览器。 · Warm up 会消耗配额,始终需要显式确认。 · 最小 warmup 请求不使用工具或系统提示词,Codex 传输保持 store: false。 · npm 发布使用 GitHub Actions OIDC Trusted Publishing;不添加长期有效的 npm token。 · 上游署名 Codex Switch 由 CHAKEW 维护,并在 Apache-2.0 下保留 Frank Song 和 Yan-Zero 的上游工作。见 NOTICE 和 MODIFICATIONS.md。 · 已知 Alpha 限制 · OpenAI 控制账号资格、模型、配额和私有后端响应语义。 · OpenAI 未公开保证首次使用即激活;生命周期和五分钟 Warm up 证明是基于观测响应与固定操作参考的保守客户端行为。 · 仅服务商接受并不证明配额窗口已激活。
dsh-codex-switch-v0.1.0-alpha.62026-08-26预发布
· 安装 dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.6 · 亮点 · 显示服务商声明的 Codex 5 小时与每周配额窗口,标签由数据驱动。 · 显示分钟级相对重置倒计时、精确到小时以内的窗口、4px 配额条、耗尽状态,并支持减少动态效果。 · 加固自动账号可用性,覆盖混合重置元数据、预存重置、并发用量读取、凭证续期和格式错误的重置时间戳。 · 统一使用规范术语:当前账号、可用账号、账号顺序。 · 兼容性 · 兼容 DeepSeek Harness 0.1.0-rc.5/rc.6 的 API。 · Node.js ^22.19.0 或 >=24.0.0。 · search 和 view_image 默认仍禁用。 · 迁移与安全 · 保留现有 Codex Switch 账号存储。旧版 Codex Connect 迁移仍为独占所有者模式,并支持回滚。 · 凭证仍存放在插件自有的 DSH home 仓库中,绝不进入浏览器响应。 · 无效或过期的配额响应不会再重新激活或耗尽错误的凭证代次。 · Alpha 已知限制 · 模型、订阅资格、配额窗口和重置可用性仍由 OpenAI 控制。 · ChatGPT 订阅访问权限不是 OpenAI API key。 · 归属 Codex Switch 源自 Frank Song 的 dsh-codex-connect,其中包含源自 Yan-Zero/dsh-codex 的工作。详见 NOTICE 和 MODIFICATIONS.md。
dsh-codex-switch-v0.1.0-alpha.52026-08-24预发布
· 亮点 · 为结果不确定的 banked reset 兑换增加「重试」操作,复用原来的 redeemRequestId,避免二次消耗的风险。 · 关闭再打开抽屉时,保留不确定兑换的幂等键,直到服务商返回确定结果。 · 面向浏览器的服务商错误改用文档规定的 Banked reset 术语。 · 账户用量命令行字段从含义模糊的 resets=N 改名为 banked-resets=N。 · 补充回归测试,覆盖直接重试、关闭再打开后重试、浏览器错误措辞和命令行输出。 · 安装或更新 dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.5 · 已安装时用 dsh plugin --profile web update dsh-codex-switch@0.1.0-alpha.5 需要 Node.js ^22.19.0 || >=24.0.0 和兼容的 DeepSeek Harness 配置档。 · 迁移 无需迁移配置或凭据。0.1.0-alpha.4 用户请尽快更新;这个热修复防止兑换响应丢失后用新的幂等键重试。 · 安全与正确性 即使服务商已接受兑换,网络故障也可能让兑换结果不确定。Alpha.5 在直接重试和关闭再打开抽屉后都保留原 UUID,让服务商返回幂等的先前结果,而不是再消耗一次 banked reset。 · 来源说明 Codex Switch 源自 dsh-codex-connect,后者包含源自 dsh-codex 的工作。详见 NOTICE 和 MODIFICATIONS.md。 · Alpha 已知限制 · Banked reset 是 OpenAI 控制的推广资源。 · Reset 兑换不可逆;以服务商状态为准。 · 这仍是预发布版,为保证安装可复现,请锁定确切版本。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
Codex Switch npm version 为 DeepSeek Harness 提供基于 ChatGPT 订阅的 Codex 多账户管理。 功能 - 通过 OAuth 连接 ChatGPT 账户。 - 显示每个账户的 5 小时与每周额度,以及每个已开始计时的窗口的重置时间。 - 当 OpenAI 发放存量重置卡时,可直接在账户卡片中兑换使用。 - 可按需预热账户,启动尚未开始计时的窗口。 - 支持手动或自动切换账户。 - 将 Codex 模型加入 Harness 模型选择器。 - 可选启用 Codex 搜索与 view_image。 安装 dsh plugin --profile web add dsh-codex-switch@alpha dsh web pnpm 9 请使用: dsh plugin --profile web add -w --config.auto-install-peers=false dsh-codex-switch@alpha 设置 1. 打开 设置 → 插件 → 插件配置 → Codex Switch。 2. 选择 使用 ChatGPT 登录,添加账户。 3. 选择 手动 或 自动,然后选择 Codex 模型。 | 模式 | 行为 | | 手动 | 由你选择当前账户。
展开完整文档(README 剩余 1 节)
Codex Switch

npm version

为 DeepSeek Harness 提供基于 ChatGPT 订阅的 Codex 多账户管理。

功能

- 通过 OAuth 连接 ChatGPT 账户。
- 显示每个账户的 5 小时与每周额度,以及每个已开始计时的窗口的重置时间。
- 当 OpenAI 发放存量重置卡时,可直接在账户卡片中兑换使用。
- 可按需预热账户,启动尚未开始计时的窗口。
- 支持手动或自动切换账户。
- 将 Codex 模型加入 Harness 模型选择器。
- 可选启用 Codex 搜索与 view_image。

安装

dsh plugin --profile web add dsh-codex-switch@alpha
dsh web

pnpm 9 请使用:

dsh plugin --profile web add -w --config.auto-install-peers=false dsh-codex-switch@alpha

设置

1. 打开 设置 → 插件 → 插件配置 → Codex Switch。
2. 选择 使用 ChatGPT 登录,添加账户。
3. 选择 手动 或 自动,然后选择 Codex 模型。

| 模式 | 行为 |
| 手动 | 由你选择当前账户。 |
| 自动 | Codex Switch 按账户顺序使用可用账户。 |

搜索与 view_image 默认关闭。Codex Switch 不会修改默认模型或全局搜索提供方。

额度窗口

Codex Switch 会把“剩余额度”和“重置生命周期”作为两类独立事实处理。零用量的 5 小时窗口显示 首次使用后开始计时,而不是没有意义的倒计时;每周窗口独立判断,即使 5 小时窗口空闲或视觉上为满额,已知且稳定的每周重置仍会继续倒计时。随观察时间移动的满窗口投影不会被当作重置锚点。若 OpenAI 报告了用量却没有可用的重置时间,卡片会显示 重置时间暂不可用。

预热额度 会先读取该账户已授权的 Codex 模型列表,再为仍需激活的主额度池和每个仍可用的附加模型额度池各发送一次最小请求。由于会消耗少量该账户的额度,它需要你确认,并且绝不会自动触发——刷新、登录、自动切换和后台轮询都不会触发。请求被接受并不等于激活已被证明:Codex Switch 会重新读取用量,并在相关窗口尚未出现正用量且反推运行至少 5 分钟前继续允许你显式重试。

命令

dsh plugin --profile web exec dsh-codex-switch status
dsh plugin --profile web exec dsh-codex-switch doctor
dsh plugin --profile web exec dsh-codex-switch accounts list

凭据存储于 $DSH_HOME/openai-codex/credentials/。移除插件不会删除凭据;请使用 登出 删除账户。

ChatGPT 订阅权限不是 OpenAI API Key。可用模型和额度由 OpenAI 控制。

开发

pnpm install --frozen-lockfile
pnpm run check

许可证

Apache-2.0。Codex Switch 由 CHAKEW 维护,并保留 Frank Song 与 Yan-Zero 的上游作品。第三方声明和修改记录见 NOTICE 与 MODIFICATIONS.md。
预览分享卡片长什么样 ↓ZChenW/dsh-codex-switch
分享 · DeepSeek Harness Hub
ZChenW/dsh-codex-switch

管理多个 ChatGPT 账户并切换 Codex 模型

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部