model-thinking

Per-model thinking-level memory for pi: remember the level you last used on each model and restore it when you switch models (Ctrl+P, /model, selector, session restore).

Packages

Package details

extension

Install model-thinking from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:model-thinking
Package
model-thinking
Version
0.3.0
Published
Sep 28, 2026
Downloads
174/mo · 5/wk
Author
zbsdsg
License
MIT
Types
extension
Size
13.8 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

model-thinking

pi 扩展:为每个模型记住「上次实际使用的思考等级」,切换模型时自动恢复。

功能

  • 自动记忆:每轮结束后,把「当前模型 → 实际生效的思考等级」写回映射,无需手动维护
  • 切换即恢复:任何方式切换模型(Ctrl+P 循环、/model、模型选择器、会话恢复)都会恢复该模型上次用的等级
  • 启动时恢复:新开会话 / 恢复 / 重载时,按当前模型的记忆值应用
  • 未记录过的模型不干预,思考等级跟随当前会话
  • 映射持久化在 ~/.pi/agent/model-thinking.json,首次加载自动创建
  • pi.setThinkingLevel 会自动 clamp 到模型能力(例如只支持到 high 的模型不会被设成 max)

与 0.2 的区别

0.2 的行为是 pinned(钉住),0.3 改成了 memory(记忆):

0.2 pinned 0.3 memory
映射何时更新 只有 /model-map 手动设置时 每轮结束自动跟随实际生效的等级
会话里改等级 下次切换时被映射里的固定值覆盖 被记住,切回来还是它
删除映射 会被默认映射“复活” 同上(首次默认映射仍只在文件不存在时写入)

升级无需迁移:model-thinking.json 结构不变,已有条目直接作为各模型的初始记忆。

命令

/model-map                                交互式主菜单:添加 / 删除 / 修改(支持 Tab 参数补全)
/model-map set <provider/model> <level>   直接设置并立即应用,如 /model-map set xai/grok-4.6 high
/model-map remove <provider/model>        删除该模型的记忆
/model-map clear                          清空全部

思考等级:off / minimal / low / medium / high / xhigh / max

注:手动 /model-map set 写入的值会立即应用;之后它同样是“该模型当前的等级”,会被自动跟随。 若要彻底停止某模型的自动恢复,用 /model-map remove。

配置文件

~/.pi/agent/model-thinking.json,内容会被扩展自动更新,也可以直接编辑:

{
  "opencode-go/deepseek-v4-flash": "max",
  "xai/grok-4.6": "high"
}
  • 键是 provider/modelId
  • 记忆在每轮结束时同步:实际等级与文件不一致就写回
  • 文件不存在时,首次加载会写入上面的默认映射;文件一旦存在就完全以文件为准

安装

pi install npm:model-thinking

或手动加入 ~/.pi/agent/settings.json 的 packages 字段后重启 pi。

卸载

pi remove npm:model-thinking