Show HN: Omni – Postgres 기반의 오픈 소스 업무용 검색 및 채팅
요약
Omni는 Postgres 기반의 오픈 소스 업무용 AI 어시스턴트 및 검색 플랫폼입니다. Google Drive, Slack, Jira 등 다양한 업무용 앱을 통합하여 전문 검색과 의미론적 검색을 지원하며, 사용자의 인프라에 직접 설치하여 데이터 보안을 유지할 수 있습니다.
핵심 포인트
- Postgres(ParadeDB)를 활용하여 별도의 벡터 데이터베이스 없이 전문 검색과 의미론적 검색을 통합 관리합니다.
- 도구 사용(tool use) 기능이 포함된 AI 에이전트를 통해 데이터 분석 및 Python/bash 실행이 가능합니다.
- 소스 시스템의 권한을 준수하는 권한 상속 기능을 통해 보안을 강화했습니다.
- Anthropic, OpenAI, Gemini 등 다양한 LLM을 선택하여 사용할 수 있는 BYOLLM 방식을 지원합니다.
- Rust, Python, SvelteKit 기반의 아키텍처와 Docker/Terraform을 통한 간편한 배포를 제공합니다.
Omni는 업무 공간을 위한 AI 어시스턴트(AI Assistant) 및 검색 플랫폼입니다.
업무용 앱과 연결하여 직원이 정보를 찾고 업무를 완수할 수 있도록 돕습니다.
Features • Architecture • Docs • Deploy • Contributing
</div>Features (기능)
- 통합 검색 (Unified Search): Google Drive/Gmail, Slack, Confluence, Jira 등을 연결합니다. 이 모든 서비스에 대해 전문 검색 (BM25) 및 의미론적 검색 (pgvector)을 지원합니다.
- AI 에이전트 (AI Agent): 도구 사용 (tool use) 기능이 포함된 채팅 인터페이스를 제공합니다. 연결된 앱을 검색하고, 문서를 읽으며, 샌드박스 컨테이너 (sandboxed container) 내에서 Python/bash를 실행하여 데이터를 분석합니다.
- 셀프 호스팅 (Self-hosted): 귀하의 인프라에서 완전히 실행됩니다. 데이터가 네트워크 외부로 유출되지 않습니다.
- 권한 상속 (Permission Inheritance): 소스 시스템의 권한을 준수합니다. 사용자는 이미 접근 권한이 있는 데이터만 볼 수 있습니다.
- 자체 LLM 사용 (Bring Your Own LLM): Anthropic, OpenAI, Gemini, AWS Bedrock, Vertex AI, Azure AI Foundry 또는 모든 OpenAI 호환 엔드포인트 (vLLM, Ollama, LM Studio, LiteLLM 등)를 사용할 수 있습니다.
- 간편한 배포 (Simple Deployment): 단일 서버 설정을 위한 Docker Compose, 프로덕션 환경의 AWS/GCP 배포를 위한 Terraform을 지원합니다.
Architecture (아키텍처)
Omni는 BM25 전문 검색 (full-text search), pgvector 의미론적 검색 (semantic search), 그리고 모든 애플리케이션 데이터를 위해 **Postgres (ParadeDB)**를 사용합니다. Elasticsearch나 별도의 벡터 데이터베이스 (vector database)가 필요 없습니다. 하나의 데이터베이스만 튜닝, 백업 및 모니터링하면 됩니다.
핵심 서비스는 Rust (searcher, indexer, connector-manager), Python (AI/LLM orchestration), 그리고 SvelteKit (web frontend)로 작성되었습니다. 각 데이터 소스 커넥터(connector)는 자체적인 경량 컨테이너(container)로 실행되므로, 커넥터들이 서로 영향을 주지 않으면서 서로 다른 언어와 의존성(dependencies)을 사용할 수 있습니다.
AI 에이전트는 격리된 Docker 네트워크(내부 서비스 또는 인터넷 접속 불가)에서 실행되는 샌드박스 컨테이너(sandboxed container) 내에서 코드를 실행할 수 있으며, Landlock 파일 시스템 제한, 리소스 제한(resource limits), 그리고 읽기 전용 루트 파일 시스템(read-only root filesystem)이 적용됩니다.
더 자세한 내용은 전체 architecture documentation을 참조하세요.
배포 (Deployment)
Omni는 귀하의 자체 인프라(infra)에 완전히 배포할 수 있습니다. 다음 배포 가이드를 참조하세요:
지원되는 통합 (Supported Integrations)
- Google Workspace: Drive, Gmail
- Slack: 메시지, 파일, 공개 채널
- Confluence: 페이지, 첨부 파일, 스페이스
- Jira: 이슈 및 프로젝트
- Web: 공개 웹사이트, 문서 및 도움말 페이지
- Fireflies: 회의 녹취록
- HubSpot: 연락처, 회사, 거래, 티켓
- Nextcloud: 파일 관리 플랫폼
- IMAP: 모든 이메일 제공업체
- Paperless-ngx: 문서 관리 시스템
- Local Files: 파일 시스템 인덱싱
커넥터 구축하기 (Build a Connector)
Connector SDK를 사용하여 Omni와의 자체 통합 기능을 구축하세요.
개발 설정 및 가이드라인은 CONTRIBUTING.md를 참조하세요.
Claude Code를 사용하는 경우, 이 리포지토리(repo)에는 커넥터 구축을 돕는 스킬이 포함되어 있습니다. /build-connector <service name>을 실행하세요 (예: /build-connector Asana).
라이선스 (License)
Apache License 2.0. 자세한 내용은 LICENSE를 참조하세요.
<div align="center"> </div> </div>
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기