@ganziliang/pi-auto-classifier
Pi extension that judges every final assistant reply against markdown output rules and asks the model to rewrite violations. Ships the TLDR rule, adds a rewrite cap, and supports custom model, API key, and gateway endpoint with an interactive /classifier-
Package details
Install @ganziliang/pi-auto-classifier from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@ganziliang/pi-auto-classifier- Package
@ganziliang/pi-auto-classifier- Version
0.1.0- Published
- Nov 2, 2026
- Downloads
- 281/mo · 281/wk
- Author
- ganziliang
- License
- MIT
- Types
- extension, skill
- Size
- 44.6 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"skills": [
"./skills"
],
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@ganziliang/pi-auto-classifier
pi 扩展:每条最终回复先交给判官模型按 markdown 规则审查,不合规就拦下并让模型重写。
在 pi-auto-classifier 基础上增加三件事:
- 每轮重写次数硬上限,避免无限重写
- 可配置判官模型、API Key、网关端点,优先级用户配置最高
- 内置
tldr.md规则,首次启动自动安装
包里不含任何 API Key。
安装
pi install npm:@ganziliang/pi-auto-classifier
本地开发:
pi install ./pi-auto-classifier
安装后重启 pi,或执行 /reload。
配置
运行 /classifier-setup,按提示填写:
- 网关端点
- 接口协议
- 模型名称
- API Key
- 每轮重写上限
会先做连通性测试,失败可选择仍保存。
配置文件
~/.pi/agent/auto-classifier.json:
{
"model": "company-anthropic/claude-haiku-4-5",
"baseUrl": "https://llm-gateway.zhizhengroup.com/api",
"api": "anthropic-messages",
"maxRewrites": 2
}
~/.pi/agent/auto-classifier.secret.json(权限 600,只放 Key):
{ "apiKey": "sk-..." }
baseUrl 填 - 或空串表示沿用 pi 已配置的 provider。
优先级
从低到高:
- 包内默认值
- 全局
~/.pi/agent/auto-classifier.json - 项目
<project>/.pi/auto-classifier.json - 环境变量
用户填写的值覆盖默认值。
环境变量
| 变量 | 作用 |
|---|---|
PI_AUTO_CLASSIFIER_MODEL |
判官模型 |
PI_AUTO_CLASSIFIER_BASE_URL |
网关端点 |
PI_AUTO_CLASSIFIER_API |
接口协议 |
PI_AUTO_CLASSIFIER_API_KEY |
API Key |
PI_AUTO_CLASSIFIER_MAX_REWRITES |
重写上限 |
PI_AUTO_CLASSIFIER_DEBUG |
判官日志文件路径 |
Key 的查找顺序
- 环境变量
- 项目配置
- 全局配置
- secret 文件
~/.pi/agent/models.json中同名 provider 的 Key
第 5 条让本机已配置网关的用户开箱可用,无需重复填写。
规则
所有 .md 文件按目录加载:
| 目录 | 作用范围 |
|---|---|
~/.pi/agent/output-rules/ |
全局回复规则 |
<project>/.pi/output-rules/ |
项目回复规则 |
~/.pi/agent/tool-rules/ |
全局工具规则 |
<project>/.pi/tool-rules/ |
项目工具规则 |
内置 rules/tldr.md 会在首次启动时复制到 ~/.pi/agent/output-rules/。已存在的同名文件不会被覆盖,删掉后下次启动会重新安装。
命令
| 命令 | 作用 |
|---|---|
/classifier-setup |
交互配置判官 |
/classifier |
开关总闸与单条规则,按 s 存盘 |
/classifier-install |
从上游规则目录安装规则 |
行为
- 判官通过时正常输出
- 判官不通过时隐藏草稿,显示
Withheld by classifier. rule: <规则名>,然后要求模型重写 - 达到
maxRewrites后放行当前草稿,状态栏显示classifier cap reached - 判官报错时 fail open,直接放行
兼容性
peerDependencies 仅依赖 pi 宿主提供的包,不捆绑运行时依赖。
许可
MIT。上游版权归 marcoskichel/pi-auto-classifier。