Jev 这几天火得有点夸张。jev-ultrafast(在新标签页打开) 创建不到三天就超过 6400 Star,Mac 与 Android 自动操作、Coding Agent 路由、代码审查等项目也接连冒了出来。Jev(在新标签页打开) 是 TypeSafe 推出的模型,专门处理程序预先限定好答案范围的问题。它只返回选择、评分或概率,不写开放式答案。
不写答案,Jev 到底返回什么?
生成式大模型拿到页面状态或 Git diff 后,往往先解释一遍。可程序有时只要一个动作:下一步点哪个按钮。等模型写完,程序还得从回答里把动作找出来。
Jev 直接放弃了这部分自由。TypeSafe 把它称为第一个 System One 模型(在新标签页打开):输入仍然可以是一段文字或一组结构化状态,问题和可选答案由程序提前定义,输出则固定为程序可以直接读取的判断。
| 类型 | 程序问什么 | Jev 返回什么 | 适合的动作 |
|---|---|---|---|
Choice | 几个候选里选哪个 | 选中的答案与全部概率 | 选按钮、工具、模型或处理队列 |
Score | 当前对象处在哪个程度 | 各等级的概率与加权分数 | 排相关性、严重程度或优先级 |
Noul | 一件事是否成立 | “是”的概率 | 判断是否紧急、是否匹配某条规则 |
例如,浏览器已经把 Google Flights 当前页面整理成三个可执行动作。最小的 Choice 请求可以这样写:
{
"model": "jev-latest",
"state": {
"goal": "查找 2026-09-20 苏黎世到伦敦的单程航班",
"page": "Google Flights,出发地和目的地均为空",
"available_actions": ["填写出发地", "填写目的地", "打开日期选择器"]
},
"questions": {
"next_action": {
"type": "choice",
"instructions": "选择现在应该执行的动作",
"criteria": {
"填写出发地": "出发地为空时选择",
"填写目的地": "出发地已填写、目的地为空时选择",
"打开日期选择器": "出发地和目的地已填写时选择"
}
}
}
}
TypeSafe API(在新标签页打开) 会在 next_action 下返回选中的动作、每个候选的概率和整体置信度。程序拿到结果后可以直接执行;几个候选的概率过于接近时,再把这一步交给更强的模型。
返回类型固定,不代表判断一定正确。多高的概率才直接执行、什么时候换强模型、执行后检查什么,仍由程序决定。
怎么开始用 Jev?
- 打开 TypeSafe 官网(在新标签页打开),点击
Join Waitlist,填写邮箱加入候补名单。 - 邀请邮件一般会在第二天到达。收到标题为
You're in!的邮件后,点击Create your account完成注册。

- 登录 TypeSafe Console(在新标签页打开),创建 API Key。
- 请求
POST https://api.typesafe.ai/v1/systemone,把 API Key 放进Authorization: Bearer <API_KEY>请求头,再提交前面的state、model和questions。接口会在answers中返回对应的选择、评分或概率。
7 秒搜到航班,Jev 省掉了什么
browser-use/jev-ultrafast(在新标签页打开) 收到的任务只有一句:查找 2026 年 9 月 20 日苏黎世到伦敦的单程航班,匹配结果出现后停下。从第一个动作开始算,Google Flights 显示航班结果时,录屏计时只有 7.1 秒。
每次页面变化,jev-ultrafast 都会重新列出带编号的按钮、输入框和下拉选项。Jev 在一次请求里同时选择操作类型和目标元素。只有需要 TYPE_TEXT 时,才会调用一个小型语言模型填写具体文字。浏览器 Agent 不必每一步都把整张截图交给大模型重新理解。
同一个航班任务连续跑了 3 次,3 次都进入匹配的结果页。优化前后,中位耗时从 9.450 秒降到 7.092 秒,浏览器协议调用从 1092 次减到 101 次。这 7.1 秒只算搜到结果页,不包括选择航班或下单。
同一思路也被搬到了 Mac 和 Android:
- typesafe-computer-use(在新标签页打开) 读取 macOS 的 Vision OCR 和辅助功能树,再让 Jev 选择点击、滚动或输入。只有需要填写自由文本时,才会调用另一个小型语言模型。
- mobile-jev(在新标签页打开) 通过 Mobilerun 操作真实 Android 设备。Uber 演示用约 21 秒执行 9 个动作,从打开 App 走到付款方式页面,没有真正下单。输入文本直接从目标语句里取已有片段,不需要另一个生成模型。
这三个项目快在同一个地方:浏览器、OCR、辅助功能树或设备 API 先把整张界面压成一组可选动作,Jev 不用再从像素开始猜。Jev 选得再快,也选不出候选列表里没有的动作。
到了 Coding Agent,Jev 选什么?
Jev 还是不写代码,只在现有流程里回答两个问题:这轮用哪个模型,Git diff 里哪段改动值得继续看。
jev-router(在新标签页打开) 挂在 Claude Code 和 Codex 前面,每个新的用户回合只做一次判断:简单任务用快速模型,普通任务用平衡模型,复杂任务才升到强模型。CLI 原有的登录、会话、工具和权限提示都不变,Jev 只选档位。
jev-review(在新标签页打开) 把同一种判断放到 Git diff 上。它先选值得继续看的文件和 hunk,再判断准确性、安全性、可靠性、兼容性和测试影响。这些结果用来缩小强模型需要阅读的范围,不会替代编译器、静态分析和项目测试。
Jev 在完整的 Coding 流程里只负责中间这一步:
git diff
↓
编译、测试、lint、类型检查和静态分析
↓
Jev 对文件或 hunk 做快速语义分流
↓
强模型阅读被选中的上下文、定位原因并修改代码
↓
重新运行确定性检查
文章审校也能这样分工。参考库先找同类标题、开场和正文,Jev 再批量判断有没有重复、过度解释或机械对照。
Every 的 Mike Taylor 一次扫了 37 篇文章,每篇问 21 个问题,777 个判断只用了 0.7 秒(在新标签页打开)。他随后故意埋下 7 处问题,Jev 找出 6 处,更大的模型找出了全部 7 处。
Jev 快在筛出值得继续看的位置,不是替人改完全文。官方文档明确说,英文是它的主要训练语言;中文、日文和韩文可以处理,但准确率不如英文。扫中文文章时,先用概率标出可疑段落,再由强模型阅读完整上下文,最后仍要从标题到结尾复读一遍。
Jev 可以直接插进现有的 Agent Skill 工作流:它先筛模型、diff 和段落,Coding Agent 再读上下文并修改,最后由编译器、测试或全文复读检查结果。
几个比较实用的场景
在 Higgsfield 的演示里,Jev 先从现有图片和视频中选出素材,DeepSeek 与 Higgsfield(在新标签页打开) 再把这些素材做成广告创意。
Matthew Berman 的演示(在新标签页打开) 一次分析了 37 个品牌正在投放的 724 条广告。Jev 会判断每条广告用了什么钩子、形式、报价和 CTA,处在哪个用户认知阶段,落地页是否匹配。724 条广告约 40 秒跑完,作者记录的 token 费用约为 0.09 美元。程序再把这些结果汇总成可比较的数据。
邮件演示把 300 封模拟企业邮件分到 15 个类别,画面左边跑 jev-latest,右边跑 DeepSeek V4.1 Flash。除了类别,界面还会分别判断邮件是否加急、能否直接丢弃。Jev 处理完 300 封时,录屏显示 5400 个判断、9.9 秒和 0.0366 美元;右边的 DeepSeek 当时只处理了 10 封。
前端组件也能成为候选。Vercel Labs 的 JSON Render Jev 实验(在新标签页打开) 目前还没发布到 npm,只能通过 source build 试用。应用先注册可以使用的组件、属性、状态绑定和动作,Jev 再决定页面放哪些元素、怎样排列。JSON Render 最后生成一份可校验的 Spec,再把它渲染成页面。候选里没有的文字、数据或图表类型,Jev 不会自己补上。
Jev 没开源,本地还能跑吗?
能,但跑的不是官方 Jev。TypeSafe 没有公开模型权重,目前能在本地尝试的是 SemIf 和 jevlike。前者直接用开放模型做判断,后者可以用自己的数据训练。
SemIf(在新标签页打开) 原来叫 OpenJev。它沿用 Jev 的输入输出方式,底层换成 Qwen3.5 4B、MiniCPM5 2B 等开放模型,直接读取候选的 logits 并换算成概率。仓库提供 NVIDIA GPU、Apple Silicon 和 WebGPU 三条运行路径。
jevlike(在新标签页打开) 走的是训练路线。每条训练数据包含一段上下文、一组数量可变的文字选项和正确答案,小模型一次为所有候选打分。仓库带有合成菜单、Wikispeedia 点击数据、Doom 和国际象棋示例,可以用自己的数据试着训练一个最小的动态候选模型。
最近比较火的 Jev 开源项目
目前最容易直接试的是 jev-ultrafast 和 SemIf;其余项目多数还是演示、实验或项目目录。
| 项目 | GitHub Star | Jev 负责什么 | 现在适合做什么 |
|---|---|---|---|
| jev-ultrafast(在新标签页打开) | 约 6.4K | 选择浏览器下一步动作 | 直接运行浏览器 Agent |
| SemIf(在新标签页打开) | 约 1.7K | 用本地模型判断动态候选 | 在本地体验 Jev 的输入输出方式 |
| jevlike(在新标签页打开) | 约 930 | 训练动态候选选择模型 | 学习或训练自己的小模型 |
| jev-trader(在新标签页打开) | 约 990 | 判断买入、卖出或继续等待 | 查看 Jev 怎样接进交易机器人 |
| awesome-jev-by-typesafe(在新标签页打开) | 约 560 | 汇总用法、提示和示例 | 继续寻找项目和案例 |
| jev-review(在新标签页打开) | 约 300 | 筛选 Git diff 中的文件和 hunk | 体验代码审查分流 |
| typesafe-computer-use(在新标签页打开) | 约 380 | 选择 macOS 下一步动作 | 运行 Mac 自动操作实验 |
| mobile-jev(在新标签页打开) | 约 180 | 选择 Android 下一步动作 | 操作 Android 真机 |
| jev-router(在新标签页打开) | 约 170 | 为 Claude Code 与 Codex 选择模型 | 体验 Coding Agent 模型路由 |
jev-trader(在新标签页打开) 很能说明这种能力为什么让人上头。Monad 每产生一个新区块,Jev 都会根据当前市场状态选择买入、卖出或继续等待。项目默认使用模拟模型;没有私钥时只做空运行。
想继续找案例,可以看 awesome-jev-by-typesafe(在新标签页打开) 和 awesome-jev(在新标签页打开)。这两个仓库收集了相关项目、提示和用法,本身不能直接运行。vlad-terin/jev-browser 的仓库目前返回 404,已经无法安装。
官方 Jev 按输入 token 计费,输出不收费。2026 年 9 月 19 日,模型页(在新标签页打开)显示每百万输入 token 0.042 美元,上下文长度为 64K;jev-latest 当时指向 jev-1.13.0。接入时可以直接使用 jev-latest,具体价格和版本以模型页为准。
Jev 适合处理的任务
判断 Jev 是否适合一个任务,可以先问一句:程序能不能在调用模型之前列出足够完整的候选答案?
能列出来,而且这一步会反复执行,就适合交给 Jev。网页上选哪个元素、请求交给哪个模型、某段 diff 是否需要继续审查,都属于这类问题。程序可以保存每个候选的概率,再决定直接执行还是交给更强的模型。
列不出来,就继续使用生成式大模型。写解释、提修复方案、生成代码,或者寻找候选之外的新原因,都不适合交给 Jev。能由普通代码精确计算的结果则直接写程序,格式校验、类型检查、哈希比较和权限规则没有必要再让 AI 猜。
Jev 快,是因为它少做了一件事:不生成答案,只判断 Agent 下一步该选什么。答案范围缩小以后,延迟和费用一起降了下来,程序也能直接读取结果。
想继续看别人把 Jev 用在哪,可以逛逛 Jevable(在新标签页打开)。上面收集了游戏、表单、代码审查、语义搜索和浏览器 Agent 等项目,点开就能看到原始演示。