mcpField
J
jev-use

jev-use

本地服务
github.com/shitianfangAI 与智能体655 周前更新

关于 jev-use

jev-use 是一个 MCP 服务,让 Claude Code、Codex 和 pi 等 Agent 将无需文本输出的判断任务交给 Jev 处理。它以批量的是非、单选和评分问题获取判断结果,并在 Jev 无法决定时返回带类型的升级信号。

主要功能

  1. 01是非、单选与评分三类类型化判断
  2. 02单次调用批量提交多个判断问题
  3. 03无法判断时返回带原因的升级信号
  4. 04内置命令行安装与环境检查
  5. 05提供 JS/TS 库形式的调用接口

适用场景

  1. 01为编码 Agent 快速决定下一步操作
  2. 02压缩长对话上下文时批量判断消息保留与否
  3. 03在执行 shell 命令前进行危险命令拦截

MCP 相关

jev-use 作为 MCP 服务运行,向客户端暴露两个工具,用于提交批量判断并获取类型化结果或升级请求。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"shitianfang-jev-use": {
"command": "npx",
"args": [
"-y",
"jev-use"
]
}
}
}
启动命令npx -y jev-use

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmjev-use0.8.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

jev-use

English | 简体中文

让 Claude Code、Codex 和 pi 与 Jev 协作的最佳方式: 把不需要文本输出的任务交给 Jev——步骤更快、消耗更少的 令牌,任务完成得更快、更好。

它让大模型和 Jev 真正协作:需要撰写内容时,由大模型接手;某个步骤只需快速做出决策时,则由 Jev 执行。

演示 — 真实运行,1× 速度

路线任务:Jev 点击,大模型输入 — 10 次决策(p50 274 ms)· 4 次输入;Jev 拒绝错误路线,大模型重写
OpenStreetMap 路线:Jev 用绿色选取控件,大模型用蓝色输入地点;Jev 拒绝错误的 1809km 地理编码结果,大模型修正后,最终找到真实的 3.7km 步行路线
上下文压缩 — 在 7 次调用中评估 200 条消息,用一段大模型文字替换被移除的消息;召回率 3/3
真实对话记录将上下文窗口填充至 94%;Jev 为每条消息标记保留或丢弃,大模型的摘要段落替换被丢弃的内容块,窗口降至 44%,三项召回检查全部通过
Pong:球速 = 决策延迟 — 20 秒内 Jev 做出 86 次决策,而常规调用方式下的 haiku 做出 6 次、gemini 做出 3 次;对两者都施加枚举约束后,差距缩小至 3×
三个 Pong 球道以 1x 速度回放实时运行:Jev 的球以每次决策约 224ms 的速度横扫场地,而大模型的球则缓慢爬行
为每条 shell 命令设置关卡 — 危险命令会在约 230 ms 内被拒绝并给出原因,不消耗任何大模型令牌
一个 24 条命令的开发会话以 1x 速度通过关卡:置信度为 1.00 的危险命令被拒绝,无害命令则获准执行

每个演示都是 bench/examples/ 中可重新运行的脚本; 所有数据、方法、差异和注意事项见: bench/RESULTS.md · 第三方测量结果见: docs/evidence.md。

安装

npx -y jev-use install    # wires Claude Code, Codex, and pi — whichever it finds

在 Agent 运行的环境中设置一个密钥(无需密钥的试运行可设置 JEV_BACKEND=mock):

提供方环境变量
TypeSafe directTYPESAFE_API_KEY
OpenRouterOPENROUTER_API_KEY
Vercel AI GatewayAI_GATEWAY_API_KEY

npx -y jev-use doctor 会检查配置。评估状态会发送到你配置的提供方;JEV_BACKEND=mock 则会在本地运行。包含路由技能和 PreToolUse 关卡的插件版本: harness/claude-code · harness/codex。

作为库使用

npm i jev-use — 判定流程没有运行时依赖:

import { Jev, check, pick, rate } from "jev-use";

const jev = new Jev();

const { answers } = await jev.judge(state, {
  next: pick("Next action?", { merge: "all green", rerun: "looks flaky", hold: "needs attention" }),
  risk: rate("How risky?", ["routine", "worth a look", "incident"]),
  passed: check("Did the run fully succeed?"),
});
// answers.next → { answer: "merge", confidence: 0.93, confidenceFrom: "reported", escalate: false }

Jev 无法或不应判定的内容会返回 escalate: true 和一个带类型的原因。工具、判定结果结构、升级契约、命令行: docs/reference.md。

小巧易读

文件用途
src/protocol.ts问题(check/pick/rate)、判定结果、升级原因
src/dispatch.ts调用前路由:哪些内容绝不会传给 Jev
src/judge.ts筛选 → 后端 → 返回不确定的内容;gate
src/jev.ts基于该引擎的 Jev 客户端
src/redact.ts发送受关卡管控的操作前移除其中的凭据
src/backends/TypeSafe、OpenRouter、Vercel、mock 适配器
src/server.ts两个 MCP 工具
src/cli.tsinstall、serve、hook gate、doctor
skills/jev-use/SKILL.mdAgent 遵循的路由规则

开发

$ npm run typecheck && npm test    # unit tests incl. per-provider wire fixtures
$ npm run smoke                    # real MCP client ↔ built CLI over stdio
$ node bench/run.mjs               # micro-benchmarks, your key and region

主要使用 Claude Code 编写(AI 辅助)。

MIT © shitianfang

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。