heyjunpenn/awesome-jev · 上手攻略
- 仓库:heyjunpenn/awesome-jev
- 链接:https://github.com/heyjunpenn/awesome-jev
- 分类:AI 开发工具 · SDK 生态
- 作者:Tom
- 更新:2026-09-24
这是什么
awesome-jev 是一个社区维护的开源项目目录,收录了 896 个基于 TypeSafe AI Jev 决策模型构建的 SDK、工具和集成项目(统计截至 2026-09-23)。仓库本身不是一个 SDK,而是对 Jev 生态的全面测绘——覆盖 Python、TypeScript、Go、Rust、Ruby、Java、Scala、Elixir、Swift、C#、PHP、Zig 等 15+ 编程语言。
解决什么问题
Jev 是 TypeSafe AI 的旗舰决策模型,2026 年 9 月 15 日以"System One Model"定位正式出道。与传统大语言模型不同,Jev 不生成文本,而是:
- 输入:任意非结构化状态(JSON、日志、邮件、工单、代码上下文等)
- 输出:带校准置信度的类型化决策(不是文字解释,而是代码可直接使用的结构)
Jev 支持三类决策问题:
| 问题类型 | 作用 | 示例 |
|---|---|---|
| Choice | 从预设选项中选一个 | "这个工单应该路由到哪个团队?" |
| Score | 按评分规则打分 | "这段代码安全性几分?" |
| Noul | Yes/No 判断 | "这个 PR 可以合并吗?" |
每类回答都附带了置信度数值,代码里直接 threshold 判断即可,无需解析文字。
awesome-jev 的价值:快速找到适合自己技术栈的 Jev SDK,了解生态里有什么可用,避免重复造轮子。
快速安装
⚠️ 以下为截至 2026-09-23 的信息;API 尚在 early access 阶段,接口可能有变化
前提:需要 TypeSafe AI System One API Key(申请通道 https://docs.typesafe.ai/api)
Python
pip install jevclient # Async Python client (★1)
# 或
pip install decido # 支持 Jev + 自带 Playwright crawler (★1)
from jevclient import JevClient
client = JevClient(api_key="tsk-...")
# Choice 问题
result = await client.choice(
state={"ticket": "用户无法登录,错误码 500"},
question="应该路由到哪个团队?",
choices=["billing", "eng-backend", "eng-frontend", "security"],
)
# result.answer = "eng-backend", result.confidence = 0.87
TypeScript / Node.js
npm install jev # 官方 TS SDK
# 或
npm install pi-typesafe # 带批处理的 PI extension (★26)
# 或
npm install zod-jev # Zod 验证 + Jev 语义校验 (★7)
import { Jev } from 'jev';
const jev = new Jev({ apiKey: process.env.TYPESAFE_API_KEY });
const { answer, confidence } = await jev.noul({
state: "Log: ERROR 500 at /api/auth 2min ago",
question: "Should we page the on-call engineer?",
threshold: 0.7,
});
// answer = true, confidence = 0.91 → 触发告警
Go
go get github.com/mattn/go-jev # ★13, 最活跃的 Go 客户端
# 或
go get github.com/AbdelStark/s1-rs # Rust 版本
import "github.com/mattn/go-jev"
client := jev.New(os.Getenv("TYPESAFE_API_KEY"))
result, err := client.Choice(
context.Background(),
"Order #12345 status: shipped, tracking not updated in 72h",
"Should we issue a refund proactively?",
[]string{"refund_now", "wait_customer", "contact_carrier"},
)
// result.Answer == "refund_now"
其他语言速查
| 语言 | 推荐 SDK | 安装 |
|---|---|---|
| Rust | typesafe-ai (gilljon/typesafe-ai-rs) |
cargo add typesafe-ai |
| Java | spring-ai-typesafe (Spring AI 官方) |
Maven: spring-ai-typesafe |
| Scala | openai-scala-client (★249, 最高星) |
libraryDependencies += "io.cequence" %% "openai-scala-client" |
| Ruby | typesafe-sdk (joshmn/typesafe-sdk) |
gem install typesafe-sdk |
| Swift | TypeSafe Swift SDK (krzyzanowskim) |
SwiftPM |
| C# | typesafeai-dotnet-sdk |
dotnet add package TypeSafeAI.DotNet |
| PHP | typesafe-sdk-php (Butochnikov) |
composer require typesafe/typesafe-sdk-php |
| Elixir | typesafe_sdk (nshkrdotcom) |
{:typesafe_sdk, "~> 0.1"} |
核心用法
决策问题三剑客
# 1) Choice — 从选项中挑
result = await client.choice(
state={"pr_size": "500 lines", "test_coverage": "60%", "reviewers": 2},
question="Should this PR block the release?",
choices=["block", "warn", "approve"],
)
# 2) Score — 打分
result = await client.score(
state={"code": "...", "language": "python"},
question="Rate security risk on a 1-10 scale",
rubric={"1": "no risk", "5": "moderate", "10": "critical"},
)
# 3) Noul — Yes/No
result = await client.noul(
state={"error_log": "..."},
question="Is this an infrastructure incident requiring escalation?",
)
置信度门控
THRESHOLD = 0.8
result = await client.noul(state=data, question="Is this spam?")
if result.confidence < THRESHOLD:
# 置信度不够,交给人工复核
send_to_human_review(result)
else:
# 置信度足够,自动化处理
auto_action(result.answer)
自带 Provider(不依赖 Jev)
# decido 可以接 Jev 也能接其他 provider
from decido import DecisionEngine
engine = DecisionEngine(provider="jev", api_key="tsk-...")
# 或切换本地模型
engine = DecisionEngine(provider="local-llm")
典型适用场景
| 场景 | 用法 |
|---|---|
| 工单/Issue 路由 | Choice 决策:路由到哪个团队或负责人 |
| 代码安全审查 | Noul 判断:是否含硬编码密钥、SQL 注入风险 |
| PR 合规检查 | Score 打分:按 rubric 评估可合并性 |
| 客服工单分类 | Choice:从 billing/technical/refund 等选项判断 |
| 告警压缩 | Noul:海量监控告警,只对真正的故障触发通知 |
| 数据质量判断 | Score:打分数据完整度,过低则打回 |
坑与注意
⚠️ API 尚在 Early Access:截至 2026-09-23,TypeSafe System One API 仍是 early access 阶段。部分 SDK 版本可能与官方 API 版本不同步,使用前建议先跑官方 examples。
⚠️ 密钥管理:不要把 TYPESAFE_API_KEY 硬编码进代码,推荐用环境变量或 .env 文件(已有 id_rsa / .env / credentials.json 等路径的写入拦截,见 orchestrkit 仓库的 hook blocklist)。
⚠️ 置信度阈值设置:官方建议 0.8 为默认阈值,但不同场景的最优阈值不同——建议先用测试集标定,再写入生产。
⚠️ Choice 选项数量:选项越多,置信度可能越分散。超过 10 个选项时建议分层(先大类,再细类)。
⚠️ Noul vs Score 的选择:Yes/No 够用就用 Noul,比 Score 响应更快(延迟更低);只有需要解释性时用 Score。
⚠️ 没有文字解释:Jev 不返回自然语言推理过程,只返回决策 + 置信度。如需解释,需要配合一个普通 LLM 基于结果再生成。
⚠️ 生态新鲜度:896 个项目绝大多数是 2026 年 9 月之后创建的,质量和维护状态参差不齐。优先选 ★ 高的(openai-scala-client ★249、advocaat ★85、go-jev ★13)。
与同类对比
| 方案 | 类型 | 延迟 | 成本 | 输出 | 适用场景 |
|---|---|---|---|---|---|
| Jev(TypeSafe) | 专用决策模型 | 70–500ms | 极低 | 类型化决策+置信度 | 自动化判断、工单路由、告警压缩 |
| 普通 LLM(Claude/GPT) | 通用生成模型 | 秒级 | 高 | 文字 | 需要解释、复杂推理、多步骤生成 |
| LangChain / LlamaIndex | LLM 编排框架 | 取决于 LLM | 高 | 文字 | 文档检索、RAG、知识问答 |
| 规则引擎(Drools) | 确定性规则 | 毫秒 | 极低 | 确定性 | 规则固定、不可接受概率误差 |
Jev 的核心差异:不是"生成答案",而是"执行决策函数"。LLM 在生成文字,Jev 在做判断——这个设计使其延迟比 LLMs 低 40–200 倍,成本也相应极低。
一句话推荐结论
Jev 生态爆发中,awesome-jev 是当前最全的索引入口——如果你要做工单路由、告警压缩、PR 合规判断等"非生成式 AI 决策",Jev 的速度与成本优势明显,awesome-jev 帮你快速找到自己语言的 SDK 上车。⚠️ API 早期阶段,生产使用前请确认官方稳定性承诺。