OpenAICodexFast ModeExtension@piex-dev/gpt-fast-mode

gpt-fast-mode — Codex Fast 模式,快而不越界

导语

/gpt-fast 为受支持的 ChatGPT Codex 模型开启 priority service tier,同时严格拦住错误 provider、API、认证和模型。

简介

OpenAI Codex 的 Fast 模式不是 reasoning level,也不是切换模型,而是在请求里设置 service_tier: "priority"。pi 的 openai-codex-responses 已能发送这个字段,但没有内置 Fast 控制面。@piex-dev/gpt-fast-mode 补上 /gpt-fast on|off|status--fast,使用具体命令名避免占用过于宽泛的 /fast

额度影响

Fast 模式通常响应更快,但会更快消耗订阅额度。扩展只改变 service tier,不改变模型、reasoning level、工具或提示词。

技术原理

扩展监听 before_provider_request,在请求发送前复制 payload 并追加 service_tier: "priority"。注入必须依次通过六层门禁:provider 为 openai-codex、API 为 openai-codex-responses、模型位于显式 allowlist、使用 ChatGPT OAuth、payload 模型与当前模型一致、payload 尚未包含 service_tier

支持明确拒绝
gpt-5.4gpt-5.5gpt-5.6-solgpt-5.6-terragpt-5.6-lunagpt-6-astragpt-5.4-minigpt-5.3-codex-spark

不支持的模型不会被猜测式兼容。开关可保持 on,但请求不修改;切换到支持模型后自动生效。

使用说明

安装

bash
pi install npm:@piex-dev/gpt-fast-mode

仓库源码:extensions/gpt-fast-mode

命令

pi
/gpt-fast             切换 Fast 模式
/gpt-fast on          当前会话开启
/gpt-fast off         当前会话关闭
/gpt-fast status      查看开关、当前模型可用性与最近请求结果

pi --fast         启动时开启

状态栏出现 fast 表示开关已开启、当前模型可用,且本扩展的请求 hook 观测到的 payload 没有 tier 冲突。若其他组件此前已经设置非 priorityservice_tier,扩展会保留原值并清除状态。加载顺序更靠后的扩展仍可修改最终 payload,因此 /gpt-fast status 报告的是本扩展的注入或观测结果,不代表服务端确认。OAuth 会在每轮和每次请求前重新检查。

验证

bash
bun test extensions/gpt-fast-mode/test/gpt-fast-mode.test.ts
pi -e ./extensions/gpt-fast-mode/src/gpt-fast-mode.ts --fast -p "say hi" --no-session

实现方案

单文件 src/gpt-fast-mode.ts 维护会话内 enabled 状态;session_start 读取 --fastmodel_select 重算状态栏,before_provider_request 执行门禁与 payload 复制。

flow
/gpt-fast / --fast ──► enabled
                      ├─► model_select ──► status: fast / clear
                      └─► before_provider_request
                              └─► six gates ──► service_tier: priority

扩展不注册平行 provider,复用 pi 内置 Codex 的 OAuth 刷新、模型目录和传输;不读取 token、不发网络请求、不写文件、无运行时依赖。更早执行的 payload hook 已有 service_tier 时不覆盖;非 priority 的 tier 会清除状态,并由 /gpt-fast status 报告。公开 API 无法观测后续 hook 的最终改写,因此状态文案不会声称最终请求一定使用 priority

本地成本估算

公开的 before_provider_request 只能替换序列化后的 payload,不能设置 provider 内部独立的 serviceTier 请求选项。Fast 请求仍会发往 Codex,但当响应 tier 报告为 default 或不返回时,pi 本地 session cost/telemetry 可能仍按标准 tier 估算,订阅额度以后端结果为准。仅为修正估算而覆盖整个 provider 会破坏扩展组合,因此本包不采用该方案。

设计参考

项目采纳未采纳
@diegopetrucci/pi-openai-fastprovider/API/OAuth 门禁,已有 tier 不覆盖项目和全局配置
@benvargas/pi-openai-faston/off/status 语义、--fast、allowlist/fast 命令名、API-key OpenAI 与文件持久化
@tunnckocore/pi-gpt-fast-mode单文件、无依赖错误的 Codex mini 支持项与快捷键
pi-openai-codex-fastpriority service tier平行 provider 与版本耦合

核心取舍是安全的窄功能优于通用配置层。Fast 只是请求属性,不值得复制 provider;显式 allowlist 比 gpt-* 模糊匹配可靠。

迭代记录

路线图

  • 上游提供稳定 capability 字段后,从模型 catalog 自动生成 allowlist。
  • 有真实需求后再增加 PieX 标准目录下的默认开关配置,不默认写文件。
  • 可与 @piex-dev/usage 展示额度影响,但保持两个包解耦。

版本记录

版本日期变更
0.1.02026-08-26/gpt-fast on|off|status--fast、状态栏与请求冲突指示;仅对 ChatGPT OAuth 的受支持 Codex 模型注入 priority;六层 fail-closed 门禁;15 项单测