Agent 工具

jev-belay

@valentynkit9JavaScriptMIT更新于 2026-09-19可当场跑

Claude Code Stop hook 用于阻止未验证的 done,读取记录寻找证据,向 Jev 询问一次,其他情况默认通过。

英文原文

Claude Code Stop hook that blocks an unverified done: reads the transcript for evidence, asks Jev once, fails open on everything else

valentynkit/jev-belay

它在哪儿调用了 Jev

const base = env.JEV_BASE_URL || "https://api.typesafe.ai";

belay.mjs:358

链接指向我们抓取当天的那个 commit,行号是准的。

它问 Jev 的问题

下面是从这个项目源码里原样取出来的 question 组合。

取自 belay.mjs:274

  1. claims_done是/否

    Does `final_message` present the requested work as finished or working?

  2. claims_verified是/否

    Does `final_message` claim that tests, a build, or other checks were run and passed?

  3. verification_applies是/否

    Would running the project's tests, build, or lint be a meaningful way to check the work that `task` asks for?

  4. outcome选项

    What does `final_message` report about `task`?

    • completeThe work is finished
    • partialProgress was made and remaining work is named
    • blockedA blocker is reported or the user is asked something
    • otherNone of these

用你自己的内容跑一遍

代码
import { experimental_evaluate as evaluate } from 'ai';

const { answers } = await evaluate({
  model: 'typesafe-ai/jev',
  state,
  questions: {
    claims_done: { type: 'boolean', instructions: 'Does `final_message` present the requested work as finished or working?' },
    claims_verified: { type: 'boolean', instructions: 'Does `final_message` claim that tests, a build, or other checks were run and passed?' },
    verification_applies: { type: 'boolean', instructions: 'Would running the project\'s tests, build, or lint be a meaningful way to check the work that `task` asks for?' },
    outcome: { type: 'choice', instructions: 'What does `final_message` report about `task`?',
      criteria: { complete: 'The work is finished', partial: 'Progress was made and remaining work is named', blocked: 'A blocker is reported or the user is asked something', other: 'None of these' } },
  },
});

同类的其他项目