Jev 是 TypeSafe 在2026年9月15日推出的首款 System One 决策模型。它并不生成自由文本,接收非结构化状态输入后,直接返回带概率的类型化判断结果。官方给出端到端延迟区间为70–500毫秒。把 Jev 接入 Codex 的核心价值,是让编码智能体把这类固定判断逻辑交给低成本、低延迟的专用模型,主模型专注推理与代码编写。本文将提供三条可落地接入路径,包含单命令完成部署的MCP服务、面向浏览器交互场景的Agent Skill,以及可直接在项目调用的官方SDK;同时附带完整请求格式、三类问题选型方案、密钥与计费路由配置要点,以及接入后的验证方法与常见故障排查。
Jev 是什么,为什么要接入 Codex
Jev 属于只输出类型化判断的决策模型。它的输入是程序状态,输出为概率、选项与打分,而非需要解析校验的自然语言。TypeSafe 在发布文档中将其定义为前沿轻量级函数调用模型:非结构化状态进,类型化概率决策出。
它和常规大模型的核心差异集中在输出侧:
| 维度 | 常规大模型 | Jev |
|---|---|---|
| 输出形式 | 字符串,需要解析和校验 | 类型安全的结构化值 |
| 采样方式 | 逐Token顺序生成 | 所有问题并行返回 |
| 置信度表达 | 倾向性文本描述 | 校准概率,置信度高准确率高 |
| 响应时间 | 秒级 | 官方70至500毫秒 |
| 计费 | 输入输出分级计费 | 仅按输入计费 |
对于Codex这类编码智能体来说,Jev解决了一个明确痛点:智能体做判断时,如果全部交给大模型,需要额外一段话再解析语义。这类重复性强的分类判断交给Jev,不需要解析模型输出,返回的是可直接读写的数字与结构化结果。
独立开发者实测数据可以作为参考:Jev Browser Use项目作者在本地工作流中,浏览器操作速度提升约5–10倍;另一位开发者在博客记录,使用Jev替换智能体分类循环后,整体速度提升7倍。Simon Willison在9月21日的文章中总结了它的适用边界:任何可以表达为分类任务的场景,都适合用来做识别、打标签、排序和重排。
同时也要认识它的短板。TypeSafe官方jaggedness文档提到,Jev 1.13版本在数字、日期以及对抗性内容场景表现偏弱。Simon Willison也提出可解释性层面的局限:相比通用大模型,它更像“黑盒”,只返回浮点概率值,无法给出完整判断推理依据。
三种接入方式怎么选
接入Codex一共有三条路径,按照配置成本由低到高排序。
| 方式 | 适合场景 | 配置成本 | 是否需要写代码 |
|---|---|---|---|
| MCP服务器 | 希望Codex在任意对话中随时调用判断能力 | 一条命令 | 否 |
| Agent Skill | 希望Codex自动识别哪些逻辑交给Jev,或做浏览器操作 | 一条命令 | 否 |
| 官方SDK | 在项目代码中固化判断逻辑,纳入CI或业务流程 | 需要编写代码 | 是 |
三种方式可以叠加使用,互不冲突。最常见的组合思路是:先部署MCP打通调用链路;按需启用Skill提升自动化识别能力;最后把稳定的判断逻辑下沉到SDK,通过代码调用。
方式一:MCP服务器接入(最快上手)
MCP方案安装脚本会自动探测本机Codex并完成注册。
- 获取API密钥
前往TypeSafe控制台 console.typesafe.ai 注册账号并创建密钥。如果已有OpenRouter账号,也可以使用OpenRouter密钥切换另一套计费路由;两套密钥体系不互通。
- 安装MCP服务器
社区维护的typesafe-mcp是Go编写的单文件二进制程序,不依赖Node或Python运行环境。macOS或Linux执行:
curl -fsSL [https://raw.githubusercontent.com/itsmostafa/typesafe-mcp/main/install.sh](https://raw.githubusercontent.com/itsmostafa/typesafe-mcp/main/install.sh) | sh也可以使用Go工具链安装:
go install github.com/itsmostafa/typesafe-mcp/cmd/evaluate@latest- 注册到Codex
TYPESAFE_API_KEY=你的密钥 evaluate setup mcp该命令会探测PATH环境内的codex命令并完成注册,同时会注册到Claude Code与Claude Desktop(如已安装)。注册过程会把所有TYPESAFE_前缀环境变量复制进客户端配置,因为MCP客户端启动服务器时不会继承shell环境。更换密钥后,必须重新执行这条注册命令。
如果切换为OpenRouter路由,环境变量改为OPENROUTER_API_KEY。两个密钥同时存在时,TYPESAFE_API_KEY优先级更高,可以避免遗留的OpenRouter密钥意外消耗账单额度。
- 手动配置(自动注册失败场景)
自动注册无法找到Codex时,可以手动在MCP配置文件内添加下面JSON片段:
{
"mcpServers": {
"evaluate": {
"command": "/Users/你的用户名/.local/bin/evaluate",
"args": ["mcp"],
"env": {"TYPESAFE_API_KEY": "你的密钥"}
}
}
}自建私有化部署场景,额外增加TYPESAFE_BASE_URL环境变量。如果想要跑本地开源替代模型,将该变量指向本地服务地址,密钥字段填写任意非空字符串即可。
- 验证接入是否生效
新建Codex会话,直接用自然语言下发一条判断任务:
> 用evaluate判断这条工单是否紧急、该由哪个团队处理:我的打款已经连续失败三天了。
Codex会生成如下请求:
{
"state": "我的打款已经连续失败三天了。",
"questions": {
"is_urgent": {"type": "noul", "instructions": "这条消息是否表达了紧急性?"},
"department": {"type": "choice", "instructions": "该由哪个团队处理?"},
"criteria": {"billing": "支付、退款", "technical": "故障、宕机", "sales": "定价"}
}
}返回结果示例:
{
"answers": {
"is_urgent": {"type": "noul", "noul": 0.95},
"department": {"type": "choice", "choice": "billing", "confidence": 0.79,
"probabilities": {"billing": 0.86, "technical": 0.14, "sales": 0.0}}
}
}能看到纯概率数值而非长文本描述,就代表接入成功。
方式二:通过Agent Skill接入
Skill的核心价值,是教会Codex什么时候调用Jev,而不是单纯提供一个可调用工具。
- 官方TypeSafe Skill
npx skills add typesafe-ai/skills --skill typesafe-ai命令会提示选择目标智能体,选中Codex。默认仅安装至当前项目,增加-g参数全局安装。这个Skill会教会智能体如何设计Jev请求,以及在三类问题类型之间取舍。斜杠指令/typesafe:typesafe-ai仅Claude Code支持;在Codex中直接自然语言提示“使用TypeSafe skill”即可触发。
- Jevify:自动识别可优化环节
Jevify是ThursdAI社区维护的独立Skill,定位是让智能体主动把批量语义判断交给Jev,而不是逐条完整推理。
npx skills add altryne/jevify --skill jevify -g -a codex -y它有两个触发入口:处理大文档或调用工具输出时自动触发;也可以直接执行jevify指令,让它扫描现有工作流,找出适合替换为决策模型的环节。
- Jev Browser Use:浏览器操作加速
当Codex接入Computer Use浏览器能力,这个Skill交给Jev负责点击、滚动和导航;Codex负责文本理解与最终校验。
npx skills add wycolney/jev-browser-use -g -a codex -y前置条件为Node.js 22及以上版本。Jev已连接Chrome或内置provider。安装后配置密钥,写入~/.config/jev-browser-use/config.json里的env字段,TypeSafe密钥填入typesafe,OpenRouter密钥填入openrouter。
该项目同时支持插件方式部署:
codex plugin marketplace add wycolney/jev-browser-use && codex plugin add wycolney/jev-browser-use插件和独立Skill二选一,同时启用会造成指令冲突。安装或者更新之后,必须新开Codex任务会话加载配置。
方式三:直接调用SDK
TypeSafe官方SDK支持Python、JavaScript客户端,社区还提供Rust实现。适合把判断逻辑固化进项目代码。
uv add typesafe-sdk设置环境变量TYPESAFE_API_KEY,Python调用示例:
from typesafe_sdk import Choice, TypesafeClient
with TypesafeClient() as client:
response = client.system_one(
state = {"document": "我重复扣款了,请尽快处理。"},
questions = {
"category": {"choice": "这条工单属于什么类别?"},
"criteria": {"billing": None, "technical": None, "other": None}
}
)底层HTTP接口地址:POST [https://api.typesafe.ai/v1/systemone](https://api.typesafe.ai/v1/systemone),认证使用Authorization: Bearer请求头。请求必须携带state、model、questions三个字段,model填jev-latest指向当前版本。响应会返回实际版本号,例如jev-1.13.0。
错误码说明:400代表请求体格式错误,422表示请求校验失败,接口会返回具体错误字段;429限流,529为服务过载。后两者应当启用指数退避重试策略;官方SDK已经内置该重试行为。
三种问题类型如何选型
设计Jev请求前,先确定需要的判断类别。
| 类型 | 提问形式 | 返回值 | 典型用途 |
|---|---|---|---|
| noul | 这个陈述成立吗 | 0~1概率,置信度字段 | 是非判断、告警触发、内容过滤 |
| choice | 属于哪一个选项 | 选中项、全选项概率分布、置信度 | 路由分发、标签分类、动作选择 |
| score | 在这个量度上处于什么位置 | 落在区间之内的分数、档位说明、置信度 | 严重程度评级、相关性打分、排序 |
实用约束说明:choice最多支持255个选项;超过上限官方建议用分两步筛选的流程。score档位最少两级,接口最多接受10级;单次请求的问题数量上限255个。
关键性能特性是问题并行处理。一份state可以携带多个问题一次性提交,800个问题的耗时与单个问题相近。不要把判断拆成多次调用。应当合并到同一次请求。批量场景下可以把多条记录放进state,一次性批量执行。
在Codex中用自然语言下达任务时,问题设计尽量直接、窄范围。官方Skill给出的设计原则:判断要窄,state要结构化,提供证据而不是开放提问。在非结构化文本里也有专门lint工具检查请求质量。
成本与计费
Jev仅按输入Token计费,输出免费。TypeSafe发布文档按照每百万输入Token公布单价,输出成本低到几乎不计入计量,详细价格参考官方文档。Simon Willison指出,这个输入单价远低于行业常见超大模型。
实践建议:既然单次调用成本低,接入后应当大规模做非生产环境调参。Simon Willison的观点:跑几百上千条测试样例验证边界,远比在大模型上做同类测试更划算。
计费路由有两种方案,可以设置不同密钥切换。TypeSafe官方账单单独在TypeSafe账户;使用OpenRouter,账单落在OpenRouter账号。国内开发者有两条路由方案可选,也可以选择先用4sapi的开放测试集,在本地验证逻辑,再决定接入云端服务;模型侧同样可以使用国内可直接访问的多模型推理平台,统一兼容主流SDK格式。Treerouter作为API网关,可在多模型、多服务商之间统一做鉴权与路由调度,适合这类混合调用场景。
常见问题
Jev能否替代Codex里的主力模型?
不能,二者是互补关系。Jev不生成文本,不写代码,只回答预定义选项的判断问题。标准分工是Jev处理高频重复的分类打分,Codex主力模型负责理解需求、编写代码与最终校验。社区项目Jev Browser Use的定位就是Jev负责点击,Codex负责思考验证。
接入后Codex会自动使用Jev吗?
安装MCP不会自动启用Jev,需要在提示词里明确调用。想要智能体主动识别适用场景,需要额外安装Jevify这个Skill,教会智能体批量语义判断交给决策模型。注意Skill是否激活取决于宿主智能体,安装本身不会自动拦截工具输出。
没有TypeSafe密钥能先试用吗?
社区有多个开源实现,例如基于Qwen、3.5等开源模型提供的兼容Jev接口的方案,可以本地运行验证流程。不过社区版本在完整性、指标上和官方Jev存在差距,原型验证阶段适合,生产环境建议走官方接口。
判断置信度偏低怎么办?
noul和choice都会返回0~1置信度,你需要设置阈值,低于阈值交给人工或者大模型复核。typesafe-mcp命令行工具提供--mark-uncertain参数标记低置信结果。另外确认任务是否落在它的薄弱项上;官方jaggedness文档指出Jev 1.13在数字、日期与对抗内容上表现偏弱。
为什么不给Jev看完整原文也能返回结果?
Jev不会读取问题字段之外的文档说明,questions的键由调用方自定义,答案按同名键返回,但键名本身不会发给底层模型。判断依据完全来自instructions和criteria字段,语义描述要写在这两处,不能指望键名传递意图。
总结
Jev接入Codex有三条成熟路径:MCP服务器一条命令完成注册,适合快速打通原型;Agent Skill让智能体自动识别适用场景,Jevify和Jev Browser Use是当前生态里最完善的两个插件;官方SDK把各个判断合并到调用链路,适合生产环境下沉稳定逻辑。本文所有配置与接口都来自TypeSafe官方文档,三种方案、各类问题选型、计费路由,以及截至2026年9月24日的模型版本Jev1.13.0。该生态发布不足两周,更新频繁,具体命令请以仓库最新说明为准。






