SuperAPI AI 工具集

operational-ontology

Operational Ontology 是一个最小化、可读性强的参考实现,用于演示“运营本体”(Operational Ontology)模式。该模式在多个外部系统的数据之上构建共享领域模型,包含用于读取业务的对象与链接,以及强制执行业务规则、审计尝试并将更改写回记录系统的动作。Palantir Foundry 的 Ontology 是该模式的起点,此仓库将核心概念最小化,方便阅读、分叉和改编。项目使用 TypeScript 编写,要求 Node.js 24 或更高版本以及 pnpm。它不是一个框架或 npm 依赖,而是一个学习资源。仓库通过一个订单演示:公司收购竞争对手后继承两个遗留订单系统,使用 SQL 和小型映射将数据集成到一个模型中,展示跨系统查询、动作门控写入、本体自有状态持久化以及审计日志。该实现还支持为 AI 代理生成 MCP 工具,将业务规则保留在模型中。

访问官网

工具介绍

用途

Operational Ontology 是一个参考实现,旨在让“运营本体”这一概念变得可运行、可阅读、可改编。它解决了这样一个问题:当需要以业务术语一致地读取和操作来自多个系统的数据时,仅仅一个语义层(semantic layer)不足以描述整个责任范围。运营本体不仅用于读取业务,还用于运行业务——即通过共享模型执行经过业务规则检查、可审计且能写回源系统的操作。

主要能力

该模式具有四个核心属性:

  1. 语义对象与链接:在外部系统拥有的现有数据之上显式建模业务实体和关系。
  2. 动作门控写入:业务决策只能通过命名动作改变状态,所有消费者使用同一套 API。
  3. 动作上的业务规则:前置条件强制领域不变量(如“已发货订单不能取消”),违规产生机器可读的拒绝,已应用和已拒绝的尝试都会被审计。
  4. 写回记录系统:每个状态有明确的所有者,对源拥有状态的更改通过受治理的副作用传播回其所有者。

所有权在示例中有三种形式:源支持(source-backed,如 ERP 拥有 Order.status)、本体拥有(ontology-owned,如指派人和备注)、派生(derived,如查询时计算的总计)。

该实现将模型定义为普通值,包含对象类型、链接类型和动作类型。编辑描述动作对对象和链接的更改提议,审计日志记录动作执行尝试及其结果。模型也可以是数据而非类,因此可以枚举描述操作所需的信息,并在运行时检查,还能据此生成 MCP 工具。

演示中包含:通过链接和聚合跨两个系统回答业务问题;cancelOrder 拒绝已发货订单并将允许的取消写回原始 ERP;assignOrder 和 addOrderNote 存储本体拥有的状态,在源数据刷新重新索引后仍然保留;已应用和已拒绝的动作尝试出现在审计日志中。

使用方式

需要 Node.js 24 或更高版本以及 pnpm。运行演示可执行 pnpm demo。测试可通过 pnpm test 运行。仓库的 MCP 配置连接了订单示例,代理可以调用生成的工具如 search_order、traverse_customer_orders、cancel_order、read_audit_log 等。代理取消已发货订单时会收到 SHIPPED_ORDER_CANNOT_BE_CANCELLED,与人类调用者一致。业务规则位于模型中,因此提示词不必强制执行规则。

适用场景

该仓库适用于数据驱动的运营场景,例如产品召回、设备异常、患者入院请求、交易警报等。运营团队需要汇集信息,决定对谁或对什么采取行动以及依据什么证据,并随着条件变化重复这些决策和行动。演示提供了订单示例,以及召回、工厂、医院和金融等扩展示例,这些示例将集合探索与领域规则结合在模型中。此外,该模式也适用于需要为 AI 代理提供一致业务操作接口的场景。

限制

该仓库实现的是中间层,演示提供了周围的应用程序和数据集成。运行时使用同步动作执行和 SQLite 进行演示。它不包含 UI 构建器、管道框架、可扩展的索引服务或通用授权系统。写入门控是调用者进程内的 API 契约。动作可以创建本体拥有的对象或通过写回创建源支持的记录,但使用执行前指定的 ID。不支持删除、链接属性和复合键。该实现是学习资源,不是框架或 npm 依赖。发布版本可在发布说明中查看。实现注释中记录了其余限制和 API 详细信息。