@french-castle/jev-code

中文文档
0.5.0发布于 2026/10/08MITTypeScriptES Module近 30 天下载 3279

Jev,TypeSafe's System One分类器,作为克洛德码,Codex,Pi,和OpenCode内部的一个工具:打入分类,检查,分数,分级,并询问,外加一指令设置.

中文使用文档
文档目录16 节
  1. 你得到的东西
  2. 快开始
  3. 打电话的样子
  4. 工具
  5. 人均健康详情
  6. 国 际
  7. 升级
  8. 配置
  9. OpenAI 决定 API (公有β)
  10. Ollama(当地)
  11. 你自己的门户
  12. 安全说明
  13. 如何运作
  14. 发展
  15. 相关
  16. 许可证

jev 代码

Jev,TypeSafe's System One分类器,作为克洛德代码,Codex,Pi和OpenCode内部的工具.
被打出标签,是/否检查,分数,以及有校准概率的排名,以几百毫秒计.

CI npm Node 20+ MIT


编码器整天做出小的分类决定:在这40个CI失败中,哪一个是 真实的,哪些文件回答了这个问题, 这个 PR 做它描述的,有多严重 每一个发现。 他们通常通过目击,写作 regex,或烧出一个前沿模型 呼叫每个项目.

杰维 是一个决定模型,而不是文本模型:您发送证据并输入 问题,它会用校正概率返回输入的答案, 永远不会出现. jev 代码 转弯 成为四位编码员和船只的一等工具 一种技能,在 以达到它.

┌──────────────┐  jev_classify / jev_check / ...  ┌───────────┐  POST /v1/systemone  ┌──────────────┐
│ Claude Code  │ ───── MCP (stdio) ─────────────▶ │           │ ───────────────────▶ │  Jev, hosted │
│ Codex        │ ───── MCP (stdio) ─────────────▶ │  jev-code │                      │  on TypeSafe │
│ OpenCode     │ ───── MCP (stdio) ─────────────▶ │           │ ◀─────────────────── │  OpenRouter  │
│ Pi           │ ───── native extension ────────▶ │           │  typed answers +     │  or Vercel   │
│ any shell    │ ───── jev-code CLI ────────────▶ │           │  probabilities       │  AI Gateway  │
└──────────────┘                                  └───────────┘                      └──────────────┘

你得到的东西

块它会做什么
五个工具jev_classify, (中文(简体) ), jev_check, (中文(简体) ), jev_score, (中文(简体) ), jev_rank, (中文(简体) ), jev_ask名字相同,JSON也一样,在每一个绳子.
一个技能skills/jev/SKILL.md 告诉代理在任务需要分类器时,如何写出好的课和问题,以及如何对答案采取行动. 根据TypeSafe官方技能改编的参考文献覆盖了将Jev建设成用户自己的代码. 跟着 代理技能 谱.
一个命令设置jev-code setup 探测到Claude Code, Codex, Pi, 和OpenCode 在您的机器上, 将技能和工具都线入其中.
国家行动倡议同样的出击工具,所以技能仍然在没有注册工具的绳子上工作.

快开始

1. 安装到您的代理中 (节点.js 20+):

npx -y @french-castle/jev-code@latest setup

它可以探测到机器上的绳子 并且每张都复制技术并登记 工具。 当您的 shell 中没有 API 密钥时, 它会要求一个右侧( 隐藏输入) 和哪个主机 它属于: TypeSafe, OpenRouter, Vercel AI Gateway, OpenAI, 或您的系统之一网关 本身,在这种情况下,它也要求提供网关的URL。 没有其他配置 .

添加带状名称以明确( A)setup claude codex pi opencode, (中文(简体) ), --project 要安装到 以当前仓库代替您的用户配置,或 --dry-run 先看计划.

最好把钥匙留在你环境中? 运行前导出它 setup,它被捡起来 没有急事。 Pi和CLI也是这样读的 所以 setup 打印要添加到您的行 粘贴密钥后 shell 配置文件 :

export TYPESAFE_API_KEY=...           # TypeSafe direct: console.typesafe.ai/keys
export OPENROUTER_API_KEY=sk-or-...   # OpenRouter: already set if you use it elsewhere
export AI_GATEWAY_API_KEY=vck_...     # Vercel AI Gateway

2. 检查效果:

npx -y @french-castle/jev-code@latest doctor --live

3. 重新开始你的代理人 (或 /reload 请求需要分类器:

尝试上次 CI 运行中失败的测试 : 哪些是 flashy , 哪些是真正的 bug ?

代理装入 jev 技能,电话 jev_classify 与失败和类集 页:1 auto 并告诉你哪些是用手检查的.

打电话的样子

代理人发送原始证据及其所属类别:

{
  "instructions": "Classify each test failure by its most likely root cause.",
  "items": [
    { "id": "test_login_sso", "text": "TimeoutError: SSO callback not received within 10s (attempt 3/3)" },
    { "id": "test_price_rounding", "text": "AssertionError: expected 19.99, got 19.989999999" }
  ],
  "classes": {
    "infrastructure": "Network, database, or runner problems unrelated to the code; likely passes on re-run",
    "assertion_bug": "The code produced a wrong value; deterministic and reproducible",
    "other": "Cannot tell from the excerpt"
  }
}

并获得一个标签, 完整的发行, 和决定 它可以分支:

{
  "summary": { "items": 2, "auto": 2, "review": 0, "by_label": { "infrastructure": 1, "assertion_bug": 1 } },
  "results": [
    { "id": "test_login_sso", "label": "infrastructure", "probability": 0.93, "margin": 0.88, "confidence": 0.9, "decision": "auto", "probabilities": { "infrastructure": 0.93, "assertion_bug": 0.05, "other": 0.02 } },
    { "id": "test_price_rounding", "label": "assertion_bug", "probability": 0.97, "margin": 0.95, "confidence": 0.95, "decision": "auto", "probabilities": { "infrastructure": 0.01, "assertion_bug": 0.97, "other": 0.02 } }
  ],
  "thresholds": { "auto_accept": 0.85, "min_margin": 0.5 },
  "model": "jev-latest",
  "usage": { "input_tokens": 310, "output_tokens": 18 }
}

更多有效载荷 examples/ 和全员合同 skills/jev/references/tools.md。 。 。 .

工具

工具什么时候问带回来
jev_classify许多物品,你们各一个标签标签、概率、边距、, decision: auto | review
jev_check有/没有关于一件证据的问题概率, verdict: yes | no | uncertain
jev_score许多项目按一个定级( 高度、 优先级)得分、最近的关卡、信心、决定
jev_rank哪位候选人回答一个问题每个候选人的关联性,分类,加 any_relevant
jev_ask其他一切:一国的混合问题类型原始系统一的答案

每个工具在花费 a 之前先验证本地输入( 形状、 重复 ID、 请求大小) 调用,将每个项目分批为一个请求,并返回根据您可以计算的阈值计算的决定 每一次通话都取消 政策留在你手中;Jev提供概率.

人均健康详情

克劳德代码

jev-code setup claude 复制技能到 ~/.claude/skills/jev/ 运行 claude mcp add --scope user jev -- npx -y @french-castle/[email protected] mcp。这些工具显示为 mcp__jev__jev_classify 和朋友;技能是: /jev。 。 。 .

偏好更新自己的插件吗 ? 这个寄存器也是 Claude 代码插件市场:

claude plugin marketplace add FrancoisChastel/jev-code
claude plugin install jev-code@jev-code

插件将技能捆绑( E)/jev-code:jev)和MCP服务器. 手动配置和 项目范围注释 : 文献/档案/密码。 。 。 .

代码

jev-code setup codex 复制技能到 ~/.agents/skills/jev/ (Codex的用户级技能) 目录,与 Pi 和 OpenCode 共享)并运行 codex mcp add jev -- npx -y @french-castle/[email protected] mcp。 。 。 . 没有 codex 二进制它附加一个 [mcp_servers.jev] 表格为 ~/.codex/config.toml 换句话说 举起手来 $jev细节 : 文献/档案/编码。 。 。 .

Pi

Pi没有MCP客户端,所以Jev-code也是一个 pi 软件包 谁 扩展注册 . jev-code setup pi 运行 pi install npm:@french-castle/jev-code 复制技能到 ~/.agents/skills/jev/运行 /reload 之后在PI内部。 细节 : 文件/档案/p.md。 。 。 .

打开代码

jev-code setup opencode 将本地 MCP 条目添加到 ~/.config/opencode/opencode.json (备份) 将技能复制到 ~/.agents/skills/jev/,读取 OpenCode。 一个本地人 自定义工具变体生活在 integrations/opencode/jev.ts。 。 。 . 细节 : 文件/档案/公开代码.md。 。 。 .

只有技能,任何代理

该技能是标准的代理技能目录,所以 技术。sh 安装器 为它所支持的70+代理工作:

npx skills add FrancoisChastel/jev-code --skill jev

与 MCP 服务器对等(npx -y @french-castle/[email protected] mcp在你的经纪人的MCP配置中, 或者让特工回到CLI.

国 际

jev-code setup [claude|codex|pi|opencode ...] [--project] [--dry-run] [--no-env] [--no-prompt]
jev-code doctor [--live]                     # which host and key are in use, what is installed
jev-code classify --input payload.json      # same JSON as the tool
echo '{"state":"12 passed, 0 failed","checks":{"green":"Did every test pass?"}}' | jev-code check
jev-code rank --input candidates.json --pretty
jev-code mcp                                 # what the harness configs launch
jev-code skill                               # path of the bundled skill

输出是JSON在stdout。 退出代码2表示使用或配置问题,1表示API失败.

升级

调用配置 启动一个固定命令, npx -y @french-castle/[email protected] mcp,所以一个经纪人 一旦该版本被缓存,就立即启动并下线工作,在你下面没有任何变化,直到 你决定 要升级, 请再次运行设置 @latest:它用新接针重新登记工具, 替换旧条目(亦通过 claude mcp 财务报告和审定财务报表 codex mcp),并刷新复制的文本 技术. doctor 显示每个注册的被绑定版本,并说何时重新运行设置.

npx -y @french-castle/jev-code@latest setup

安装用0.2.1或更早发射无锚命令。 npx 保留第一个版本 缓存一个未绑定的名称, 并且从不寻找更新的名称, 因此安装时看不到更新 他们自己。 运行上面的命令一次,将它们移动到被绑定的命令.

配置

需要一个东道主。 下面的前三个在同一个系统一API后面服务Jev,所以 工具的操作相同,并且只有您通过修改支付的账户; 您的网关也一样 自有能说 API(下级) (中文(简体) ). 后面两个是其他模式的答案 相同的问题:OpenAI的决定 API 和Ollama的地方决定模式 不需要钥匙.

东道主密钥变量默认模式拿个钥匙
类型安全( 直接)TYPESAFE_API_KEYjev-latest控制台.类型安全.ai/键
打开路透社OPENROUTER_API_KEYjev-latest开口/设置/钥匙
Vercel AI 网关AI_GATEWAY_API_KEYtypesafe-ai/jevAI 网关 API 密钥
OpenAI 决定 API( 公共β, 选入)OPENAI_API_KEY + 键 JEV_CODE_PROVIDER=openaigpt-6-luna平台. openai.com/api-keys (中文(简体) )
Ollama( 本地、 选入)无密钥; JEV_CODE_PROVIDER=ollama, (中文(简体) ), OLLAMA_HOST 选项nimbledocs.ollama.com/能力/决定

选择主机的方式 :

  • 变相决定. 一个键被发送到它所坐的变量的主机,不管它看起来怎样 类似; 密钥形状改变( TypeSafe 既发又发) ts_... 财务报告和审定财务报表 apikey_... 键,所以 jev 代码永远不会 从他们猜. doctor 当密钥看起来属于别处时, 添加提示 .
  • TYPESAFE_API_KEY 是Safe SDK 读取的通用变量,所以它遵循 TYPESAFE_BASE_URL 财务报告和审定财务报表 JEV_CODE_PROVIDER sDK 的方式: 将基址指向 OpenRouter或Vercel AI Gateway发送到那里. 一个针对主机的变量从不旅行.
  • 当设置了数个密钥时,表的第一行获胜. doctor 说在用哪个.
  • JEV_CODE_PROVIDER=openrouter (或 typesafe, (中文(简体) ), vercel, (中文(简体) ), openai, (中文(简体) ), ollama迫使一个宿主. OpenAI 从未从环境中接取过 OPENAI_API_KEY: 该变量被设置在许多外壳中 因为其他原因,所以发送代理证据 有你的决定 JEV_CODE_PROVIDER=openai (或粘贴 OpenAI 键,当 setup 询问, 哪些同时存储 . Ollama没有钥匙可以检测,所以选择的方法也一样.
  • 特定主机的密钥只发送到自己的主机;拒绝异议的基址 在任何请求之前 确切的规则在 警卫。 。 。 .
变量默认目的
JEV_CODE_PROVIDER自动强制 typesafe, (中文(简体) ), openrouter, (中文(简体) ), vercel, (中文(简体) ), openai,或 ollama (后二所须.
OLLAMA_HOSTlocalhost:11434Ollama的服务器,作为一个URL, host:port或裸体主机.
TYPESAFE_BASE_URL每个东道主代理, 或您自己的系统之一网关; 客户端附件 /v1/systemone键,除非 JEV_CODE_PROVIDER 已经设定.
TYPESAFE_DEFAULT_MODEL每个东道主Pin a Jev 版本 : jev-1.13 安全类型或 OpenRouter; Vercel 用途 typesafe-ai/jev。 。 。 .
JEV_CODE_TIMEOUT_MS30000潜入暂停.
JEV_CODE_MAX_RETRIES2重复429,5xx,超时,以及连接出错.

这个 TYPESAFE_* 名字与正式的SAFE SDK相匹配,所以一个导出服务于一切.

OpenAI 决定 API (公有β)

OpenAI 的决定 API 回答相同的三个问题形状( 是/否, 选择一个, 得分在 由GPT-6 Luna提供服务。 它开放给每个开发商 在公开beta 2026年10月6日,预计在接下来的几周内普遍可用;参见OpenAI's 指南. jev 编码地图 因此,有效载荷和结果没有变化,这些差异是:

  • 请求形状不同于System One。 Jev-code 翻译它,遵循 OpenAI API 参考。 。 。 .
  • 是/没有问题没有单独的标准领域,所以 yes 财务报告和审定财务报表 no 描述被折叠 输入指示。 记分传说是从你的级别重建的.
  • 该模型可以在回答其他问题时拒绝一个问题. 这东西会带回来的 status: "refused" (单位:千美元) review 决定 uncertain 判决 jev_check),以及 jev_ask 将编号列在 refused。重试相同的输入不会改变它.
  • API也取出图像;工具只保留文本,就像它们在每个主机上一样.
  • 定价是OpenAI的:在启动时,每百万个输入令牌有0.1美元,输出则无. 工具 产出携带 usage。 。 。 .

保持选择性. OPENAI_API_KEY 由于其他原因被设置在许多贝壳中,所以发送代理 给 OpenAI 的证据 JEV_CODE_PROVIDER=openai (或粘贴键当 setup 请问)。 A 类 403 来自API的简略报告 doctor --live。 。 。 .

Ollama(当地)

Ollama 0.35, 以及后来在同一个系统One API背后在当地服务决定模型,所以 没有东西离开你的机器 没有钥匙 安装 Ollama, 绘制一个模型, 并选择 :

ollama pull nimble
export JEV_CODE_PROVIDER=ollama
npx -y @french-castle/jev-code@latest doctor --live

nimble 默认; tev1, (中文(简体) ), clef,以及 clef-flash 工作也一样TYPESAFE_DEFAULT_MODEL 选一. OLLAMA_HOST 在服务器上的点数 localhost:11434在奥拉玛自己的 标注. 图像输入, 哪些 clef 支持,不会被工具所暴露. doctor --live 说 当服务器被关闭或模型未被拉动时.

你自己的门户

任何会说 System One API 的服务器(POST /v1/systemone,同一请求和答复 typeSafe SDK 已经知道. 网关的钥匙进去了 TYPESAFE_API_KEY,SDK的通用变量及其地址在 TYPESAFE_BASE_URL· ; TYPESAFE_DEFAULT_MODEL 当网关不服务时, 命名模型 jev-latest数字 :

export TYPESAFE_API_KEY=...                            # the gateway's key
export TYPESAFE_BASE_URL=https://gateway.example/api  # the client appends /v1/systemone
export TYPESAFE_DEFAULT_MODEL=vendor/jev              # when the gateway's model id differs

setup 当它询问粘贴密钥是用于哪个主机时, 它会提供同样的东西: 选择“ 其他系统 ” 一个网关,给 URL 和模型, 和三个变量去键将拥有的地方 不见了。 在发送任何信息之前检查 URL: 绝对 http(s) 没有证书的 URL, 查询或片段,在 /v1/systemone特定主机的密钥( :OPENROUTER_API_KEY 永不顺从 TYPESAFE_BASE_URL 到网关,除非 JEV_CODE_PROVIDER 名称 东道主; doctor 显示请求的去向.

安全说明

  • 只有你传递给工具的有效载荷 离开你的机器 只有宿主的钥匙 属于。 您的寄存器或会话中, 没有任何内容单独读取 .
  • 密钥是从环境中读取的,只发送到发布密钥的主机,并且从未 记录. setup 复制正在使用的密钥到被过滤的环境 工作; --no-env 跳过.
  • 已有配置文件在之前已备份 setup 修改它们.

主机,代理规则,什么 setup 如何报告脆弱性: 警卫。 。 。 .

如何运作

src/tools/ 持有每个工具的单一定义: zod 计划、描述和 run 函数,用于构建一个系统一请求并绘制对决定的答案。 MCP 服务器 (单位:千美元)src/mcp/),Pi扩展(integrations/pi/),OpenCode自定义工具 (单位:千美元)integrations/opencode/)),以及CLI(英语:src/cli/)是薄适配器在地层上,即 为什么所有的有效载荷和结果都是一样的. src/core/providers.ts 表格为 为Jev服务的主机; 添加一个会说 System One API 的机体是那里的一行. src/setup/ 已经知道 并且更喜欢每个带自己的CLI 编辑文件.

发展

git clone https://github.com/FrancoisChastel/jev-code && cd jev-code
npm install
npm run check          # lint, typecheck, skill validation, tests with coverage, build, smoke
npm test               # unit tests, no API key needed
TYPESAFE_API_KEY=... npm run test:e2e   # a few live calls; any provider key works

尝试你的本地建筑 相对于一个真正的拉带 不出版:

npm run build
node dist/cli.js setup claude --command "node $PWD/dist/cli.js mcp"
node dist/cli.js setup pi --pi-source "$PWD"

见 捐款额 公约和释放程序.

许可证

麻省理工学院 弗朗索瓦·查斯特尔. skills/jev/references/building-with-typesafe.md 调整 类型安全代理技能,"2026 TypeSafe AI,麻省理工学院. 贾夫和 TypeSafe是TypeSafe AI的商标;这个项目不属于TypeSafe.

版本与发布记录

@french-castle/jev-code 共发布 4 个版本,首次发布于 2026/09/28;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.5.0latest2026/10/081 个月前
0.4.02026/10/041 个月前
0.3.02026/09/301 个月前
0.2.12026/09/281 个月前

关于 @french-castle/jev-code 的常见问题

@french-castle/jev-code 是什么?

Jev,TypeSafe's System One分类器,作为克洛德码,Codex,Pi,和OpenCode内部的一个工具:打入分类,检查,分数,分级,并询问,外加一指令设置.

如何安装 @french-castle/jev-code?

在项目目录运行 npm install @french-castle/jev-code,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 jev-code,可以用 npx jev-code 直接运行。

@french-castle/jev-code 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@french-castle/jev-code 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@french-castle/jev-code 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@french-castle/jev-code 可以商用吗?

@french-castle/jev-code 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@french-castle/jev-code 的下载量有多少?

根据 npm 官方下载统计,@french-castle/jev-code 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,279 次,日均约 109 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@french-castle/jev-code 还在维护吗?

最新版本 0.5.0 发布于 2026/10/08(1 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/09/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。