ModernRelay/omnigraph
GitHub: ModernRelay/omnigraph
基于 Rust 和 Lakehouse 架构的开源图引擎,支持 Git 风格的版本化工作流,让团队能像管理代码一样分支、提交和合并类型化的图数据。
Stars: 161 | Forks: 12
# Omnigraph
[](LICENSE)
[](rust-toolchain.toml)
[](https://crates.io/crates/omnigraph-cli)
[](https://github.com/ModernRelay/omnigraph/actions/workflows/ci.yml)
**原生 Lakehouse 图引擎,支持 Git 风格的工作流。**
像管理源代码一样对带有类型的图数据进行分支、提交和合并。多模态、可自托管、开源。
基于 Rust、Arrow、DataFusion 和 Lance 构建。
加入 [Omnigraph Slack 社区](https://join.slack.com/t/omnigraphworkspace/shared_invite/zt-3wfpglyxj-lHvJGhuySPfqLtN35uJZNw)
## 使用场景
- 本地部署与混合上下文图
- 多智能体研究的骨干网络
- 事件响应图
- 合规与审计图
- 企业知识系统
## 功能特性
- 类型化 schema、类型化查询和类型化变更
- Schema 即代码、查询验证与代码检查
- Git 风格的图工作流:分支、提交、合并与事务性运行
- 本地、本地部署与云 S3 原生存储,支持快照固定读取
- 图遍历 + 文本、模糊、BM25、向量与 RRF 搜索集成于单一运行时
- 策略即代码,用于服务端访问控制
- 单一 CLI 管理多个部署环境
## 快速安装
```
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | bash
```
此命令将从已发布的 release 二进制文件中将 `omnigraph` 和 `omnigraph-server` 安装到 `~/.local/bin`。
或使用 Homebrew 安装:
```
brew tap ModernRelay/tap
brew install ModernRelay/tap/omnigraph
```
如需获取入门图和 agent 技能来引导和操作 Omnigraph,请参阅 [`ModernRelay/omnigraph-cookbooks`](https://github.com/ModernRelay/omnigraph-cookbooks)。
## 单命令本地 RustFS 引导
```
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/local-rustfs-bootstrap.sh | bash
```
该引导过程会:
- 在 `127.0.0.1:9000` 上启动 RustFS
- 创建存储桶和 S3 后端存储库
- 加载已检入的上下文固件数据
- 在 `127.0.0.1:8080` 上启动 `omnigraph-server`
必须先安装并运行 Docker。
RustFS 引导优先使用滚动更新的 `edge` 二进制文件,仅在 release 资产不可用时才回退到源码构建。
如果之前的运行在同一存储库前缀下留下了对象但未能完成存储库初始化,请使用 `RESET_REPO=1` 重新运行,或将 `PREFIX` 设置为新值。
## 常用命令
相同的 URI 适用于本地路径、`s3://...` 或 `http://host:port`。
```
omnigraph init --schema ./schema.pg ./repo.omni
omnigraph load --data ./data.jsonl ./repo.omni
omnigraph read --query ./queries.gq --name get_person --params '{"name":"Alice"}' ./repo.omni
omnigraph change --query ./queries.gq --name insert_person --params '{"name":"Mina"}' ./repo.omni
omnigraph branch create --from main feature-x ./repo.omni
omnigraph branch merge feature-x --into main ./repo.omni
```
有关 schema 应用、快照、数据摄取、运行和策略命令,请参阅 [docs/cli.md](docs/cli.md)。
## 文档
- [安装指南](docs/install.md)
- [CLI 指南](docs/cli.md)
- [部署指南](docs/deployment.md)
## 构建与测试
```
cargo build --workspace
cargo check --workspace
cargo test --workspace
```
注意事项:
- Rust 稳定版工具链,edition 2024
- CI 运行 `cargo test --workspace --locked`
- 完整 CI 和某些本地测试流程需要 `protobuf-compiler`
- S3 集成测试需要一个兼容 S3 的端点,例如 RustFS
## Workspace Crates
- `crates/omnigraph-compiler`:共享的 schema/查询解析器、类型检查器、catalog 和 IR 降低
- `crates/omnigraph`:存储/运行时、分支、合并、变更检测和查询执行
- `crates/omnigraph-cli`:用于 init/load/ingest/read/change/branch/snapshot/export/policy 操作的 CLI
- `crates/omnigraph-server`:用于远程读取、变更、数据摄取、导出、分支、提交和运行的 Axum HTTP 服务器
## 参与贡献
在发送大量代码更改之前,请先开一个 issue、规范说明或设计讨论。设计反馈和具体的问题陈述是就路线图进行合作的最快方式。
## 社区
加入 [Omnigraph Slack 社区](https://join.slack.com/t/omnigraphworkspace/shared_invite/zt-3wfpglyxj-lHvJGhuySPfqLtN35uJZNw)
提问、分享反馈并关注开发动态。
标签:Apache Arrow, BM25, DataFusion, Git风格工作流, Gradle集成, Lakehouse, Lance, RRF, Rust, RustFS, S3存储, SecOps, Streamlit, 云安全架构, 企业知识库, 全文检索, 可视化界面, 向量搜索, 图引擎, 图数据管理, 图遍历, 多智能体, 多模态, 安全可观测性, 安全运营, 幻觉缓解, 开源, 扫描框架, 搜索聚合, 数据快照, 数据湖, 数据融合, 本地部署, 模式即代码, 混合云, 漏洞探索, 版本控制, 知识系统, 策略即代码, 类型化查询, 网络流量审计, 聊天机器人安全, 自托管, 访问控制, 请求拦截, 通知系统