omni
企业级开源 AI Agent,通过统一上下文层连接 20+ 工作流工具,支持权限感知的跨系统搜索与任务执行,数据完全自托管
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
企业级开源 AI Agent,通过统一上下文层连接 20+ 工作流工具,支持权限感知的跨系统搜索与任务执行,数据完全自托管
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:周一早上,产品经理突然在 Slack 里问你:"上个月那个客服工单分析报告,发我一下。"你翻了半天 Slack 记录、打开了 Jira、又去 Google Drive 找了半天,最后在一个月前的文档里才找到。这种「信息在工具里,人在工具之间跑来跑去」的痛苦,是每个中大型企业都在经历的问题。
Omni 就是来解决这个问题的——它是一个开源、自托管的企业级 AI Agent,能够连接公司已有的所有工具(Google Drive、Slack、Confluence、Jira、HubSpot……),在一个对话界面里帮你找到答案、分析数据、甚至替你执行跨系统的任务。

图:Omni 的 AI 助手界面,可以在一个对话窗口里调用多种工具获取上下文信息(来源:GitHub 仓库)
Omni 的创始人在 Hacker News 上分享过创业初衷:很多中大型企业想要类似 Glean(企业搜索+AI 平台)的体验,但 Glean 是 SaaS 服务——数据要上传到第三方服务器。对于金融、医疗、法律等数据敏感行业,这是不可接受的合规风险。
Omni 的定位就是做一个完全自托管的开源替代品:
2025 年 9 月项目开源,2026 年初获得社区关注,迅速成为企业 AI Agent 赛道的热门开源项目。
Omni 最独特的技术决策是只用 Postgres 一种数据库。
传统的企业 AI 搜索方案通常需要维护: Elasticsearch(全文搜索)+ Pinecone/Qdrant(向量数据库)+ PostgreSQL(业务数据)。三个系统意味着三套运维、三套备份、三套监控。
Omni 通过 PostgreSQL + ParadeDB + pgvector 的组合,把三种能力合为一体:
| 能力 | 技术实现 |
|---|---|
| 全文搜索 | ParadeDB(Postgres 内置 BM25,无需 Elasticsearch) |
| 向量语义搜索 | pgvector(Postgres 扩展) |
| 业务数据存储 | 原生 Postgres |
这样企业只需要维护一个数据库实例,运维复杂度大幅降低。这也是 Omni 在架构宣传中反复强调的核心卖点。
Omni 的代码库采用 Monorepo 结构,核心由三种语言组成:
Rust(核心服务层)
services/searcher:搜索服务,处理 BM25 + pgvector 混合查询services/indexer:索引服务,负责从各连接器拉取数据并建立索引services/connector-manager:连接器编排器,管理所有插件的生命周期services/sandbox:代码执行沙箱,运行用户提交的 Python/bash 代码Rust 的选择主要出于性能和内存效率考虑——搜索和索引是高 IO 场景,Rust 的零成本抽象和优秀并发模型非常适合。
Python(Agent 运行时)
services/ai:AI 推理编排,支持 Anthropic、OpenAI、Gemini 等多模型调用connectors/*:各工具的连接器实现(Google Drive、Slack、Jira、Confluence 等,均为 Python)Python 连接器的优势是开发效率高,AI 领域生态丰富,大模型 API 调用(Anthropic Messages API / OpenAI Chat Completions)用 Python 实现最为自然。
SvelteKit(Web 前端)
Omni 并不是简单地把所有文档都索引一遍就完事。它会继承源系统的权限体系——你在 Omni 里搜到的内容,永远不会超出你在 Google Drive 或 Confluence 里原本有权限访问的范围。这解决了企业 AI 搜索最敏感的合规问题。
当 Omni 回答"上个月有哪些高优先级客服工单"时,它不仅给出答案,还会标注每个信息来自哪个文档、哪条 Slack 消息——用户可以一键溯源,避免 AI 幻觉带来的误导。
Omni 的 Agent 可以执行用户提交的 Python 或 bash 代码来完成数据分析任务。这个执行环境是完全隔离的:
相当于给 AI 发了一个「受限的 Linux 虚拟机」,安全边界明确。
官方已提供连接器:Google Workspace、Microsoft 365、Slack、Jira、Confluence、HubSpot、Notion、GitHub、Linear、ClickUp、Nextcloud、Paperless-ngx、IMAP、Fireflies……基本上覆盖了主流企业工具链。每个连接器独立容器部署,互不影响。
除了自带连接器,Omni 还支持 MCP(Model Context Protocol) 协议,可以接入任何兼容 MCP 的工具生态。
Omni 提供了完整的 Docker Compose 配置,包含 15+ 个容器:
postgres (ParadeDB) → 搜索+向量+业务数据
redis → 缓存+消息队列
web → SvelteKit 前端 (port 3000)
searcher → Rust 搜索服务
indexer → Rust 索引服务
ai → Python AI 推理服务
sandbox → 代码执行沙箱
connector-manager → Rust 连接器编排
google-connector → Google Workspace 连接器
slack-connector → Slack 连接器
atlassian-connector → Jira + Confluence 连接器
...(10+ 更多连接器)
caddy → 反向代理 + HTTPS
官方 .env.example 提供了详细的配置模板,包括每个容器的 CPU 资源限制。单服务器部署建议 4 核 CPU + 8GB 内存以上。
对于生产环境,官方还提供 Terraform 配置,支持一键部署到 AWS 或 GCP。
1. Postgres 单库瓶颈
虽然「只用 Postgres」降低了运维复杂度,但 ParadeDB + pgvector 对复杂查询的并发处理能力是否有天花板,官方也承认「大型组织需要实际测试」——这是 Omni Beta 阶段最被社区关注的技术问题之一。
2. 部署门槛依然不低
Docker Compose 虽然「一键」,但 15+ 个容器意味着企业需要有基本的容器化运维能力。对于完全没有 DevOps 经验的团队,初期配置和调试仍需要一定时间。
3. 连接器质量参差不齐
官方提供 20+ 连接器,但部分连接器(如 Darwinbox、WindShift)明显是为特定客户定制开发的,企业实际使用时可能需要自己扩展或调整。
Omni 的出现,标志着企业级 AI Agent 开源生态的一次重要补全。它解决了三个核心矛盾:
如果你所在的企业在用 Glean、Workplace Search 或类似的 SaaS AI 工具,又对数据主权有要求,Omni 值得关注。如果你的团队有 Docker 部署能力,Omni 的上手门槛也在可控范围内。
开源地址:https://github.com/getomnico/omni 许可证:Apache 2.0