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并完成注册。

  1. 获取API密钥

前往TypeSafe控制台 console.typesafe.ai 注册账号并创建密钥。如果已有OpenRouter账号,也可以使用OpenRouter密钥切换另一套计费路由;两套密钥体系不互通。

  1. 安装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
  1. 注册到Codex
TYPESAFE_API_KEY=你的密钥 evaluate setup mcp

该命令会探测PATH环境内的codex命令并完成注册,同时会注册到Claude Code与Claude Desktop(如已安装)。注册过程会把所有TYPESAFE_前缀环境变量复制进客户端配置,因为MCP客户端启动服务器时不会继承shell环境。更换密钥后,必须重新执行这条注册命令。

如果切换为OpenRouter路由,环境变量改为OPENROUTER_API_KEY。两个密钥同时存在时,TYPESAFE_API_KEY优先级更高,可以避免遗留的OpenRouter密钥意外消耗账单额度。

  1. 手动配置(自动注册失败场景)

自动注册无法找到Codex时,可以手动在MCP配置文件内添加下面JSON片段:

{
  "mcpServers": {
    "evaluate": {
      "command": "/Users/你的用户名/.local/bin/evaluate",
      "args": ["mcp"],
      "env": {"TYPESAFE_API_KEY": "你的密钥"}
    }
  }
}

自建私有化部署场景,额外增加TYPESAFE_BASE_URL环境变量。如果想要跑本地开源替代模型,将该变量指向本地服务地址,密钥字段填写任意非空字符串即可。

  1. 验证接入是否生效

新建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,而不是单纯提供一个可调用工具。

  1. 官方TypeSafe Skill
npx skills add typesafe-ai/skills --skill typesafe-ai

命令会提示选择目标智能体,选中Codex。默认仅安装至当前项目,增加-g参数全局安装。这个Skill会教会智能体如何设计Jev请求,以及在三类问题类型之间取舍。斜杠指令/typesafe:typesafe-ai仅Claude Code支持;在Codex中直接自然语言提示“使用TypeSafe skill”即可触发。

  1. Jevify:自动识别可优化环节

Jevify是ThursdAI社区维护的独立Skill,定位是让智能体主动把批量语义判断交给Jev,而不是逐条完整推理。

npx skills add altryne/jevify --skill jevify -g -a codex -y

它有两个触发入口:处理大文档或调用工具输出时自动触发;也可以直接执行jevify指令,让它扫描现有工作流,找出适合替换为决策模型的环节。

  1. 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。该生态发布不足两周,更新频繁,具体命令请以仓库最新说明为准。