$ cat ~/map/pi-jev.md
pi-jev
面向 pi 的类型化概率判断:门控在工具调用执行前把关,输出裁判为执行结果分类。
extensions✓ 9月17日
事实速查
- GitHub Stars
- ★ 165
- Forks
- 17
- 许可证
- MIT
- npm / 月
- —
- 最后推送
- 2026年10月1日
安装
运行 pi install npm:@y0usaf/pi-jev;扩展需要一个 TypeSafe API 密钥——没有密钥时它会正常加载、提示一次、然后不再打扰——密钥按 TYPESAFE_API_KEY、配置里的 apiKey、或 ~/.pi/agent/pi-jev.json 中 apiKeyFile 指向的文件这一顺序解析## 速览
一个把 TypeSafe Jev 包装成类型化决策层的 pi 扩展:门控在 bash、write、edit 调用执行前提出破坏性、外泄、超范围与影响四类问题,输出裁判为 bash 输出标记泄露的密钥并归类失败,jev_ask 工具则让模型自己请求类型化判断。
## 要点
- $门控:四个问题——这个操作是否有破坏性、是否把本地数据或密钥送出机器、影响是否超出用户要求、如果并非用户所愿损害有多大——合并在一次约 300 毫秒的请求里,按默认阈值判定:破坏性 0.90、外泄 0.70、超范围 0.85、影响 2.50(0 到 3 的损害量表)。
- $默认影子模式:被标记的调用只产生通知和页脚状态,不阻断执行;enforce 模式会在调用运行前请求确认;无头运行(print 模式与 RPC)无法弹出提示,因此除非设置 gate.blockWithoutUI,强制执行同样退回到警告。
- $所有错误路径一律放行:密钥缺失、超时、429 或响应格式错误都不产生判定,工具调用照常执行,错误至多每分钟报告一次;相同输入在 cacheSeconds(默认 120)内只判定一次。
- $输出裁判:对每个被评判的 bash 结果提两个问题——泄露问题对照 0.90 阈值,命中时追加勿复述该值的建议并发出通知;六分类的失败类别只在置信度超过 0.6 时追加对应建议;被评判的工具默认只有 bash,因为评判每一次文件读取都要多花一次请求。
- $离开机器的内容:每次判断会把工作目录、工具名、最后一条用户消息的前 1200 字符以及工具参数发给 api.typesafe.ai;任何超过 400 字符的字符串字段都会截断为前 400 字符加省略标记,把 gate.tools 设为 bash 可以让文件内容完全不进入门控请求。
- $校准的坦诚:阈值来自 README 全文公布的冒烟校准运行,并明确说明这不是带标注的评测集——足以排除明显错误的阈值,也是门控默认不设为 enforce 的原因。
- $命令与配置:/jev 命令族可查看模式、模型、密钥来源、被评判的工具与缓存大小,按会话开关两个裁判,免重载切换门控模式,并打印最近一次门控判定或输出裁判结果;项目级 .pi/pi-jev.json 叠在 ~/.pi/agent/pi-jev.json 之上,按键覆盖。
## 常见问题
Q 默认就是强制执行吗?
不是——默认是影子模式。被标记的调用只产生通知和页脚状态而不阻断;enforce 模式才会在标记调用运行前请求确认;无头运行在未设置 gate.blockWithoutUI 时同样退回到警告。
Q Jev API 不可用时会发生什么?
所有错误路径一律放行:密钥缺失、超时、429 或响应格式错误都不产生判定,工具调用照常执行。错误至多每分钟报告一次,失效的端点不会刷满转录。
Q 我的文件内容会离开本机吗?
默认情况下可能有一部分:write 与 edit 调用的门控参数包含文件内容,任何超过 400 字符的字符串字段会以前 400 字符加省略标记的形式发出。把 gate.tools 设为 bash 可让文件内容完全不进入门控请求;输出裁判则会发送 bash 结果的前 2000 字符加同样的工具参数。
## 参考链接
## 相关条目
## 教程
最后更新: 2026年9月17日