生态

一套技术体系,多个运行时组件,一条验证链。

ERDL 不是一个孤立的库,而是一套「从语义规范到运行时框架」的技术体系——每个仓库各司其职,又被同一条确定性验证链钉在一起。

仓库导航

@openoba/erdl
语义规范 + 34 节点内核
MIT
@openoba/rulsynor-core
确定性引擎 + 证据链
PyPI
Z3 / SMT 形式化验证
Apache-2.0
向量 CC0 / 代码 Apache
318 条跨实现验证向量
erdl-guard
确定性护栏(MCP proxy + SDK + CLI)
MIT
@openoba-ai/erdl-mcp
MCP server(30 规则 / 5 工具 / 零配置)
全栈装配式运行时框架

MCP:一条 when/then 就够了

别再反复提醒你的 Agent「守规矩」——教它。Prompt 规则不管用:LLM 会忘、会曲解、会合理化。ERDL 作为 MCP server,Agent 不用「试着」遵守规则——引擎在每次工具调用前强制执行

bash
$ npx -y @openoba-ai/erdl-mcp

30 条规则 · 5 个工具 · 零配置 · 自定义规则无限 · 永久免费。

与 Microsoft ACS 的关系

ACS(Agent Control Specification,微软 AGT)做对了「编排契约」——无状态、确定性、fail-closed 的策略决策运行时,标准化了「在哪里拦、怎么执行」。但它是策略编排契约,不是策略语言:它把「规则本身的语义」主动外包给了 Rego / Cedar。

ERDL 补上的正是这一层——策略语言本身:判定模型 + 冻结语义 + 三种投影面,让规则语义和政策条文同构。要「给现有 agent 套一层标准的、可移植的策略拦截」,ACS 已经够了;要「规则本身语义稳定、可验证、可读」,那才需要 ERDL。

委托授权(A2A / 多 Agent)

当 Agent 开始相互委派决策时,跨实现信任不能建立在双边背书之上。OpenOBA 的委托授权治理建立在四个运行时授权不变量上(源自 A2A Discussion #2031):

不变量 01
授权不放大
authority non-amplification
不变量 02
来源连续性
provenance continuity
不变量 03
仅窄化约束继承
narrow-only constraint inheritance
不变量 04
传递撤销
transitive revocation