@aiti-ai/pi-models-respect
v0.1.2
Published
Keep your model list tidy: for providers with an explicit models list in models.json, only those models stay visible. A pi package.
Maintainers
Readme
pi-models-respect
一个让模型列表保持整洁的 pi 包。
对于你在 models.json 里显式配置了 models 列表的 provider,只有你配置的
模型保持可见——内置 catalog 里那一大堆模型(比如 openrouter 的全量目录)
会安静地退到一边。
不会删除任何东西:provider 定义、模型定义、凭据都原样保留。本包只影响 pi 的模型视图中显示哪些模型。
🇬🇧 English version: README.md
为什么需要它
pi 的 models.json 是追加式语义:内置 provider 保留完整 catalog,你显式配置
的 models 条目在其上合并。所以像 openrouter 这类 provider,即使你只配置了
几个模型,也会显示 300 多个内置模型。单靠 models.json 无法缩减这个列表。
这个包在不改变 pi 解析 provider 方式的前提下补上了这个缺口。
安装
pi install npm:@aiti-ai/pi-models-respect或者直接指向本仓库:
pi install git:github.com/aiti-ai/pi-models-respect工作原理
扩展包住了 ModelRuntime 和 ModelRegistry 上的模型查询入口
(getModels、getAvailable、getAvailableSnapshot、getAll、find)。
对于每个在 ~/.pi/agent/models.json 里显式配置了 models 列表的 provider,
只有这些显式配置的模型 id 保持可见。没有显式 models 列表的 provider
(比如依赖内置 catalog 的 sensenova)完全不受影响。
白名单 100% 从 models.json 生成(按文件 mtime 自动重读)。用你的模型向导
增删模型后,下一次查询即反映——无需改扩展、无需重启。
示例
~/.pi/agent/models.json 里这样配置:
{
"providers": {
"openrouter": {
"baseUrl": "https://openrouter.ai/api/v1",
"api": "openai-completions",
"models": [
{ "id": "z-ai/glm-5.2:free" },
{ "id": "openai/gpt-oss-20b:free" }
]
}
}
}openrouter 下只有 z-ai/glm-5.2:free 和 openai/gpt-oss-20b:free 保持可见——
其余内置 catalog 从模型选择、modelRegistry.getAll()、modelRegistry.getAvailable()
和 modelRegistry.find() 中隐藏。
配置
没有独立配置文件。白名单完全跟随 models.json。
依赖要求
- pi(编码 agent)——本包是 pi 扩展
~/.pi/agent/models.json中对你想要精简的 provider 配置了显式models列表
License
MIT
