omp packages

pi-gpt56-switcher0.1.0

A keyboard-first Pi extension for switching GPT-5.6 capability models and thinking levels within the active provider.

yoyooyoooyoooo Published 3 months ago MIT ~228 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

Pi GPT-5.6 Switcher

English | 简体中文

CI License: MIT

一个键盘优先的 Pi 扩展,用于在不离开当前 Provider 的前提下切换 GPT-5.6 能力模型和 Thinking level。

GPT-5.6 Switcher 预览

截图展示的是一个 Provider 配置示例。实际显示的能力行和 Thinking level 由当前 Pi 模型注册表动态决定。

为什么需要它

一个 Provider 可能通过 Luna、Terra、Sol 多个能力模型提供 GPT-5.6,而且每个模型支持的 Thinking level 可能不同。Pi 可以分别切换模型和 Thinking,但反复打开两个选择器不利于快速检查和切换组合。

GPT-5.6 Switcher 将有效组合组织为一个内联三行选择器:

  • 只发现当前 Provider 中的模型;
  • 缺失的能力模型不会显示;
  • 每一行只显示该模型真正支持的 Thinking level;
  • 移动只更新预览,按 Enter 才同时应用模型和 Thinking;
  • 底部对比当前与目标 Profile,目标中发生变化的字段会显示为黄色;如果当前模型不属于 GPT-5.6 能力模型,则显示为 Other,不会伪装成某个能力档位。

环境要求

  • @earendil-works/pi-coding-agent 0.80.10 或更高版本
  • 当前 Provider 至少注册以下一个模型:
    • gpt-5.6-luna
    • gpt-5.6-terra
    • gpt-5.6-sol

本扩展不会注册模型或 Provider,只使用 Pi 模型注册表中已经存在的模型。

安装

从 npm 安装:

pi install npm:pi-gpt56-switcher

也可以直接从 GitHub 安装:

pi install git:github.com/yoyooyooo/gpt56-switcher

重启 Pi,或在已有 TUI 会话中执行 /reload。

本地开发:

git clone https://github.com/yoyooyooo/gpt56-switcher.git
cd gpt56-switcher
bun install
pi -e .

使用

打开选择器:

/g56

也可以不打开选择器,直接应用指定 Profile:

/g56 terra high
/g56 sol max

如果当前 Provider 不具备指定模型或 Thinking level,命令不会修改状态,并会提示该 Profile 不可用。

按键

按键 行为
左 / 右 在当前能力行支持的 Thinking level 之间移动
上 / 下 在已有能力行之间移动,并尽量保持 Thinking;必要时安全收敛到可用档位
Home / End 跳到当前行的第一个或最后一个 Thinking level
1 / 2 / 3 在存在时直达 Luna / Terra / Sol
Enter 先应用目标模型,再应用对应 Thinking level
Escape 取消且不做任何修改

动态发现规则

能力顺序固定为 Luna → Terra → Sol。Thinking 顺序遵循 Pi:

off → minimal → low → medium → high → xhigh → max

对于每个匹配模型,扩展遵循 Pi 的模型元数据语义:

  • reasoning: false 时只提供 off;
  • thinkingLevelMap 中的 null 表示明确不支持该档位;
  • 只有显式映射时才显示 xhigh 和 max;
  • 普通档位缺少映射时沿用 Pi 默认行为。

扩展不会自动切换到其他 Provider。

交互设计

Pi 自定义组件公开的是键盘输入协议,没有公开的鼠标坐标、命中检测或拖拽事件。因此本扩展采用三行键盘交互,不接管终端 mouse tracking,也不启动第二套 renderer。

从用户视角看,选择过程具有事务边界:

  1. 移动只更新预览;
  2. Escape 退出且不修改状态;
  3. Enter 先调用 Pi 的模型切换;
  4. 模型切换成功后再应用 Thinking level;
  5. 最终提示 Pi 的实际 Thinking level,包括异常收敛结果。

隐私与安全

扩展只读取 Pi 在进程内公开的模型元数据,不读取 Provider 凭据文件、不发送遥测,也不会自行发起模型请求。认证、路由和凭据存储仍由 Pi 与当前 Provider 负责。

安全问题报告方式见 SECURITY.md。

开发

bun install
bun test
bun run typecheck

欢迎贡献,具体见 CONTRIBUTING.md。

许可证

MIT