ModernRelay/omnigraph
Object-storage native graph database with branching and typed ontology
Omnigraph – 为 AI 智能体构建的图数据库
它是什么
Omnigraph 是一个对象存储原生图数据库,其数据存储在开源的 Lance 列式格式中。它专为现代 LLM 驱动系统所需的长期运行、多智能体工作负载而设计:一个共享的、类型化的世界模型,可通过图遍历、向量相似性和全文搜索在单个请求中查询。
核心思想
| 思想 | 对 AI/LLM 工作负载的重要性 |
|---|---|
| 类型化本体 | 模式(.pg 文件)定义节点/边类型、键和约束。智能体可以依赖单一、强制的领域模型,减少“幻觉”或格式错误的数据。 |
| 多模态检索 | 单个查询可以组合图跳跃、ANN 向量搜索、BM25 文本搜索和排名融合,让智能体一次性获取最相关的上下文。 |
| 分支与版本控制 | 每个智能体或任务可以在自己的分支上工作,提交审查,然后合并回来。整个图可进行时间旅行,这对审计、可复现性和“智能体记忆”很有用。 |
| 基础设施即代码 | cluster.yaml 声明图、模式、存储查询、嵌入提供程序和安全策略。cluster plan / cluster apply 等命令的行为类似 Terraform,提供可预测、可重复的部署流程。 |
| 安全即代码 | Cedar 策略与数据一起存储,并在每次变更时强制执行,支持 Bearer 令牌认证和审计跟踪。 |
| 对象存储原生 | 数据存储在任何兼容 S3 的存储上(AWS S3、MinIO、Cloudflare R2、GCS、Azure Blob 预览版)或本地 RustFS。由于 Lance 是一种列式、版本化的格式,存储成本保持较低,系统可以水平扩展。 |
典型用例
- 公司大脑 – 所有内部智能体都可以查询的单一知识图谱。
- 智能体记忆 – 每个自主智能体的持久、基于分支的记忆。
- 上下文图 – 捕获决策轨迹和隐性知识以供检索。
- 开发图 – 建模编码智能体读/写的问题、依赖关系和代码工件。
- 研发/机器学习数据层 – 版本化的实验数据,可直接输入训练管道。
如何与之交互
| 工具 | 功能 |
|---|---|
omnigraph(CLI) |
创建/验证集群、运行存储查询、变更数据、管理分支。 |
omnigraph-server |
暴露 REST/OpenAPI 接口的 HTTP 服务器;每个图可在 /graphs/{id}/… 访问。 |
TypeScript SDK(@modernrelay/omnigraph) |
用于 Node/TS 应用程序的类型化客户端库。 |
MCP 服务器(@modernrelay/omnigraph-mcp) |
允许 LLM 主机(Claude、Codex 等)通过简单协议调用 Omnigraph 的桥接器。 |
| Python SDK(计划中) | 未来从 Python 进行类型化访问。 |
快速开始(来自 README)
# 安装 CLI 和服务器
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | bash
# 或通过 Homebrew
brew tap ModernRelay/tap && brew install ModernRelay/tap/omnigraph
# 声明集群目录
mkdir -p company-brain && cd company-brain
cat > cluster.yaml <<'EOF'
version: 1
metadata:
name: company-brain
storage: s3://my-bucket/company-brain
graphs:
knowledge:
schema: people.pg
queries: queries/
policies:
base:
file: base.policy.yaml
applies_to: [knowledge]
EOF
# 验证、计划、应用
omnigraph cluster validate
omnigraph cluster plan
omnigraph cluster apply
# 启动服务器
omnigraph-server --cluster . --bind 0.0.0.0:8080
然后您可以运行查询或变更,例如:
omnigraph query search_docs --params '{"q":"AI safety"}'
omnigraph mutate add_person --params '{"name":"Mina"}'
分支操作类似:
omnigraph branch create --from main agent/ingest-42
omnigraph branch merge agent/ingest-42 --into main
安全模型
- 所有写入都通过集群中定义的 Cedar 策略 包。
- Bearer 令牌在启动时进行哈希处理;服务器解析参与者身份,防止客户端伪造。
- 策略可以按图、按分支或服务器范围进行范围限定,提供细粒度的治理。
谁可能使用它?
- 构建需要共享、版本化世界模型的自主 AI 助手的团队。
- 希望拥有可通过向量搜索进行 LLM 增强检索的中央知识图谱的公司。
- 需要用于实验元数据的低成本、版本化数据湖的研究人员,可通过图或向量查询访问。
下一步去哪里?
- 探索 cookbooks 仓库,获取现成的领域图(公司大脑、VC 运营、制药情报)。
- 阅读详细的 集群指南 和 部署指南,了解生产级设置(Kubernetes、AWS、Azure 等)。
- 加入 Omnigraph Slack 社区,获取支持和路线图讨论。
以上所有信息均直接取自项目 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目