@winterchenhuan/pi-hide-hf
Hide HuggingFace models extension for Pi. Filter HF models from the model selector when HF_TOKEN is present.
Package details
Install @winterchenhuan/pi-hide-hf from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@winterchenhuan/pi-hide-hf- Package
@winterchenhuan/pi-hide-hf- Version
1.0.0- Published
- Jun 9, 2026
- Downloads
- not available
- Author
- winterchenhuan
- License
- MIT
- Types
- extension
- Size
- 5.3 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Hide HuggingFace Models Extension
问题
pi 只要检测到 HF_TOKEN 就会把 huggingface 下所有 22 个模型都标记为「可用」。
但 HF 是 marketplace — 一个 token 不等于所有模型都有权限。
pi 的模型可见性是 provider 粒度(有 token = 该 provider 所有模型可见),
而 HuggingFace 是 marketplace(一个 token ≠ 所有模型可用),两者不匹配。
解决方案
两层策略:
- 扩展插件 — 在
session_start时 patchgetAvailable(),过滤掉 HF 模型 - Shell 包装脚本 —
pi-nohf启动前去掉HF_TOKEN(--list-models也能生效)
使用方法
方案 A:扩展插件(推荐)
通过 npm 安装:
pi install npm:@winterchenhuan/pi-hide-hf
通过 git 安装:
pi install git:github.com/winterhuan/pi-hide-hf
⚠️ 安装后需要新启动 pi 或在已有会话中输入
/reload才能加载新扩展。
启动后 [hide-hf] Patched getAvailable() to hide HF models 即生效。
# 默认行为:HF_TOKEN 存在时自动隐藏所有 HF 模型
pi
# 不隐藏,显示 HF 模型
HF_HIDE_MODELS=0 pi
# 只保留指定模型
HF_ALLOWED_MODELS="moonshotai/Kimi-K2.6,zai-org/GLM-5" pi
方案 B:Shell 包装脚本
~/.local/bin/pi-nohf # 启动 pi,不带 HF_TOKEN
~/.local/bin/pi-nohf -p "hi" # 同上,-p 模式
优点:pi --list-models 也不会显示 HF 模型。
缺点:HF_TOKEN 在 pi 内部完全不可用(如 huggingface-cli)。
配置项
| 变量 | 默认值 | 说明 |
|---|---|---|
HF_HIDE_MODELS |
HF_TOKEN 存在时为 1 |
是否隐藏 HF 模型 |
HF_ALLOWED_MODELS |
(空) | 逗号分隔的模型 ID 白名单 |
HF_UNSET_TOKEN |
0 |
如果设为 1,同时从进程环境中移除 HF_TOKEN |