AI DAILY / 2026-09-22
awesome-typesafe-jev:Jev生态的源码佐证资源清单
AbdelStark/awesome-typesafe-jev
全文中文翻译 · AI 生成,仅供学习交流
AbdelStark/awesome-typesafe-jev
官方文档、可运行的集成、独立实验,以及把 Jev 推向新领域的构建者们。Jev 把上下文转化为一个概率、一个选择或一个评分;阈值与动作由你的代码掌握。
一次调用,三种类型化答案。
在 TypeSafe 文档化的支持工单示例中,Jev 选择了技术团队(概率 0.85),按 0–2 评分标准把挫败感评为 1 级,并把紧急程度给出 1.0 的 Noul 概率。示例响应来自 jev-1.13.0;何时路由或升级,仍由应用代码决定。
我想要……
Go here 用 2 分钟理解这个想法 试一下策略阈值,然后阅读介绍以及三个原语 发出我的第一次类型化调用 复制可运行的示例,构造你自己的问题,然后探索官方 SDK 看它实际运行 玩一下 Jev Chess,试试 Typewriter 的 16 项判断或 Jevtown 的模拟观众;浏览更多应用 测试这些声明 独立评估以及 TypeSafe 自己的评估 看实时构建 → 构造一个类型化问题 探索可搜索的网页目录 推荐一个资源 加入构建者社区 独立社区项目。
本仓库与 TypeSafe AI 没有关联,也未经其认可。社区条目按章节标记;收录并不代表 TypeSafe 已审阅或批准它们。
最后更新:2026-09-21。链接和项目描述会变化;请报告过期的条目。
内容 从这里开始 发出你的第一次决策 构造一个类型化问题 试一下策略阈值 在你信任一次决策之前 官方资源 产品和文档 SDK 和开发者工具 概念、模式和实践指南 研究与写作 社区与动态 社区项目 客户端库与集成 智能体与开发者工具 浏览器智能体 应用与工作流 游戏与机器人 评估与独立研究 展示与现场记录 贡献 贡献者 从这里开始 介绍 — Jev 是什么,System One 模型与文本生成模型有何不同,以及 Choice、Score 和 Noul 三个原语。
快速开始 — 从 API 密钥到在 Python 或 JavaScript 中做出类型化决策的最短路径。
如何基于 TypeSafe 构建 — 把工作流拆解为狭义判断的设计指导,同时让策略与副作用保留在代码里。
TypeSafe Console — 创建密钥并检视实时 Jev 请求。
同一个状态在同一次请求里回答若干聚焦的问题。选择你的代码可以直接使用的答案形状: 问题形状 适用场景 返回内容 Noul 一个明确的肯定/否定断言,例如「这条消息是否在请求退款?」 0 到 1 之间的数字:肯定(即「是」)的概率。 Choice 从命名的选项中选出,例如 billing、technical 或 sales。 被选中的选项,每个选项的概率,以及置信度。 Score 一个有序的评分标准,例如 calm、concerned 或 angry。 评分标准上的位置、其各层级的概率,以及置信度。 同时提出独立的问题。阈值、回退行为与副作用在应用代码中设置。
发出你的第一次决策 用 npm install @typesafe-ai/sdk(Node.js 20+)安装官方 JavaScript SDK,在环境中设置 TYPESAFE_API_KEY,把下面代码保存为 first-decision.mjs,然后运行 node first-decision.mjs:
import { choice, noul, TypeSafeClient } from '@typesafe-ai/sdk';
const { answers } = await new TypeSafeClient().systemOne({
state: { ticket: 'I was charged twice. Please refund the extra payment.' },
questions: {
team: choice('Which team should handle this ticket?', {
billing: 'Payments and refunds',
technical: 'Bugs and integrations',
other: 'None of the above',
}),
refund: noul('Does the customer explicitly request a refund?'),
},
});
const team = answers.team.choice;
const probability = answers.team.probabilities[team];
const action = team !== 'other' && probability >= 0.9
? `route to ${team}`
: 'send to review';
console.log({
team,
probability,
refundProbability: answers.refund.noul,
action,
});Jev 返回类型化答案;0.9 的路由规则就是普通的应用代码。这是一个示例性的阈值,并非经过测量或推荐的运行点。工单文本会被发送到 TypeSafe 的 API;首次调用请使用合成的工单。
构造一个类型化问题 从一个状态和一个你的代码可以直接使用其答案的问题开始。这个合成的支持报告可以以 Choice、Noul 或 Score 的方式提问。在实时站点上,编辑字段并复制一份 JavaScript SDK 调用。设计器在浏览器中运行,不会发起模型请求;稍后运行复制的代码时会把状态发送给 TypeSafe。
设计输入 合成示例 状态文本 PDF 上传失败并报 500 错误。我需要在今天截止时间之前完成。
Choice 问题 哪个团队应该处理这份报告?
Choice 选项 technical=失败与集成;support=账户与使用帮助;other=均不适用 Noul 问题 消息中是否明确提到了截止时间?
Score 问题 所报告的问题在多大程度上阻塞了用户的工作?
Score 级别 美观问题;有可用变通方法;阻塞任务 让状态保持简短,对选项的描述使其互不重叠,并在任务允许时加入一个「无匹配」选项。仅在测量了你自己的标注样本之后,再选择阈值和动作。
试一下策略阈值 上面文档化的支持工单示例以概率 0.85 选出了 technical。在这个示例性的策略里,工单只有在被选中的概率达到应用阈值时才会自动路由。在 0.90 时,它进入审核;在 0.80 时,它路由到 technical。模型的答案保持不变。这些阈值是教学示例,而非经过测量的运行点或安全保证。
策略输入 示例值 选中的团队 technical 选中的概率 0.85 起始阈值 0.90 在实时站点上,移动阈值即可看到应用采取的动作。真实的阈值需要在你自己的标注样本上评估,并为不确定性预留一条审核路径。
在你信任一次决策之前 给不确定的样本一个去处。
在一次 KoBBQ 校准审计中,移除「未知」Choice 选项迫使模型对无法回答的条目强行作答。在任务允许歧义时,请加入一个「无匹配」或审核路径。
在你自己的标注数据上测量阈值。
Janus 发现,在一份数据集上有用的路由阈值换到另一份数据集就不再生效;它不附带默认阈值。
把排序当作排序来测试。
一项独立的排序研究通过了其主题归属检查,却在多个产品相关性检查上失败。仅靠分类准确率并不能证明对概率使用 ORDER BY 是有用的。
围绕模型审计策略。
在一次智能体动作门控评估中,最大的错误来源是应用自身把答案映射为动作的逻辑。把权限、阈值与副作用显式地保留在代码里。
这些研究使用的是特定的任务、数据集和模型版本。把它们的结果视作针对你工作负载的测试设计,而非普适保证。
官方资源 产品和文档 TypeSafe AI — System One 模型与 Jev 的官方产品站点。
Documentation — 指南、SDK 参考、模式、实践指南,以及 HTTP API。
HTTP API reference — 直接 API 集成的请求与响应契约。
Interactive demos — 官方动手示例,包括智能家居助手。
Workflow evals — TypeSafe 已发布的工作流、模型对比、方法论和示例查询。
SDK 和开发者工具 JavaScript SDK — 官方 JavaScript 与 TypeScript 客户端,带有推导出的答案类型。
Python SDK — 官方同步与异步 Python 客户端。
System One Adapter — 即插即用的 Python 适配器,可在 OpenAI、Anthropic 以及兼容 OpenAI 的 LLM API 上运行同一套类型化接口。
TypeSafe Agent Skills — 官方智能体技能,用于在 Claude Code、Codex 以及其他兼容技能的智能体中设计 TypeSafe 工作流。
TypeSafe GitHub organization — TypeSafe 维护的源代码仓库。
概念、模式和实践指南 Primitives — Choice、Score 和 Noul,包括它们的结果形状以及各自的适用场景。
Confidence — 置信度与答案概率的区别,以及如何把它用作架构层面的控制手段。
Patterns — 置信度门控路由、复合评分、投机性扇出与意图路由。
Example use cases — 从真实工作流到类型化判断的映射图。
Cookbooks — 可复现的实现,覆盖并行问题、重排序、语义搜索、护栏、抽取、分类等。
Agent skill guide — 官方 TypeSafe 技能的安装与使用说明。
研究与写作 Introducing System One Models & Jev — 发布文章、产品立论、已公开的结果与明确的局限性。
Manifesto — TypeSafe 关于「为软件而构建、而非为对话而构建」的机器原生智能的论述。
The Bitterest Lesson — 为什么在错误的任务上做优化,会压倒单纯靠规模带来的收益。
AI: too good to be true, too bad to be useful — 关于在自动化中超越偏好优化聊天模型的论证。
社区与动态 Discord — 面向构建者的官方社区服务器,用于互助与讨论。
Show and Tell — 构建者们的演示与进行中的工作;需要先加入 Discord 服务器。
X — 产品与研究动态。
LinkedIn — 公司公告与招聘信息。
社区项目 除非其仓库另有说明,社区项目均为独立项目。在将其用于关键系统之前,请阅读其代码、许可证、数据处理说明与评估注意事项。
客户端库与集成 Advocaat — 小巧的 TypeScript 客户端,为类型化的概率、选择与评分提供便捷的标签化辅助函数。
DuckDB Jev — 原生 DuckDB 扩展,提供 Jev 谓词、Choice 分类、Score 评分标准以及对 SQL 行做流式批处理判断,支持每查询预算、缓存与请求遥测;已发布的实时吞吐基于重复的合成工单语料,并不衡量分类准确率,且二进制文件必须匹配对应的 DuckDB 版本与平台。
Hunch — 一个 Ruby gem,把判断调用转化为控制流:例如 Hunch.likely?("fraudulent", given: order) 基于类型化的 Jev 答案进行分支,配合用于 Choice 的 pick、用于 Score 的 rate,以及从 possibly? 到 definitely? 的分级谓词;与 TypeSafe AI 没有关联。
jev-acp — 独立的 ACP 智能体,用于 Jev 的 Choice、Score 与 Noul 决策,提供引导式输入、可复用模板与概率展示;需要 TypeSafe API 密钥,并将决策输入发送给 TypeSafe。
jevql — 形似 psql 的 CLI 以及 Go/TypeScript/Python SDK,允许你在原生 Postgres 上写出 WHERE jev(alias, 'condition')、jev_prob、jev_choice、jev_score 等语句,无需扩展:它在服务器上执行纯 SQL,对存活下来的行用 Jev 批量判断(缓存于本地 SQLite),并在客户端应用 filter、sort 与 group;任何通过 SQL 过滤的行都会被发送给 TypeSafe 并进行判断,因此应先把廉价的谓词放进 SQL。
json-render — 生成式 UI 框架,包含一个实验性的 Jev 组合器,可从应用提供的候选组件与布局中通过 Vercel AI Gateway 进行选择。Jev API 尚未发布,需要从源码构建;组件、动作和副作用由应用代码掌握。
LlamaIndex Jev — 基于官方 Python SDK 的非官方 LlamaIndex 重排序器与查询引擎选择器:Jev 对检索到的段落打分,并选择由哪个工具处理查询;评分模式采用 0–3 评分标准,而非余弦相似度。
NeuroLink — TypeScript SDK,将 Jev 作为与 generate、stream 并列的第三种推理类型暴露出来,通过 inferenceKinds 字段按 provider 声明,而非从行为推导而来,并在内部用于模型路由、上下文压缩、MCP 工具选择与 RAG 规划;所有内部调用方都使用一个 fail-open 包装器,在任何失败时返回 null,因此在没有配置密钥的情况下其行为与之前完全一致,且与 TypeSafe AI 没有关联。
OCaml SDK — 非官方、基于 eio 的客户端。
pi-typesafe — Pi 扩展与库,为智能体及其他扩展提供一个经用户同意、托管密钥的 TypeSafe 客户端,具备批处理的 typesafe_evaluate 工具和可离线测试的传输层;请求按用户开启且计费。
RubyLLM TypeSafe — RubyLLM 2 的 TypeSafe provider,包含离线模型元数据与类型化响应。
s1-rs — Rust 的派生层,覆盖 Choice、Score、Noul、类型化问题集、置信度门控以及无需网络的测试。
scala-jev-sdk — 社区版 Scala 3 客户端,面向 TypeSafe 的 System One API,提供类型化的 Noul、Choice 与 Score 问题,答案通过问题值本身获取;不内置 effect 系统,因此同一份代码可在任意 sttp 后端上运行,从 Future 到阻塞式、cats-effect 或 ZIO;重试尊重 Retry-After,并在发送往返请求之前由本地校验拒绝畸形的问题集;每次调用返回 Either 而非抛出异常,除 Future 和阻塞 Identity 之外的 effect 必须提供一行 sleeper 用于重试计时器;不支持 Scala 2.13,且与 TypeSafe AI 没有关联。
Swift SDK — 非官方、实验性的 Swift 客户端,支持类型化答案、async/await 以及 Swift Package Manager。
TypeSafe AI for Rust — Rust 客户端,同时提供异步与阻塞传输、类型化响应、可观测的重试与可检视的错误。
TypeSafe AI Swift SDK — 不依赖第三方库的 Swift 6 客户端,支持 Choice、Score 与 Noul 问题,严格并发,可配置重试以及无需网络的传输测试;面向生产环境的 Apple 应用应通过后端代理请求。
TypeSafe SDK for Go — 社区版 Go 1.23 客户端,面向 TypeSafe 的 System One API,提供单次请求中的类型化 Noul、Choice 与 Score 问题,支持「选项优于环境」的配置方式、尊重 Retry-After 的重试、与 errors.Is 匹配的错误树,以及会抹除凭据 header 但在 debug 级别记录请求体的 log/slog 日志;客户端未建模的答案类型会被丢弃并产生警告而非失败;模块尚未发布带标签的版本,因此 go get 会解析到一个伪版本。
TypeSafe SDK for Java — 社区版 Java 17 客户端,面向 TypeSafe 的 System One API,提供类型化的 Noul、Choice 与 Score 问题,嵌套条件的 lambda 风格构造器,与官方 SDK 一致的重试,针对状态的异常类型,以及 Spring Boot starter;仅依赖 Jackson,且与 TypeSafe AI 没有关联。
TypeSafe SDK for Kotlin — 官方 JavaScript SDK 的社区版 Kotlin 移植,面向 TypeSafe 的 System One API,提供类型化的 Noul、Choice 与 Score 问题,与上游一致的重试策略,针对状态的异常类型,HTTP 与 SOCKS5 代理支持,以及「每个答案与产生它的问题相匹配」的运行时检查;仅面向 Android 与 JVM,通过 JitPack 而非 Maven Central 分发,且与 TypeSafe AI 没有关联。
TypeSafe SDK for PHP — 社区版 PHP 8.3 客户端,面向 TypeSafe 的 System One API,提供类型化的 Noul、Choice 与 Score 问题,可在 TypeSafe 与 OpenRouter 的 decisions 端点之间一键切换,支持重试与单次调用覆盖,兼容任意 PSR-18 传输,并附带 Laravel service provider;调用为同步,模型列表功能仅在 TypeSafe 上可用,且与 TypeSafe AI 没有关联。
typesafe-ai-rails — 社区版 Rails 集成,基于 typesafe-sdk 构建,提供 Rails 配置、持久化的用量与成本遥测,以及 Choice 与 Score 答案的可选置信度策略。
typesafe-rs — 以低延迟为目标的 Rust 传输 SDK,设计上追求与官方客户端行为一致。
typesafe-sdk — 社区版 Ruby 客户端,面向 TypeSafe 的 System One API,提供类型化的 Noul、Choice 与 Score 问题,支持重试、模型列表以及线程安全的池化 HTTP 连接;要求 Ruby 3.1 或更高版本,并且没有异步客户端。
typesafe_sdk — 面向 TypeSafe AI 与 Jev 的 Elixir SDK,提供类型化的 Choice、Score 与 Noul 结构体、可配置的重试,以及与上游 API 的对等。
TypeSafeAI.Net — 面向 TypeSafe API 的 .NET 客户端,支持 Noul、Choice 与 Score 问题集,集成 HttpClientFactory 与依赖注入,并附带 Microsoft.Extensions.AI 的护栏、路由、工具与评估器适配器。
Vercel AI Gateway — 第三方托管网关入口,可通过 Vercel 的 AI SDK 与网关调用 Jev。
Vercel AI SDK for Python — Vercel 公开测试版的 Python SDK,包含一个实验性的 evaluate 操作,可通过 AI Gateway 使用 typesafe-ai/jev 发起类型化的 Choice、Score 与 Boolean 问题;该评估 API 仍处于实验阶段,且需要 Gateway 访问权限。
vgi-typesafe — DuckDB 集成,通过社区版 VGI 扩展加载,将 Choice、Noul 与 Score 暴露为 SQL 表函数,可与表做 LATERAL JOIN,返回带有置信度、概率与逐行 token 用量的类型化列,并提供 is_true() 标量用于 WHERE 子句;同一行上的多个问题共享一次请求,批次内重复值只问一次,但每一条非空行都是一次计费请求,会把内容发送到 TypeSafe 的 API。
智能体与开发者工具 Bicameral — Pi 编程沙盒,由一个 LLM 负责编写,而 Jev 提供用于策略、循环检测与代码审查的类型化反射动作;明确表示不是沙箱(译注:原文为 "explicitly not a sandbox",意在强调其并不提供隔离或沙箱保护)。
DGP — 实验性的「基于决策」的智能体协议,附带 Jev 适配器、不可变证据帧、类型化评估以及由应用守卫的提交操作;本地参考应用模拟领域效果,开启后的实时模式会把决策证据发送给 TypeSafe。
Every — 语义化代码搜索 CLI,对每一个函数提出一个 yes/no 问题,并按得到的概率进行排序。
fx — 实验性的 Zig 编程智能体,可选的 Jev 权限审查器:将 review_model 设为 typesafeai/jev 时,会把组合后的策略、上下文以及待执行的动作直接发送给 TypeSafe 或通过 Vercel AI Gateway,再将 Jev 的 Choice 映射为权限决策;所记录的概率与置信度并不充当阈值门控。
hush — 用于 issue 分类的 GitHub Action,会主动弃权:label、spam、needs-more-info 与 possible-duplicate 一次调用给出,但只有当各项分数超过维护者设定的阈值时才会被应用,低于阈值则一律不应用。
is-malicious — 命令行工具,使用 Jev 扫描源代码、配置、构建与 CI 文件,报告可疑行为并给出文件与行号指针,并将被扫描的文件内容发送到 TypeSafe 的 API。
Jev Cookbook — 十五份可运行的 OpenRouter 实践指南,涵盖支持工单分诊、数据清洗、搜索、浏览器操作与 Gmail 标签等场景,配有小型标注样本与保存的实时结果;示例将动作阈值保留在代码里,其样本结果并不构成生产环境的准确率保证。
Jev MCP — Python MCP 服务器,向兼容 MCP 的智能体暴露 classify、score、check、match 与 screen 等工具。
Jev Review — 多阶段的代码审查工作流与本地仪表盘,通过一系列聚焦的 Jev 调用跟踪结构化的信号。
jev-align (Sutro) — 实验性的主动学习 CLI,使用 Jev 评估 CSV、Parquet 与 JSONL 数据,请人对不确定与随机抽样的样例进行标注,并使用 GEPA 提出改进后的定义,同时将标签与提案的接受权保留在人工手中。
Jev-assisted compaction — 一个简单示例,展示如何在 kamchatka 智能体中借助 Jev 做内容感知的压缩。
Jev-assisted shell — 当使用 --assisted-shell 构建并以 --advise 运行时,kamchatka 智能体会对 shell 命令进行分类,为模型想要运行的每条命令提供一个快速、彩色的安全评级。
jev-axi — 遵循 AXI 约定的智能体友好型 CLI,为编程智能体提供 Jev 判断,用于阻断高风险工具调用、过滤获取内容中的提示注入、对构建日志分诊、标记高风险 diff,以及过滤或排序大量条目;其自带的基准测试发现使用它的智能体读取的文件更少但开销相同,因此它定位于做判断,而不是替代读代码。
jev-belay — Claude Code 的 Stop 钩子,在信任「完成」声明之前检查会话记录中是否有证据:仅当文件发生改动但没有通过的检查时,才会发起一次包含四个问题的 Jev 调用