Jevbridge 决策桥
为现有大模型加入类型化决策、置信度门控与计算机操作选择。
按维度查看评分与理由
CI 明确采用只读 contents 权限,项目声称无运行时 npm 依赖,并将远程访问限定为用户配置的 TypeSafe 或 LLM 服务;但所给材料没有实现代码,无法确认运行时权限确实最小化,因此 least_privilege 仅为薄弱证据。README 描述 confirm、escalate、abort 和破坏性操作门控,但没有门控阈值或实现证据,故 user_confirmation 仅得部分分。SECURITY.md 明确说明提交的 state 会离开本机并发送给所配置服务,启发式后端不联网;环境变量表也披露了服务选择,但没有说明各提供商的保留、日志或二次使用行为。敏感信息方面提供了不要公开凭据或客户源码的警告和私密漏洞报告渠道,但没有脱敏、最小化、轮换或泄漏响应流程。零运行时依赖和固定的临时类型检查版本降低了供应链面,但 GitHub Actions 仅使用可移动的大版本标签,也没有锁文件、审计或更新政策。外部效果被描述为决策和门控而非直接执行,且建议破坏性工具调用前确认;不过实际调用边界无法从这些文件验证。没有事务恢复、撤销或补偿机制,因此 rollback 为零。许可证、致谢、项目链接和临时发布账户均有披露,但仓库账户、预期组织和版权主体不一致,且发布者未经验证,所以归属清晰度未达满分。
README、package.json、SECURITY.md 和 CI 对 Node 22、stdio 协议、环境变量以及无运行时依赖的描述大体一致;仓库当前账户与预期组织的差异也被主动说明,因此自洽性良好但不完整。Node 22 是唯一必需平台,远程后端均为可选,缺少密钥时还有本地 heuristic 回退,依赖可用性处理充分。材料没有展示异常类型、退出码、JSON-RPC 错误、网络超时、重试或面向用户的诊断文本,故 failure_messages 为零;这不是对未执行测试的扣分,而是文件中缺少可审查的失败消息设计。
材料清楚覆盖支持路由、破坏性命令门控、上下文保留、GUI 下一步动作、MCP 和 ACP 主机等受众与场景。能力边界说明尤其明确:Jev 不生成文本、Jevbridge 是决策侧车、GUI 动作来自闭合集合,并明确警告 heuristic 只能用于冒烟测试而不能充当安全信号。backend:auto 的选择顺序和环境变量触发条件有说明,但 confirm、execute、escalate、abort 的具体阈值和冲突处理没有给出,因此 trigger_precision 未满分。Node、CLI、库、Claude Desktop、Codex、Cursor、OpenCode 和 Zed 的配置示例较全面,且支持无网络试用,环境适配证据充分。
README 有目录、分区、能力表和协议说明,安装前提及步骤可直接采用,信息架构和安装说明完整。名称在 CLI、包名和工具名中基本稳定,但包尚未发布、仓库仍位于 gamesonrblx 而目标是 tacticocc,形成过渡期命名与分发不稳定。示例覆盖库、CLI、MCP、ACP 和计算机使用,但没有独立 FAQ 或系统化故障排查。已披露 heuristic 偏差、未完成的会话恢复、上游代理和 npm 发布等限制,不过没有集中列出安全边界或协议兼容限制。MIT 元数据与完整 LICENSE 一致,获得满分。仅有 0.1.0 版本,未提供 changelog、发布记录或兼容性政策。维护路径只有 Tactico 联系方式、Issue 和 Security Advisory,缺少已验证维护者、响应承诺与明确更新负责人,因此 maintenance_responsibility 较薄弱。
typed 的 noul、choice、score 输出、门控动作和协议工具名称使预期输出具有较好的可消费性,示例也展示了如何分支;但未提供完整响应 schema、错误 schema 或兼容性保证。将类型化快速决策作为生成模型侧车具有明确的边际用途,特别是路由和 GUI 闭集选择,但没有基准、对照或实际效果数据支持其优越性。材料只笼统提及节省前沿模型 token,并展示可离线回退;没有延迟、API 费用、额外调用次数、准确性折衷或运维成本分析,因此 cost_benefit 证据较弱。
基本元数据可在 package.json、LICENSE、SECURITY.md 和 CI 间追踪,但核心能力、门控行为、协议兼容和测试覆盖声明缺少随附实现及测试文件,导致 claim_traceability 较低。Node 版本、许可证、仓库位置、依赖结构和数据外发说明获得多个文件的交叉支持,因此 cross_source_corroboration 尚可。README 清楚区分已完成路线图、待办事项、heuristic 限制和未来仓库迁移,但“any LLM”等宽泛营销表述超出列出的适配器证据,事实与推断分离未达到满分。
- 发送给远程后端的 state 应视为已离开本机;不要包含凭据、客户源码或不允许交由所选提供商处理的数据。
- 不要把 heuristic 后端的分数当作安全批准。README 明确说明问题文本的词语重叠可能让无害输入得到偏高风险分。
- 破坏性工具和付费、删除、提交类操作应由宿主强制执行独立确认;现有材料只描述门控意图,未证明实现或默认阈值。
- 在采用 MCP 或 ACP 集成前,应检查缺失的错误处理、超时、重试、JSON-RPC 错误格式以及异常退出行为。
- 包尚未发布且仓库计划迁移;在组织身份、更新负责人和分发渠道稳定前,应固定到所审查修订并单独验证来源。
这个 Agent 能做什么,适合哪些场景?
Jevbridge 是一个零运行时 npm 依赖的 Node.js 22 TypeScript 库,同时提供 MCP 与 ACP 标准输入输出适配器。它把非结构化状态转换为 noul、choice 和 score 类型的概率答案,让 Codex、Claude、Grok、OpenCode 或兼容 OpenAI API 的模型继续负责生成计划与说明。系统可使用原生 TypeSafe Jev、外部大模型适配器或本地启发式后端,并通过统一问题结构切换。内置置信度门会输出 execute、confirm、escalate 或 abort,用于约束工具调用和具有破坏性的界面操作。它适合以库、命令行程序、MCP 服务或 ACP sidecar 的形式自行运行,但代理上游 ACP 智能体、会话恢复和 npm 包发布仍在路线图中。
调用 evaluate 读取一个 state 和由 noul、choice、score 定义的问题集合,再交给 jev、llm、heuristic 或 auto 后端计算类型化答案。auto 会优先使用 TYPESAFE_API_KEY 调用 TypeSafe Jev;否则选择配置的大模型适配器;没有密钥时退回本地关键词评分器。gate 根据答案置信度和破坏性返回 execute、confirm、escalate 或 abort。MCP stdio 服务公开 jev_decide、jev_gate、jev_computer_use 和 jev_recipe,并提供内置配方资源;ACP stdio 适配器使用 Content-Length 帧处理 initialize、session/new 和 session/prompt。计算机操作流程通过 computerUseQuestions、observationState 和 readAction,在 click、type、scroll、wait、screenshot、done、abort 的封闭集合内选择下一步,同时评估目标、进度、安全性和破坏性。
- 使用 Codex、Claude 或其他生成模型的工程团队,希望把工单路由、意图识别和优先级判断变成可供程序分支的类型化结果。
- 构建 MCP 工具链的开发者,需要在执行删除、付款或提交表单等操作前增加确认、升级或终止门。
- 开发 GUI 自动化循环的团队,希望从固定动作集合中选择点击、输入或滚动,并独立检查操作破坏性。
- 使用 Zed、JetBrains 或其他 ACP 主机的开发者,希望通过 stdio 部署一个负责分类和门控的决策 sidecar。
- 维护测试或 CI 流程的团队,需要在没有外部 API 密钥和网络调用时用启发式后端进行冒烟测试。
- 客服系统开发者,需要对同一段请求同时判断退款意图、归属团队和紧急程度。
这个 Agent 有哪些优点和局限?
- 同一套 noul、choice、score 问题结构可在 TypeSafe Jev、多种大模型和本地启发式后端之间切换。
- 同时提供 TypeScript 库、CLI、MCP stdio 和 ACP stdio,便于嵌入代码或作为独立 sidecar 部署。
- 破坏性检查独立于动作置信度;即使动作分布很集中,付款或退款点击仍可被要求确认。
- 没有 API 密钥也能离线运行启发式后端,适合测试和 CI 冒烟检查。
- 明确支持 OpenAI、Anthropic、xAI、OpenCode、Codex 和通用 OpenAI 兼容端点的配置路径。
- 要求 Node.js 22 或更新版本,示例还依赖 --experimental-strip-types 来直接执行 TypeScript。
- 启发式评分会把问题文本计入证据,可能因词语重叠产生偏高分;项目明确表示不能把它当作安全信号。
- 使用原生 Jev或云端大模型需要相应 API 密钥和网络访问,实际质量与成本取决于所选服务。
- 代理上游 ACP 智能体并拦截工具调用、会话加载与恢复尚未完成。
- 计划中的 @tacticocc/jevbridge npm 包尚未发布,当前安装流程要求克隆仓库并使用源码路径。
- README 同时引用 tacticocc/Jevbridge 和 gamesonrblx/Jevbridge,并说明仓库仍待转移,采用者需要留意未来的仓库地址变化。
如何安装或部署这个 Agent?
前置条件是 Node.js 22 或更新版本及 Git。执行:
git clone https://github.com/gamesonrblx/Jevbridge.git
cd Jevbridge
npm install项目没有运行时 npm 依赖。无需密钥即可运行本地示例:
node --experimental-strip-types src/cli.ts eval support-route若使用原生 Jev,设置 TYPESAFE_API_KEY。若使用大模型后端,设置 JEVBRIDGE_LLM,并提供对应的 XAI_API_KEY、OPENAI_API_KEY、ANTHROPIC_API_KEY 或 OPENCODE_API_KEY;也可通过 JEVBRIDGE_LLM_MODEL 和 JEVBRIDGE_BASE_URL 覆盖模型与兼容 OpenAI API 的地址。
如何使用这个 Agent?
列出配方:
node --experimental-strip-types src/cli.ts recipes运行计算机操作配方:
node --experimental-strip-types src/cli.ts eval computer-use启动 MCP 或 ACP stdio 进程:
node --experimental-strip-types src/cli.ts mcp
node --experimental-strip-types src/cli.ts acp也可使用包装器:
node bin/jevbridge.mjs eval destructive-gate在代码中从 ./src/index.ts 导入 evaluate、gate、noul、choice 和 score,将 state、questions、backend 传给 evaluate,再对 result.answers 调用 gate。接入 MCP 主机时,把命令设为 node,并以 --experimental-strip-types、src/cli.ts 的绝对路径和 mcp 作为参数;执行破坏性工具前调用 jev_gate,GUI 下一步选择则调用 jev_computer_use。
这个 Agent 与同类方案有什么区别?
与直接让生成式大模型同时负责文本生成和动作判断相比,Jevbridge 把判断结果限制为 noul、choice 和 score,并增加独立置信度门。原生 Jev 是首选后端;没有 TypeSafe 密钥时,可用 Codex、Claude、Grok、OpenCode 或通用 OpenAI 兼容模型充当 System One。启发式后端可以离线运行,但只适合测试,不应替代涉及安全的模型判断。