alibaba/UnifiedModel

The semantic layer that makes enterprise data understandable to AI agents — model entities and relations once, query through SPL/MCP/REST, and connect telemetry, services, and business objects in one object graph.

📦 项目:alibaba/UnifiedModel(UModel)

UModel(统一模型)是一个开源、厂商中立的语义运行时,允许企业将数据、服务和拓扑结构以单一、可查询的图形式暴露出来。它设计为让人类用户、软件系统和AI代理都能通过本地服务、REST API、CLI、SDK或Web UI读取并操作同一共享模型。


🎯 它能做什么

  • 模型包 – 以声明式包的形式定义企业对象(实体、数据集、链接、存储、拓扑)。
  • 统一查询表面 – 一种查询语言(.umodel.entity.topo),可返回模型定义、运行时实体和拓扑关系。
  • 代理集成 – 内置的 AgentGateway 和 MCP(模型控制协议)让基于大语言模型的代理能够发现服务、追踪关系,并在无需手动编写查询的情况下执行模型引导的根因分析。
  • 本地服务 + UI – 作为单个本地进程(或 Docker/Compose)运行,提供基于 React 的 Web UI 用于探索工作区。
  • 公开契约 – 提供 OpenAPI 规范、CLI(umctl)和生成的 SDK(Go、Python、Java),任何客户端均可无需接触内部代码进行交互。

🛠️ 核心组件(如 README 所述)

组件 作用
模型包 实体、数据集、链接、存储和语义的词汇表。
EntityStore 持久化运行时实体和实例化模型的拓扑边。
查询服务 为三个 SPL 领域(.umodel.entity.topo)提供统一的只读表面。
AgentGateway / MCP 向 AI 代理暴露发现、资源和安全工具端点。
Web UI 浏览器端模型、实体、查询、数据存储和代理视图的探索器。
CLI(umctl 用于管理工作区、代理和查询的命令行接口。
SDK 自动生成的 Go、Python 和 Java 客户端,封装公开的 REST 契约。

🚀 快速入门(5 分钟)

  1. 前置条件 – Go 1.22+、Node 22+、makepnpm(或 npm)。通过 make check-env 验证。
  2. 启动make quickstart 启动 API、UI,并加载一个演示工作区(GRAPHSTORE=memory)。
  3. 探索 – 打开 http://localhost:5173,选择 demo 工作区,浏览探索器、查询、数据存储和代理标签页。
  4. 代理演示 – 运行 umctl agent discover demo,并连接一个 MCP 客户端(umodel-mcp),观察 AI 代理自动遍历图、拉取指标和获取日志。
  5. 关闭make stop-all 停止所有服务并清理内存中的数据。

完整指南在仓库中链接(安装、Web UI、查询服务、MCP 参考)。


🤖 代理技能

UModel 随附可加载的技能文件SKILL.md),适用于主流基于大语言模型的代理(Claude Code、Qoder、Codex、Cursor 等)。安装技能包后,代理可实现:

  • 读取任意实体、关系或模型定义。
  • 跟随 RunbookSet 链接执行运维手册。
  • 在企业图谱上执行模型引导的根因分析。

Claude Code 安装示例:

/plugin marketplace add alibaba/UnifiedModel
/plugin install umodel@unifiedmodel

(其他代理将相同的 SKILL.md 文件复制到其技能目录中。)


📚 文档与示例

  • 双语文档 – 英文和中文索引(docs/README.md)。
  • 概念 – 对象图语义层、模型编写、实体写入、查询服务。
  • 示例 – 多领域快速入门包、事件调查演示、服务本地化演示(均展示 AI 代理如何使用模型)。
  • 部署 – 本地或容器化运行的 Docker 和 Docker-Compose 脚本。

🏗️ 架构快照

UModel 在内存中运行一个工作区范围的图,或通过 GraphStore 提供者(memoryfile.memorylocal.ladybug)持久化。

  1. 模型包 → 定义模式。
  2. EntityStore 写入运行时数据。
  3. 查询服务 提供统一的 SPL 表面。
  4. AgentGateway / MCP 向代理暴露发现和安全工具端点。
  5. 客户端(Web UI、CLI、REST、SDK)均与相同的公开契约通信。

README 包含一张图示(images/architecture.png)以及关于运行时流程和查询/代理交互的深入文档。


📦 构建与贡献

  • 构建make install-env && make build
  • 测试make guardmake test-servicemake verifymake example-validate
  • CImake ci 运行完整检查门禁。
  • SDK 生成 – Go 和 Python SDK 位于 sdk/;Java SDK 位于 generated/java/
  • 许可证 – Apache-2.0,附带贡献和安全策略。

🌟 谁会使用它?

  • 企业 AI 团队:需要一个共享、厂商中立的语义层来统一数据、服务和可观测性。
  • 运维 / SRE 团队:希望 AI 代理能自动发现服务、追踪依赖关系并执行根因分析。
  • 产品工程师:构建需要共同“世界模型”的多代理工作流。
  • 开发者:寻找一个本地、可扩展的图运行时,具备公开契约和语言 SDK。

📌 总结

UModel 是一个功能完整的开源平台,将分散的企业模式统一为一个单一、可查询的图,供人类、程序和 AI 代理使用。它提供运行时、UI、CLI、REST API 和语言 SDK,支持构建语义化、代理驱动的运维,而无需锁定在任何特定厂商技术栈中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目