# @raoxxxwq/pi-codex-fast

面向 [Pi](https://pi.dev) 的 Fast Mode 扩展。它为配置命中的 OpenAI Responses / Codex Responses 请求设置 `serviceTier: "priority"`，并提供 `/fast` 命令与状态指示。

> 本项目是 [`wobondar/pi-codex-fast`](https://github.com/wobondar/pi-codex-fast) 的公开 fork；npm package name 使用独立 scope，避免与上游包混淆。

## 特性

- 使用 `/fast` 命令启用、停用、切换或查看 Fast Mode。
- 通过 provider 与 model 白名单精确控制 Fast Mode 的适用范围。
- 支持 `openai`、`openai-codex` 和 `openai-responses` provider。
- model 白名单同时支持 `provider/model` 与 bare model id。
- 提供 `static`、`rainbow` 和 `glow` 三种状态栏样式。
- 未命中配置的请求沿用 Pi 原有 streamer，不改变请求行为。

> `priority` service tier 的可用性和计费由 provider 决定。启用前请确认账号权限与当前价格。

## 环境要求

- Node.js `>=24`
- Bun（仅开发时的 `check:import` 与 release gate 需要；消费者运行扩展无需安装）
- 支持 Pi packages 的 Pi 版本

> 本项目当前使用 `@earendil-works/pi-* 0.82.1` 与 Bun `1.3.14` 作为开发和发布验证基线；`peerDependencies` 由 Pi host 提供。

## 安装

安装 npm package：

```bash
pi install npm:@raoxxxwq/pi-codex-fast
```

临时试用固定版本，不写入 settings：

```bash
pi -e npm:@raoxxxwq/pi-codex-fast@1.1.1
```

从本地 checkout 安装：

```bash
pi install ./path/to/pi-codex-fast
```

如果 Pi 已在运行，安装后执行 `/reload`。

> 上游 `npm:pi-codex-fast` 与本包都会注册 `/fast` 命令。请只启用其中一个，避免命令和 provider wrapper 重复注册。

## 命令

| 命令           | 作用                                    |
| -------------- | --------------------------------------- |
| `/fast`        | 切换 Fast Mode                          |
| `/fast on`     | 启用 Fast Mode                          |
| `/fast off`    | 停用 Fast Mode                          |
| `/fast toggle` | 切换 Fast Mode                          |
| `/fast status` | 显示当前状态与匹配范围                  |
| `/fast style`  | 在 `static`、`rainbow`、`glow` 之间循环 |

## 配置

首次加载时会创建：

```text
~/.pi/agent/extensions/pi-codex-fast.json
```

配置文件名保留 `pi-codex-fast`，用于兼容既有本地配置；它与 scoped npm package name 不同。

默认配置：

```json
{
  "enabled": false,
  "models": [
    "openai/gpt-5.4",
    "openai/gpt-5.5",
    "openai-codex/gpt-5.4",
    "openai-codex/gpt-5.5",
    "openai-responses/gpt-5.4",
    "openai-responses/gpt-5.5"
  ],
  "providers": ["openai", "openai-codex", "openai-responses"]
}
```

`models` 也可以使用 bare model id；`style` 省略时默认为 `static`：

```json
{
  "enabled": true,
  "models": ["gpt-5.5", "gpt-5.6-sol"],
  "providers": ["openai", "openai-codex", "openai-responses"],
  "style": "glow"
}
```

只有同时满足以下条件的请求才会使用 Fast Mode：

1. `enabled` 为 `true`；
2. 当前 provider 位于 `providers`；
3. 当前 `provider/model` 或 bare model id 位于 `models`。

## 开发

```bash
git clone https://github.com/MuJianxuan/pi-codex-fast.git
cd pi-codex-fast
npm install
npm run verify
```

`npm run verify` 会依次运行：

1. format check；
2. lint；
3. TypeScript typecheck；
4. Vitest；
5. extension import smoke test；
6. Pi isolated-load smoke test；
7. npm tarball dry-run。

也可以单独运行：

```bash
npm test
npm run test:watch
npm run test:pi
npm run pack:check
```

## 发布

发布前检查步骤记录在 [`.docs/release-checklist.md`](.docs/release-checklist.md)。仓库不会通过脚本自动执行 Git commit、tag、push 或 `npm publish`。

## License

[MIT](LICENSE)。保留上游作者的版权声明，并记录本 fork 的修改版权。
