
pi-jev
开源 Pi Coding Agent 扩展,通过 TypeSafe Jev 为工具调用防护、命令输出分类和类型明确的智能体判断提供语义决策层。
资料核对: 2026年9月17日 ·查看来源
工具信息
- 工具类型
- 开发工作流
- 平台
- macOS, Linux, Windows
- 免费方案
- 支持
- 开源
- 支持
- 自带密钥
- 支持
- 本地模型
- 不支持

工具概览
适合场景
- 希望在高风险工具执行前加入语义检查的 Pi Coding Agent 用户
- 探索概率型防护与置信度阈值的开发者
- 需要具体、类型明确的判断而非文字回复的 Pi 流程
- 可在强制执行前审查影子模式观测结果的交互会话
优点
- 增加可判断意图和范围的语义风险检查,不局限于命令模式。
- 影子模式便于在开启确认流程前观察误报。
- 同时覆盖执行前的工具调用与执行后的命令输出。
- 代码可直接使用类型明确的 Jev 答案,无需解析生成文字。
- 采用 MIT 许可,以小型 Pi 扩展实现。
局限与取舍
- 完全离线或仅本地的开发环境
- 需要真正沙箱或保证失败时阻断的安全敏感流程
- 使用 Pi 以外的智能体、且无计划改造扩展的用户
- 不能将所选工具上下文发送到外部 API 的团队
- 需要网络访问 TypeSafe Jev,并提供 TypeSafe API 密钥。
- API 密钥、端点、超时、限流或响应出现问题而无法判断时,默认放行。
- 必须明确启用 blockWithoutUI,无界面强制模式才会真正阻断。
- 判断请求可能将项目上下文及截断后的工具参数发送到 TypeSafe;write/edit 参数可能包含文件内容。
- 作者将调用前阈值的校准描述为冒烟测试,而非使用已标注评估集的验证。
开始使用
pi install npm:@y0usaf/pi-jev价格与使用额度
提供免费方案
采用 MIT 许可的开源扩展;使用 Jev 判断需要 TypeSafe API 密钥。
底层 Jev 使用费用;TypeSafe 目前列明输出 token 免费。
价格核对: 2026年9月17日 · 额度、模型费用与订阅价格可能分别计算。
功能与详细介绍
语义风险检查
- 执行前判断 bash、write 和 edit 调用
- 影子与强制执行模式
- 可配置风险阈值与短期缓存
命令输出判断
- 检测可能的密钥或凭证暴露
- 按置信度门槛分类常见失败类型
- 将失败类别映射到固定恢复建议
类型明确的 Jev 判断
- 在 Pi 内提供 jev_ask
- 支持 noul、choice 和 score 问题
- 用户级与项目级 JSON 配置
Pi 集成
- 通过会话命令查看状态、模式和近期判断
- 使用用户提供的 TypeSafe API 密钥
- 不捆绑运行时依赖
为什么选择 pi-jev?
当 Pi 工作流缺少的是轻量语义判断,而不是另一个编程模型时,pi-jev 就有用。传统安全钩子擅长识别已知命令模式,例如破坏性的 Git 操作或明显的文件删除。pi-jev 则针对操作含义与范围向 Jev 提出具体问题,再由普通代码根据返回概率决定后续行为。
对语法正常、但结合上下文可能有问题的操作,这一区别很重要。写入系统配置文件在某个任务中可能完全合理,在另一个任务中却明显越界。该扩展将这类判断显式化,避免完全依赖主编程模型对自己的操作做推理并相信自己的结论。
pi-jev 应视为行为防护层,而不是沙箱。Pi 本身使用本地用户的权限运行,其文档建议对不可信仓库或无人值守任务采用容器、虚拟机、微型虚拟机等操作系统级隔离。pi-jev 增加了判断节点,但不会建立权限隔离边界。
核心工作流程
实际流程是在选定的 Pi 工具活动前后做两阶段检查。执行会改变状态的操作前,pi-jev 从当前任务上下文构建简要状态,分别询问 Jev 各项风险。回答保持为独立数值信号,阈值逻辑由扩展负责。因此,修改策略无需让模型重新生成解释或决定动作。
shell 命令完成后,第二次判断可以检查返回文本,分析执行前无法获得的信息,例如输出是否包含凭证,或失败属于暂时性、环境、权限、调用方式还是代码问题。
jev_ask 的用途不限于安全。当前 Pi 智能体可将具体的语义判断交给 Jev,获取概率、类别或分数,而非生成一段文字。后续代码需要依据答案分支执行时,这种方式尤其有用。
适用场景
最适合的场景是:确定性规则已能发现明显危险,但在意图和任务范围上仍有缺口。例如判断一条看似普通的命令是否把本地数据传出电脑、计划中的修改是否超出用户要求,或工具结果是否应改变下一步恢复策略。
另一种用法是智能体侧分类。Pi 扩展或项目流程可通过 jev_ask 标记错误类别、判断证据相关性,或按简短评分标准评价结果。最终只需一个 if 分支的决定,就不必占用通用编程模型的一整轮对话。
对于确定性策略,这种方法的价值较小。如果某条命令绝不能执行,直接规则或沙箱策略比概率阈值更便于审计。语义判断最适合边界依赖上下文、字符串匹配难以可靠表达的情况。
同类工具对比
与 Pi Safety、CC Safety Net 或基于 AST 的命令过滤器相比,pi-jev 以语义解释取代确定性匹配。它可覆盖没有稳定命令特征的上下文相关情形,但也引入网络延迟、外部 API 依赖和阈值调整。
Pi Permission Gate 更接近,因为它也在执行前通过模型辅助分类风险。主要区别是决策接口:pi-jev 围绕 TypeSafe Jev 的类型化概率输出和固定判断维度设计;通用 LLM 关卡表达力可能更强,但需要更多提示词与输出处理。
两种方法都不应被当作隔离机制。面对可能恶意的仓库或自动化任务,操作系统级沙箱仍是更强的控制,即使模型或防护层误判,也能限制进程实际可访问的资源。
配置建议
合理的落地方式是先使用影子模式,在不拦截的情况下收集实际仓库和命令样本。内置阈值由作者做过冒烟测试,但 README 明确说明,调用前的校准不等于经过标注的生产评估集。不同项目对破坏性、越界及可接受数据外传的定义可能很不同。
对隐私敏感的项目,缩小需判断的工具范围可能比调整模型阈值更重要。仅检查 bash,可避免在调用前将 write 和 edit 的文件正文发出。降低参数与输出字符上限能进一步减少外传上下文,但也会减少 Jev 可据以判断的信息。
无人值守或 RPC 驱动的会话中,应先确认无界面行为,再依赖其拦截。无界面模式无法显示交互确认,因此若要求强制停止,必须明确配置非 UI 阻断行为,并在与生产相同的执行模式中测试。
迁移建议
替换确定性防护时,不应立即删除原策略层。先让 pi-jev 以影子模式运行,比较两套系统各自标记的操作。绝对禁止项通常更适合固定规则,意图与范围模糊的场景则更适合语义判断。
若另一个扩展已拦截同样的 Pi 工具调用,应测试是否出现重复提示、冲突决定及执行顺序影响。较清晰的配置是明确分工:硬规则负责绝对禁止项,pi-jev 负责上下文判断,沙箱负责权限隔离。
pi-jev 依赖外部 Jev 端点,迁移计划也应考虑 API 可用性。文档中的默认行为是请求出错时放行,因此要求保证拦截的流程,不应将远程判断服务本身视为安全边界。
模型支持与数据隐私
支持的模型
- TypeSafe Jev
隐私与数据处理
pi-jev 将选定的判断状态发送到 api.typesafe.ai。README 说明,调用前判断包含工作目录、最新用户消息的截断片段和工具参数;write/edit 参数可能含文件正文,输出判断可能含截断后的 bash 输出。截断上限可配置。TypeSafe 客户协议称,未经事先同意,不会使用客户数据训练模型权重,但可处理遥测以改进服务。
指南、评测与常见问题
相关指南正在整理中,可以先查看官方文档。
产品动态
暂时没有经过核对的产品动态。关注后,新的相关内容会出现在「我的收藏」。
查看相关内容动态信息来源与核对记录
核对日期记录本站何时检查信息;不代表产品发版日期。
本站资料修订记录
目录条目已根据当前 pi-jev README、Pi 文档,以及 TypeSafe Jev 定价和数据条款核实。