Jev in production › Agent guardrails and approvals
External approval hook for the ZCode coding agent in which Jev, as an optional reviewer backend, rates each gray-zone tool call against the current task as allow, uncertain or deny. Measured at ~0.8–1.5s per decision (author).
对标 Claude Code auto mode 的 ZCode 外置实现:由一个独立的小模型在 ZCode 每次工具调用执行前,对照"当前任务"审查是否越权——
- 任务内的操作自动放行,不打断你; - 越权/危险的拒绝并说明理由,理由回传给主模型,它会自行调整方案; - 审查器自身故障时 fail-closed(拒绝执行,与 Claude Code 的兜底语义一致)。
审查分类、决策清单、shouldBlock 判定 schema 与 fail-closed 语义均对照 Claude Code auto mode 的实际行为设计。
- 任务感知:审查员能看到你最近输入的任务,据此判断"是否越权",而不是死板的关键词匹配 - 全工具覆盖:shell 命令、文件写入、MCP 工具都在审查范围内 - 分层流水线:只读操作零延迟直通,灰区才调用审查模型(实测 ~0.7–1.5s) - 灾难命令黑名单:删盘/格式化/递归删除根目录等不经任何模型、确定性拦截 - 弹窗分级可配:模型"拿不准"时可以选择弹窗问你、硬拒或放行(onUncertain) - 逃生舱:被拒的命令支持一次性批准(精确匹配、用后即焚、审计留痕) - 防注入:模型伪造"用户已同意"等授权文字会被识别为注入并直接拒绝 - 常驻 daemon:审查连接热复用、决策缓存、配置热重载 - 审计日志:每次决策(放行/拒绝/来源/耗时)全部落盘可查
For the project's own README, linking back here: