专题

TypeSafe AI(Jev)Pi 插件:安装、配置与选型

比较五项主推 Pi Jev 集成:工具调用判定、会话监督、工具发现、技能选择与模型路由。说明安装配置、数据外发、故障行为与核验版本。

概览

TypeSafe AI 是 Jev 背后的公司。2026 年 9 月 15 日,官方以 early access 形式发布首个公开的 System One 模型 Jev:软件预先定义问题,模型返回带概率的结构化判定。这些社区 Pi 扩展将它接为判定服务,具体代码仍由你选择的主模型编写。

本页于 2026 年 9 月 22 日更新。先确定希望 Jev 参与哪项决策,再核对包的作者与数据边界。五项均为源码与文档核验,未进行付费 API 实测。

按用途比较

表格可横向滚动;详细配置与来源见下方。

资源与用途介入环节依赖与 Key外发数据失败行为核验证据
pi-jev (y0usaf)

为工具调用加一道判定,并检查命令输出;适合先观察告警,再决定是否启用确认的用户。

Jev 在 bash/write/edit 执行前评分;另一次判定检查 bash 输出中的凭据和失败类型,jev_ask 向 Agent 提供结构化判定。使用带命名空间的 @y0usaf/pi-jev 包,需要 Pi 与 TypeSafe Key;TYPESAFE_API_KEY 优先于配置中的 apiKey 和 apiKeyFile。向 TypeSafe 发送工作目录、工具名、最多 1,200 字符的近期用户文本及工具参数。参数字符串默认各截取 400 字符;输出判定另附最多 2,000 字符的 bash 输出。缺少 Key 时不运行判定;超时、限流或无效回答时允许调用继续。enforce 模式在无界面时也默认只告警,除非开启 gate.blockWithoutUI。
README / installation / data boundaries ↗
pi-warden

适合监督整个编程会话,关注动作、项目规则、重复失败与完成声明。

安装后即运行本地检查。授权后,在线模型补充语义判定;默认 steer 模式将被暂缓的动作退回 Agent 重新考虑。需要 Node 22.19+、Pi ≥0.85.1 且 <1,以及 npm pi-warden。TypeSafe 判定通过 pi-typesafe 接入,需要 /warden enable 授权及 Key;OpenRouter 是需另行配置的可选后端。各项检查按需发送有限长度的提示与历史片段、计划、命令、路径、文件样本、项目规则、输出或最终回复。规则文件可回退到 README.md、CLAUDE.md 或 AGENTS.md;脱敏不保证覆盖全部秘密。默认 failOpen 在判定失败时不新增语义阻断,但内置模式规则仍可能介入,用户 deny 规则仍会拒绝。无界面时 confirm 回退为 steer。
Package requirements ↗
pi-jev (TheoOliveira)

适合在 Pi 会话中发现尚未启用的工具、推荐技能,并按需请求结构化判定。

先用词法匹配选出最多 10 个工具或 12 个技能,再交给 Jev 判断;达到 0.65 阈值的工具加入已启用集合,技能以推荐形式返回。可选工具检查、完成后检查与编排各有独立流程。需要 Node 20+、Pi,以及 TYPESAFE_API_KEY 或 ~/.pi/agent/secrets/typesafe_api_key。npm:pi-jev 属于此作者;可选 Agent 编排还需 pi-subagents。向 TypeSafe 发送任务与候选工具或技能元数据,技能元数据包含路径。显式判定和完成后检查发送指定状态或 diff;可选工具检查会发送参数及错误输出,压缩会发送历史片段。工具判定未成功时不额外启用工具;技能降级结果是概率为零的词法匹配。自动分发失败后回合继续,可选工具检查在判定出错时允许调用。
README / setup / optional features ↗
pi-jev-skill-picker

适合已安装较多技能、完整技能目录占用较多主模型上下文的用户。

从实际系统提示中移除 Pi 自动生成的技能目录。skill_search 用 Jev 为全部已启用技能评分,再把匹配项作为工具结果加载;skill_load 按名称在本地读取技能。需要 Node 22.6+、Pi、已安装的技能,并从 safzanpirani/pi-jev-skill-picker 使用 Git 安装。Jev 读取 TYPESAFE_API_KEY 或 Agent 目录下 skill-jev.json 中的 apiKey。向 TypeSafe 发送搜索任务、技能名称及描述;描述默认每项最多 1,200 字符。选定后的技能文件在本地读取,评分请求不发送完整会话或 SKILL.md 正文。无 Key 或所有批次失败时回退词法匹配,返回元数据与路径。只有部分批次失败时仍使用成功的评分,并告知部分目录未获评分。
README / Git installation / configuration ↗
pi-jev-router (win4r)

适合在新任务开始时选择主模型,并在后续续接中保持当前模型。

Jev 判断任务档位与上下文是否充分;本地策略再按声明能力、实际可用性、上下文容量和估算成本筛选模型,决定是否切换。需要 Node 22.19+、Pi ≥0.84.2 且 <0.87、Git 安装及已授权的目标模型。Jev 还需要 TYPESAFE_API_KEY,并明确启用分类器。向 TypeSafe 发送任务文本、可选摘要,以及图片、工具需求、最低档位、任务边界和此前失败等标志。不发送完整历史、工具输出、系统提示、图片内容、模型目录或价格。分类不确定时可以保留符合条件的当前模型。没有合格模型时,auto 拒绝该次输入,shadow 则继续使用当前模型;它不自动重放失败任务。
README / installation / commands / limitations ↗

安装与运行边界

pi-jev (y0usaf)

为工具调用加一道判定,并检查命令输出;适合先观察告警,再决定是否启用确认的用户。

pi install npm:@y0usaf/pi-jev
实现机制
Jev 在 bash/write/edit 执行前评分;另一次判定检查 bash 输出中的凭据和失败类型,jev_ask 向 Agent 提供结构化判定。
前置依赖
使用带命名空间的 @y0usaf/pi-jev 包,需要 Pi 与 TypeSafe Key;TYPESAFE_API_KEY 优先于配置中的 apiKey 和 apiKeyFile。
数据范围
向 TypeSafe 发送工作目录、工具名、最多 1,200 字符的近期用户文本及工具参数。参数字符串默认各截取 400 字符;输出判定另附最多 2,000 字符的 bash 输出。
失败行为
缺少 Key 时不运行判定;超时、限流或无效回答时允许调用继续。enforce 模式在无界面时也默认只告警,除非开启 gate.blockWithoutUI。
已知限制
shadow 模式仍会外发数据并产生 Jev 用量。输出告警发生在执行之后,不会删除已输出的秘密。作者校准记录不能证明它能识别所有危险操作。

已查阅源码 / 文档 ·
npm v0.2.0 · reviewed source 1b493375ef52e6d8f59dfe83e84402b024536625 (2026-09-19)

pi-warden

适合监督整个编程会话,关注动作、项目规则、重复失败与完成声明。

pi install npm:pi-warden
实现机制
安装后即运行本地检查。授权后,在线模型补充语义判定;默认 steer 模式将被暂缓的动作退回 Agent 重新考虑。
前置依赖
需要 Node 22.19+、Pi ≥0.85.1 且 <1,以及 npm pi-warden。TypeSafe 判定通过 pi-typesafe 接入,需要 /warden enable 授权及 Key;OpenRouter 是需另行配置的可选后端。
数据范围
各项检查按需发送有限长度的提示与历史片段、计划、命令、路径、文件样本、项目规则、输出或最终回复。规则文件可回退到 README.md、CLAUDE.md 或 AGENTS.md;脱敏不保证覆盖全部秘密。
失败行为
默认 failOpen 在判定失败时不新增语义阻断,但内置模式规则仍可能介入,用户 deny 规则仍会拒绝。无界面时 confirm 回退为 steer。
已知限制
可信项目配置可以调整阈值或关闭检查,但不能授予云端许可、替换全局后端与模式。模型判定不是安全隔离;本地临时文件可能保留压缩前的原始输出。

pi-jev (TheoOliveira)

适合在 Pi 会话中发现尚未启用的工具、推荐技能,并按需请求结构化判定。

pi install npm:pi-jev
实现机制
先用词法匹配选出最多 10 个工具或 12 个技能,再交给 Jev 判断;达到 0.65 阈值的工具加入已启用集合,技能以推荐形式返回。可选工具检查、完成后检查与编排各有独立流程。
前置依赖
需要 Node 20+、Pi,以及 TYPESAFE_API_KEY 或 ~/.pi/agent/secrets/typesafe_api_key。npm:pi-jev 属于此作者;可选 Agent 编排还需 pi-subagents。
数据范围
向 TypeSafe 发送任务与候选工具或技能元数据,技能元数据包含路径。显式判定和完成后检查发送指定状态或 diff;可选工具检查会发送参数及错误输出,压缩会发送历史片段。
失败行为
工具判定未成功时不额外启用工具;技能降级结果是概率为零的词法匹配。自动分发失败后回合继续,可选工具检查在判定出错时允许调用。
已知限制
词法预筛可能漏掉相关候选。auto 模式可能分别发送工具与技能请求,不能按每轮只一次调用估算。auto-model 使用本地启发式;它与 y0usaf 的包都注册 /jev。

pi-jev-skill-picker

适合已安装较多技能、完整技能目录占用较多主模型上下文的用户。

pi install git:github.com/safzanpirani/pi-jev-skill-picker
实现机制
从实际系统提示中移除 Pi 自动生成的技能目录。skill_search 用 Jev 为全部已启用技能评分,再把匹配项作为工具结果加载;skill_load 按名称在本地读取技能。
前置依赖
需要 Node 22.6+、Pi、已安装的技能,并从 safzanpirani/pi-jev-skill-picker 使用 Git 安装。Jev 读取 TYPESAFE_API_KEY 或 Agent 目录下 skill-jev.json 中的 apiKey。
数据范围
向 TypeSafe 发送搜索任务、技能名称及描述;描述默认每项最多 1,200 字符。选定后的技能文件在本地读取,评分请求不发送完整会话或 SKILL.md 正文。
失败行为
无 Key 或所有批次失败时回退词法匹配,返回元数据与路径。只有部分批次失败时仍使用成功的评分,并告知部分目录未获评分。
已知限制
默认每批最多 50 个技能,入选阈值为 1.4/2,加载前三项。目录越大,搜索开销越高;加载的说明仍占用主模型上下文,作者示例的节省比例不是通用效果。

pi-jev-router (win4r)

适合在新任务开始时选择主模型,并在后续续接中保持当前模型。

pi install git:github.com/win4r/pi-jev-router
实现机制
Jev 判断任务档位与上下文是否充分;本地策略再按声明能力、实际可用性、上下文容量和估算成本筛选模型,决定是否切换。
前置依赖
需要 Node 22.19+、Pi ≥0.84.2 且 <0.87、Git 安装及已授权的目标模型。Jev 还需要 TYPESAFE_API_KEY,并明确启用分类器。
数据范围
向 TypeSafe 发送任务文本、可选摘要,以及图片、工具需求、最低档位、任务边界和此前失败等标志。不发送完整历史、工具输出、系统提示、图片内容、模型目录或价格。
失败行为
分类不确定时可以保留符合条件的当前模型。没有合格模型时,auto 拒绝该次输入,shadow 则继续使用当前模型;它不自动重放失败任务。
已知限制
默认 shadow 且关闭 Jev 网络请求。模型档位与能力需要用户配置;路由不执行消费硬上限或动作授权,作者尚未证明它在真实编程任务中更便宜或更准确。

按要处理的决策选择

y0usaf 侧重工具调用风险与输出建议;Warden 覆盖更广的会话监督;Theo 集成尚未启用的工具发现、技能推荐和显式判定;skill-picker 专门处理大型技能目录;win4r 在任务边界选择主模型。

先试用一个集成,查看判定后再增加自动化。两个 pi-jev 来自不同作者,且都注册 /jev;请按卡片中的作者区分项目,使用已核验的安装命令。

API 访问与安装名称

下方提供 TypeSafe 控制台与官方文档。五项都接受 TYPESAFE_API_KEY,在本机设置后再启动 Pi;主模型订阅不包含 TypeSafe 访问权限。Warden 的云端判定还需明确授权,win4r 还需开启 classifier.enabled 才会发送 Jev 请求。

无命名空间的 npm 包 pi-jev 属于 Theo,y0usaf 发布的是 @y0usaf/pi-jev。win4r 请使用 Git 安装,npm:pi-jev-router 属于另一作者;skill-picker 也使用其作者仓库的 Git 安装。

export TYPESAFE_API_KEY='YOUR_TYPESAFE_API_KEY'

y0usaf:先观察,再启用确认

安装后用 /jev 查看 Key 来源与模式,/jev last 和 /jev output 查看近期判定。默认 gate 为 shadow;/jev mode enforce 在交互会话中为触发阈值的动作请求确认,/jev off 在当前会话关闭两类判定。

可选配置写入 ~/.pi/agent/pi-jev.json,项目 .pi/pi-jev.json 的字段优先。shadow 不拦截,但仍调用 Jev。输出判定发生在命令完成之后,无法阻止执行或撤销泄露。

{
  "gate": { "mode": "shadow" }
}

Warden:本地检查与在线授权

安装后即启用本地检查。用 /warden enable 阅读数据说明,并提供或复用 TypeSafe Key;TYPESAFE_API_KEY 优先于 pi-typesafe 的共享 Key 存储。/warden status 显示当前配置;有在线模型时,/warden test 会发送可能计费的合成请求。

默认模式为 steer。用户配置在 ~/.pi/agent/pi-warden/config.json;项目 .pi/pi-warden.json 可调整或关闭检查,但不能授予云端许可或修改全局后端与模式。明确的项目规则写入 pi-warden.md;启用云端判定前应查看输入内容,规则查找还可能包含其他仓库文档。

Theo:发现工具与推荐技能

用 /jev status 检查配置。可先按需调用 jev_find_tools、jev_find_skill 或 jev_evaluate;/jev auto on 开启用户回合前的工具和技能匹配,/jev auto off 关闭。auto 默认关闭。

工具匹配和技能匹配在有候选时分别请求 Jev,源码中的一次自动流程可能产生两次请求,不能照 README 按一次估算。auto-model 则在本地分类,应单独理解其开销。可选编排需要 pi-subagents;启用工具检查或压缩前,还应查看这些功能新增的外发内容。

Skill-picker:按需搜索技能目录

安装后用 /reload 或重启 Pi。让 Agent 用具体任务调用 skill_search,加载匹配的技能说明;已知名称时可用 skill_load,不会请求 Jev。手动 /skill:name 仍可使用。

可选配置位于 ~/.pi/agent/skill-jev.json,或 PI_CODING_AGENT_DIR 指定的目录;示例保留默认值。搜索会分批并行为全部已启用技能评分。本地加载的说明仍进入主模型上下文,比较开销时应看供应商总用量,不能把本地读取当作零 token。

{
  "minScore": 1.4,
  "maxSkills": 3,
  "shardSize": 50
}

win4r:声明模型后检查路由

Git 安装后重启 Pi,运行 /route init。它以当前模型创建配置起点;填写实际模型档位与能力,再运行 /route reload 和 /route doctor。默认 shadow 只给建议,Jev 分类器也默认关闭。

设置 TYPESAFE_API_KEY 后,用 /route jev on 开启 Jev 请求;先用 /route preview 查看提案,再决定是否启用 /route auto。首次任务或 /route new 可触发分类,续接回合保持模型。该路由器不创建子 Agent,也不删除对话历史。

截至 2026 年 9 月 22 日的选入依据

这是一组选编,依据是可确认的 Pi 包、不同用途、近期仓库活动与能归因的讨论。GitHub 累计星数表示长期关注,不等于搜索量,也不等于近两天增长;五项不是按同一指标排出的热度前五。

AISuperDomain 的 9 月 20 日原帖明确链接 win4r/pi-jev-router;Theo 的原帖发布 v0.4.0,本页核验的是 v0.5.0。Ricker 与 zhouluobo 的高互动帖讨论更广的 Jev 生态,不将其热度归给某一个 Pi 插件。帖子书签、浏览与转帖数未独立核实。

下方更多实现保留上下文裁剪、专门的代码检查和另一种模型路由策略;未列入主推,不影响它们在具体场景中的用途。

更多实现

  • pi-fast-jev-compaction →

    Jev 为旧工具调用和结果评分,按请求裁剪上下文并保留会话历史。需要 TypeSafe Key;同名 npm 包属于另一作者,请使用此 Git 仓库安装。

  • pi-jev-code →

    单 Agent 的 Jev 搜索重排、编辑前检查和任务基线 diff 审查。需要 Pi 0.85+、Node 20+ 和 TYPESAFE_API_KEY;先克隆仓库并运行其中的 install.sh,再将下方路径替换为本地目录。

  • pi-jev-model-router →

    根据 Jev 任务判定、预算策略和提示词缓存成本,在已授权的 Pi 模型间路由。需要 TypeSafe Key;预算额度只调整路由,不会停止消费。

一手来源与核验范围

本文区分源码 / 文档核验与实际运行测试。未标注“已实测”的功能、性能和节省比例不代表本站测量结果。