pi-jev

开源 Pi Coding Agent 扩展,通过 TypeSafe Jev 为工具调用防护、命令输出分类和类型明确的智能体判断提供语义决策层。

官方网站

资料核对: 2026年9月17日 ·查看来源

工具信息

工具类型
开发工作流
平台
macOS, Linux, Windows
免费方案
支持
开源
支持
自带密钥
支持
本地模型
不支持
pi-jev

工具概览

适合场景

  • 希望在高风险工具执行前加入语义检查的 Pi Coding Agent 用户
  • 探索概率型防护与置信度阈值的开发者
  • 需要具体、类型明确的判断而非文字回复的 Pi 流程
  • 可在强制执行前审查影子模式观测结果的交互会话

优点

  • 增加可判断意图和范围的语义风险检查,不局限于命令模式。
  • 影子模式便于在开启确认流程前观察误报。
  • 同时覆盖执行前的工具调用与执行后的命令输出。
  • 代码可直接使用类型明确的 Jev 答案,无需解析生成文字。
  • 采用 MIT 许可,以小型 Pi 扩展实现。

局限与取舍

  • 完全离线或仅本地的开发环境
  • 需要真正沙箱或保证失败时阻断的安全敏感流程
  • 使用 Pi 以外的智能体、且无计划改造扩展的用户
  • 不能将所选工具上下文发送到外部 API 的团队
  • 需要网络访问 TypeSafe Jev,并提供 TypeSafe API 密钥。
  • API 密钥、端点、超时、限流或响应出现问题而无法判断时,默认放行。
  • 必须明确启用 blockWithoutUI,无界面强制模式才会真正阻断。
  • 判断请求可能将项目上下文及截断后的工具参数发送到 TypeSafe;write/edit 参数可能包含文件内容。
  • 作者将调用前阈值的校准描述为冒烟测试,而非使用已标注评估集的验证。

开始使用

pi install npm:@y0usaf/pi-jev

价格与使用额度

提供免费方案

pi-jev Extension$0

采用 MIT 许可的开源扩展;使用 Jev 判断需要 TypeSafe API 密钥。

TypeSafe Jev API$0.042 / 每 100 万输入 Token

底层 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 客户协议称,未经事先同意,不会使用客户数据训练模型权重,但可处理遥测以改进服务。

指南、评测与常见问题

相关指南正在整理中,可以先查看官方文档。

产品动态

暂时没有经过核对的产品动态。关注后,新的相关内容会出现在「我的收藏」。

查看相关内容动态

信息来源与核对记录

核对日期记录本站何时检查信息;不代表产品发版日期。

本站资料修订记录

  1. 目录条目已根据当前 pi-jev README、Pi 文档,以及 TypeSafe Jev 定价和数据条款核实。