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.
UnifiedModel (UModel) – 快速概览
是什么
UModel(统一模型)是一个开源、厂商中立的运行时,让企业能够将数据、服务和基础设施描述为一个语义图。该图驻留在本地服务(UModel 服务器)中,可以通过统一一致的 API 由人类、程序或 AI 代理查询。
核心概念
| 概念 | 重要性 |
|---|---|
| 模型包 – 定义实体、数据集、链接、存储和拓扑语义的声明式捆绑包。 | 为团队提供所有数据源的共享“语言”,不受特定厂商绑定。 |
| 工作区范围图 – 每个工作区(例如演示、项目、部门)一个隔离的图。 | 在表示完整企业视图的同时,实现安全的本地实验和快速启动。 |
统一查询界面 – 三个 SPL 风格的入口点(.umodel、.entity、.topo)。 |
为模型元数据、运行时实体和拓扑提供一种查询语言,简化工具和代理集成。 |
| AgentGateway 与 MCP – 让基于 LLM 的代理发现图、运行查询和调用 run-book 技能的轻量桥接。 | 将图转化为 AI 助手的可操作上下文,实现根本原因分析、服务发现等。 |
公开契约 – REST OpenAPI、CLI(umctl)和生成的 SDK(Go、Python、Java)。 |
确保外部工具无需理解服务器内部即可交互。 |
主要组件
- UModel 服务 – 存储图(内存、文件、Neo4j、Gremlin 等)并提供查询服务的 Go 服务器。
umctlCLI – 用于工作区管理、查询和代理操作的命令行客户端。- MCP 服务器 – 向代理公开发现和资源模式的轻量级控制平面。
- AgentGateway – 将代理请求转发到查询服务和 RunbookSet 技能的运行时。
- React Web UI – 用于模型、实体、拓扑和代理活动的可视化资源管理器。
- SDK – 自动生成的 Go、Python 和 Java 客户端库。
典型工作流(5 分钟快速入门)
- 安装先决条件 – Go 1.22+、Node 22+、
make、pnpm。 - 运行
make quickstart。这将启动 API、UI,并加载演示工作区(GRAPHSTORE=memory)。 - 打开
http://localhost:5173→ 通过 Explorer、Query、Data Store 和 Agent 标签页探索演示图。 - 连接 AI 代理:
umctl agent discover demo # 向 AgentGateway 注册演示工作区 umodel-mcp # 为代理启动 MCP 客户端 - 从 CLI 或 REST 查询图,或让基于 LLM 的代理运行模型引导的根本原因分析(参见事件调查示例)。
谁会使用?
- 企业数据团队 – 需要在异构来源(数据库、监控工具、服务注册表)之间统一语义层的团队。
- AI/ML 工程师 – 构建必须理解服务、指标和日志之间关系的代理。
- 可观测性平台 – 希望使用可编程的“语义操作系统”而非静态数据字典。
- 开发人员 – 在部署到云控制平面之前,寻找本地可扩展沙箱来原型化多域图模型。
可扩展性与部署
- GraphStore 插件 – 可在内存、文件 JSON、Neo4j、Gremlin 或阿里 Ladybug 运行时之间选择。
- 模型包 – 通过将 YAML/JSON 包放入工作区来添加新实体类型或链接语义。
- 代理技能 – 提供
SKILL.md文件,让代理读取图、调用 run-book 或执行根本原因分析。仓库提供适用于 Claude、Qoder、Codex 等的现成技能包。 - Docker/Compose – 用于容器化部署的现成文件;核心保持厂商中立。
许可与社区
- Apache-2.0 开源许可。
- 提供贡献指南、安全策略和行为准则。
- 支持渠道在
SUPPORT.md中列出。
总结: UModel 是一个真实的生产级开源平台,为企业提供可编程、厂商无关的语义图。它通过统一运行时、CLI、UI 和 SDK 桥接数据治理、可观测性和 AI 代理工作流。
相关
- 项目
- 项目
- 项目
- 项目
- 项目