jev-use について
jev-use は、Claude Code、Codex、pi が文章出力を必要としない判断の段階を Jev に委ねるための MCP サーバーです。はい/いいえ、単一選択、評価の型付き回答をバッチで返し、Jev が判断すべきでない場合は型付きのエスカレーションを返します。
主な機能
- 01はい/いいえ、単一選択、評価の型付き質問
- 021 回のツール呼び出しでのバッチ判断
- 03不確かな場合の理由付きエスカレーション
- 04コマンドラインからのインストールと環境確認
- 05直接利用できる JS ライブラリインターフェース
活用シーン
- 01コーディングエージェントの次の操作の迅速な判断
- 02コンテキスト圧縮時のメッセージ保持判断のバッチ処理
- 03シェルコマンド実行前のゲート処理
MCP 対応
jev-use は MCP サーバーとして動作し、バッチ判断の送信と、型付きの判定結果またはエスカレーション要求の取得のための 2 つのツールをクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
jev-use
英語 | 简体中文
Claude Code、Codex、pi が Jev と連携する最良の方法です。 テキスト出力が不要なタスクを Jev に任せれば、処理が速くなり、トークン数が減り、 タスクをより早く、より良い形で完了できます。
これにより、LLM と Jev は真の協力者になります。コンテンツを書く必要があるときは LLM が引き継ぎ、手順で必要なのが素早い判断だけなら、Jev が実行します。
デモ — 実際の実行、1×速度
経路案内タスク:Jev がクリックし、LLM が入力 — 10 回の判断(p50 274 ms) · 4 回の入力;Jev が誤ったルートを拒否し、LLM が書き直します![]() | コンテキストの圧縮 — 200 件のメッセージを 7 回の呼び出しで判定し、LLM の 1 つの段落で削除対象のまとまりを置き換えます;想起 3/3![]() |
Pong:ボールの速度 = 判断レイテンシ — 20 秒間で Jev は 86 回判断するのに対し、通常の方法で呼び出した場合は 6 回(haiku)と 3 回(gemini);両方を enum で制約しても差は 3 倍です![]() | すべてのシェルコマンドをゲートする — 危険なコマンドを約 230 ms で理由とともに拒否し、LLM のトークンはゼロです![]() |
すべてのデモは bench/examples/ にある再実行可能なスクリプトです。 数値、方法論、ばらつき、注意事項のすべて: bench/RESULTS.md · 第三者による測定: docs/evidence.md。
インストール
npx -y jev-use install # wires Claude Code, Codex, and pi — whichever it finds
エージェントの実行環境にキーを 1 つ設定します(キーなしでドライランする場合は
JEV_BACKEND=mock を設定します)。
| プロバイダー | 環境変数 |
|---|---|
| TypeSafe 直接接続 | TYPESAFE_API_KEY |
| OpenRouter | OPENROUTER_API_KEY |
| Vercel AI Gateway | AI_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 を付けて返されます。ツール、判定の形式、エスカレーションの契約、CLI:
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 | 2 つの MCP ツール |
| src/cli.ts | install、serve、hook gate、doctor |
| skills/jev-use/SKILL.md | エージェントが従うルーティングルール |
開発
$ 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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。



