Show HN:Omni – 基于 Postgres 构建的开源工作场所代理
1 分•作者: prvnsmpth•5 天前
各位 HN 的朋友们!
在过去的一年里,我一直在开发 Omni([https://github.com/getomnico/omni](https://github.com/getomnico/omni))——一个开源的、可自托管的智能代理,它可以连接到您工作场所的各种应用(如云盘、邮件、维基、CRM、工单系统等),并为您的团队提供一个能够跨应用操作的 AI 代理。
大约 6 个月前,我曾在 HN 上发布过关于 Omni 的内容,并引发了一些有趣的讨论:[https://news.ycombinator.com/item?id=47215427](https://news.ycombinator.com/item?id=47215427)。当时,Omni 主要是一个企业级搜索系统。自那以后,该项目已经发展成为一个更强大的代理,能够收集上下文、分析信息并执行任务,而不仅仅是搜索答案。
例如,您可以指示 Omni:“用本周的进展创建一个项目状态演示文稿”,它将搜索 Jira、Slack、Docs、会议记录,提取相关信息,使用 Python 分析电子表格,准备一份摘要,并在创建您云盘中的幻灯片之前征求您的批准。
Omni 目前可以执行的功能(不完全列举):
* 对已连接的应用执行操作,并为写入操作提供审批系统。
* 全面支持 MCP,因此连接器可以与任何现有的 MCP 服务器集成。
* 将已连接应用的数据同步到统一的搜索索引中,使代理能够使用单一搜索工具查询所有应用的数据。
* 沙盒化的代码执行和 Shell 访问,使代理能够创建文档、电子表格、演示文稿和 HTML 着陆页。
* 持久化内存和用户自定义技能。
Omni 仍然使用 Postgres 作为其核心数据层,用于同步和索引所有来自已连接应用的数据。我们使用 ParadeDB(Postgres 扩展)进行 BM25 搜索,使用 pgvector 进行语义搜索——因此无需运行和维护专用的搜索集群或向量数据库。想了解更多关于架构的信息,请访问:[https://docs.getomni.co/architecture](https://docs.getomni.co/architecture)。
非常希望有更多人能参与到这个项目中来,如果您觉得这个项目有趣,请查看下面的代码库。使用 Docker Compose 部署并连接几个应用只需要大约 10-15 分钟。
我很乐意回答任何问题!
GitHub:[https://github.com/getomnico/omni](https://github.com/getomnico/omni) (Apache 2.0 许可)
文档:[https://docs.getomni.co](https://docs.getomni.co)
查看原文
Hi HN!<p>Over the past year, I've been building Omni (<a href="https://github.com/getomnico/omni" rel="nofollow">https://github.com/getomnico/omni</a>) - an open-source, self-hosted agent that connects to your workplace apps (drive, email, wiki, CRMs, ticketing systems, etc.), and gives your team an AI agent that can operate across these apps.<p>I posted about Omni on HN about 6 months ago, and it generated some interesting discussions: <a href="https://news.ycombinator.com/item?id=47215427">https://news.ycombinator.com/item?id=47215427</a>. At the time, Omni was largely an enterprise search system. Since then, the project has evolved to become more of an agent that can gather context, analyze information, and carry out tasks; rather than just search for answers.<p>E.g., you can tell Omni, "create a project status deck on Google Slides with this week's progress", and it will search through Jira, Slack, Docs, meeting transcripts, fetch the relevant information, analyze spreadsheets with Python, prepare a summary and ask for your approval before creating the slides on your drive.<p>A non-exhaustive list of things Omni can do today:<p>- Take action on connected apps, with an approval system for write actions<p>- Full MCP support, so connectors can integrate with any existing MCP servers.<p>- Sync data from connected apps into a unified search index, allowing the agent to query data across all apps using a single search tool.<p>- Sand-boxed code execution and shell access, enabling the agent to create documents, spreadsheets, presentations and HTML landing pages.<p>- Persistent memory and user-defined skills<p>Omni still uses Postgres as its core data layer where it syncs and indexes all data from connected apps. We use ParadeDB (Postgres extension) for BM25 search and pgvector for semantic search - so there's no need to run and operate a dedicated search cluster or vector database. To know more about the architecture: <a href="https://docs.getomni.co/architecture" rel="nofollow">https://docs.getomni.co/architecture</a>.<p>Would love to get more folks involved in the project, so if you find this interesting, please check out the repo below. It only takes around 10-15 min to deploy using docker compose and connect a few apps.<p>Happy to answer any questions!<p>GitHub: <a href="https://github.com/getomnico/omni" rel="nofollow">https://github.com/getomnico/omni</a> (Apache 2.0 licensed)
Docs: <a href="https://docs.getomni.co" rel="nofollow">https://docs.getomni.co</a>