oomol-lab/open-connector
요약
OpenConnector는 AI 에이전트가 다양한 외부 서비스에 안전하고 지속적으로 접근할 수 있도록 돕는 오픈 소스 커넥터 게이트웨이입니다. 이 시스템은 사용자 앱 계정을 한 번 연결하여, 1,000개 이상의 프로바이더와 10,000개 이상의 액션을 에이전트 및 애플리케이션에 공유 카탈로그로 제공합니다. 관리형 OAuth를 지원하는 호스팅 런타임과 Docker/Node.js 기반의 자체 호스팅 옵션을 모두 제공하여 유연성을 높였습니다.
핵심 포인트
- AI 에이전트를 위한 오픈 소스 커넥터 게이트웨이입니다.
- 1,000개 이상의 프로바이더와 10,000개 이상의 액션 카탈로그를 공유합니다.
- 관리형 OAuth 및 자체 호스팅 옵션을 모두 지원하여 유연성이 높습니다.
- 검사 가능한 액션 계약을 통해 안전한 에이전트 워크플로우를 보장합니다.
OpenConnector는 AI 에이전트를 위한 오픈 소스 커넥터 게이트웨이며 Pipedream이나 Composio의 대안입니다. 사용자 앱 계정을 한 번 연결하고, 1,000개 이상의 프로바이더와 10,000개 이상의 사전 구축된 액션(Actions)을 에이전트 및 애플리케이션에 공유 카탈로그로 노출할 수 있습니다.
| 관리형 OAuth 및 호스팅 런타임 (hosted runtime), 즉시 사용 가능. 배포나 OAuth 앱 설정 불필요. | Docker 또는 Node.js를 사용하여 로컬에서, 또는 자체 인프라에서 실행. 스토리지와 OAuth 앱은 직접 관리합니다. | Cloudflare, Fly.io, RepoCloud, nibrun, NEXUS AI 등 다수 플랫폼 지원. |
🚀 OOMOL 호스팅 |
자체 호스팅 (Self-host) | 더 많은 플랫폼 (More platforms) |
앱 코드에서는 Connector SDK를 사용하고, 로컬 에이전트 릴레이로는 oo CLI를, 에이전트 호스트에서는 MCP를, 사용자 정의 클라이언트에서는 HTTP/OpenAPI를 사용하며, 관리 및 디버깅을 위해서는 웹 콘솔(Web Console)을 사용합니다.
-
자격 증명(credentials), 범위(scopes), 스키마(schemas), 정책(policies), 실행 로그(run logs)를 검사 가능한 런타임 내에 유지합니다.
-
로컬, 자체 인프라 또는 OOMOL의 호스팅 런타임을 통해 실행할 수 있습니다.
-
오픈 소스 및 상용 SaaS 배포 전반에서 동일한 프로바이더 ID, 액션 ID, 스키마 및 계약(contracts)을 사용합니다.
-
GitHub, Gmail, Notion, BigQuery, Google Analytics, Supabase, Airtable, Slack 등 다양한 제품에 걸쳐 작동하는 커넥터 카탈로그를 제공합니다.
-
API 키, OAuth2, 사용자 정의 자격 증명 및 인증이 필요 없는(no-auth) 프로바이더에 대한 자격 증명 처리 기능을 지원합니다.
-
검사 가능한 액션 계약: 요청/응답 스키마, 필수 범위, 지연 로딩된 실행기 소스(executor source)를 제공합니다.
-
연결 식별자, 범위, 런타임 토큰, 액션 허용/차단 정책, 임시 파일 전송, 그리고 마스킹된 실행 로그에 대한 런타임 제어 기능을 제공합니다.
-
SQLite 또는 PostgreSQL 상태 및 로컬 또는 S3 호환 전송 스토리지를 사용하는 로컬 Docker 또는 Node.js 배포 옵션과 OOMOL의 호스팅 런타임을 지원합니다. 추가 관리 플랫폼은 배포 옵션에서 확인할 수 있습니다.
OpenConnector는 에이전트가 사용자에게 이미 사용되고 있는 도구에 지속적으로 접근해야 하지만, 프로바이더 자격 증명을 에이전트 프로세스에 넘겨줄 필요가 없는 제품에 적합합니다.
- 작업 앱(work apps), 개발자 도구(developer tools), 데이터 시스템(data systems), 통신 플랫폼(communication platforms), AI 서비스 전반에 걸쳐 재사용 가능한 접근이 필요한 에이전트 제품들.
- 사용자 앱 액세스를 위해 안정적이고 검사 가능한 액션 계약(Action contracts)을 추가해야 하는 에이전트 워크플로우를 제공하는 제품들.
- 속도를 위해 호스팅된 인증(hosted auth)을 원하지만, 개인용 또는 자체 호스팅 런타임 제어 경로를 유지하려는 팀들.
| 도구 | 용도 |
|---|---|
| Connector SDK | 경량의 TypeScript HTTP 클라이언트. 자체 호스팅 런타임에는 OpenConnector를 사용하고, OOMOL-호스팅 개인 및 SaaS 최종 사용자 연결에는 Connector 또는 ProjectConnector를 사용하십시오. |
| ... |
엔드포인트 세부 정보, 응답 엔벨로프(response envelopes), 인증 헤더(auth headers), MCP 도구, 액션 가이드 예제는 docs/runtime-api.md에 있습니다.
OpenConnector는 커넥터를 탐색하고, 자격 증명을 구성하며, 런타임 토큰을 생성하고, 런타임 사용량을 검사할 수 있는 로컬 대시보드(Dashboard)와 함께 제공됩니다.
커넥터 카탈로그를 사용하여 사용 가능한 서비스를 확인하고, 공급자를 검색하며, 한 곳에서 해당 액션과 자격 증명 설정을 열어보십시오.
배포 후에는 개요 페이지(Overview page)를 사용하여 런타임 준비 상태, 사용 가능한 공급자, 실행 가능한 액션, 최근 실패 건수, 도구 호출 추세 및 최근 호출 내역을 모니터링하십시오.
공급자 이름과 상표는 각 소유자에게 속하며 식별 및 상호 운용성 목적으로만 사용됩니다.
flowchart LR
Agent["AI 에이전트 / 앱"] -->|"SDK / CLI / MCP / HTTP"| Gateway["OpenConnector 게이트웨이"]
Gateway --> Auth["자격 증명 및 OAuth 경계"]
...
앱과 에이전트는 액션을 발견하고, 스키마와 범위를 검사하며, 연결 별칭(connection alias)을 선택한 후, 게이트웨이를 통해 실행합니다. 공급자의 비밀 정보는 런타임 경계 뒤에 유지되며; 에이전트는 실행에 필요한 메타데이터, 안전 계정 레이블 및 실행 결과를 받습니다.
| 경로 | 최적의 사용처 | 포함 내용 |
|---|---|---|
| 오픈 소스 자체 호스팅(Open-source self-host) | 완전한 제어를 원하는 개발자 및 팀 | 로컬 Docker 또는 Node 런타임, SQLite 또는 PostgreSQL 상태, 로컬 또는 S3 호환 전송 파일, MCP, HTTP, OpenAPI, 웹 콘솔 |
| ... |
참고 (Note)
이것은 자체 호스팅(self-hosted) 런타임을 시작합니다. OAuth 제공업체는 해당 제공업체에 등록한 앱으로부터 OAuth 클라이언트 자격 증명(client credentials)을 필요로 합니다. 사용자가 자체 OAuth 앱을 설정하지 않고도 지원되는 제공업체를 인증하도록 하려면 OOMOL 호스팅 커넥터를 사용하십시오.
Docker Compose를 사용하여 공개된 이미지에서 런타임을 시작합니다:
docker compose up
이 명령어는 ghcr.io/oomol-lab/open-connector:latest 이미지를 가져옵니다.
대신 소스(source)로부터 빌드하려면:
docker compose -f docker-compose.yml -f docker-compose.build.yml up --build
로컬 콘솔을 열고 생성된 API 참조를 확인하십시오:
권한 인증(no-auth) 액션을 실행하여 런타임을 검증합니다:
curl -s -X POST http://localhost:3000/v1/actions/hackernews.get_top_stories \
-H 'content-type: application/json' \
-d '{"input":{}}'
전체 로컬 설정, 첫 번째 제공업체 연결, OAuth 흐름(flow), 런타임 설정에 대해서는 docs/quickstart.md를 참조하십시오.
GitHub가 가장 간단한 자격 증명 예시인 이유는 개인 액세스 토큰(personal access token)을 사용할 수 있기 때문입니다:
curl -s -X PUT http://localhost:3000/api/connections/github \
-H 'content-type: application/json' \
-d '{"authType":"api_key","values":{"apiKey":"github_pat_..."}}'
...
OAuth2 앱, 이름 지정된 연결(named connections), 자격 증명 암호화(credential encryption), 토큰 새로 고침(token refresh), 액션 정책(action policies)에 대해서는 docs/credentials.md 및 docs/configuration.md를 참조하십시오.
npm 기반 로컬 개발의 경우 http://localhost:5173을 여십시오. 웹 콘솔 개발 서버가 http://localhost:3000의 런타임으로 API 요청을 프록시합니다. Docker 또는 빌드된 Node 런타임의 경우, 콘솔은 http://localhost:3000에서 제공됩니다.
콘솔은 제공업체 탐색(provider browsing), API 키 및 OAuth 클라이언트 구성, 런타임 토큰 생성, 액션 스키마 검사(Action schema inspection), 액션 디버깅(Action debugging), 최근 실행 검토(recent run review) 및 생성된 OpenAPI와 MCP 메타데이터에 대한 접근을 지원합니다.
Node 런타임은 기본적으로 SQLite를 사용하며, OOMOL_CONNECT_DATABASE_URL이 구성되면 PostgreSQL 15 이상을 사용할 수 있습니다. PostgreSQL 마이그레이션(migrations)은 명시적입니다: npm run runtime:migrate를 실행하십시오.
마이그레이션 대기 버전으로 시작하기 전에. 서버 시작 시 스키마 준비 상태만 확인하며 PostgreSQL DDL은 절대 적용하지 않습니다. 구성, 권한, TLS 및 다중 인스턴스 요구 사항은 docs/configuration.md를 참조하십시오. Docker 이미지는 migrate 서브커맨드와 동일한 러너를 노출합니다. 자세한 내용은 docs/docker-ghcr.md를 참조하십시오.
GitHub Packages (GHCR)에서 미리 빌드된 이미지로 OpenConnector를 실행하려면 다음을 사용하십시오: ghcr.io/oomol-lab/open-connector
- 최신 릴리스에는
latest를, 프로덕션용 고정된 릴리스 버전에는 특정 버전을, 최신main빌드에는tip을 사용하십시오.
태그, 풀링 및 실행에 대한 내용은 docs/docker-ghcr.md를 참조하십시오.
즉시 사용할 수 있는 AI 봇을 원한다면 Leina를 시도해 보세요. Leina는 1,500개 이상의 SaaS 앱에 연결되며, 팀의 워크플로우에 맞게 앱 연결, 스킬 및 지식 기반을 선택하여 자체 AI 에이전트를 사용자 정의할 수 있게 해줍니다.
Slack, Microsoft Teams, Discord 또는 Telegram에서 사용하여 정보를 찾고, 주간 보고서를 컴파일하며, 고객 피드백을 정리하고, 승인한 앱을 통해 영업 후속 조치를 준비할 수 있습니다.
- 빠른 시작 (Quickstart)
- 개발자 도구 (Developer tools)
- 프로그래밍 방식 연결 관리 (Programmatic connection management)
- 클라이언트 연결: MCP, CLI 및 SDK
- Gmail OAuth 및 SDK 튜토리얼
- Instagram OAuth 및 액션 (Actions)
- 런타임 API 및 MCP
- 런타임 임베드 (
@oomol-lab/open-connector) - 배포 옵션 - Fly.io 배포
- Cloudflare 배포
- Docker 이미지 (GHCR)
- 단일 바이너리
- 구성 (Configuration)
- 자격 증명 및 OAuth (Credentials and OAuth)
- 카탈로그 형식 (Catalog format)
- 검증 언어 (Verification language)
- 기여 (Contributing)
- 행동 강령 (Code of Conduct)
- 보안 (Security)
Node.js 22 이상을 사용하십시오:
npm install
npm run dev
로컬 API 런타임은 http://localhost:3000에서 수신합니다. 웹 콘솔 개발 서버는 http://localhost:5173에서 수신하며, API 요청을 런타임으로 프록시합니다.
풀 리퀘스트를 열기 전에:
npm run fix-check
npm test
프로바이더 코드는 src/providers/<service> 아래에 있습니다. 프로바이더 기여 규칙은 CONTRIBUTING.md를 참조하십시오.
별도로 명시되지 않는 한, 이 저장소에 작성된 소스 코드, 스크립트, 생성된 프로젝트 스캐폴딩, 테스트 및 문서는 Apache License Version 2.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE.txt를 참조하십시오.
이 저장소의 Apache-2.0 라이선스는 제3자 제품, 제공업체, 앱, API, 상표(trademarks), 서비스 마크(service marks), 상호(trade names), 로고, 아이콘, 브랜드 자산, 문서, 스크린샷 또는 기타 저작권이 있는 자료의 권리를 부여하지 않습니다. 이러한 자료는 각 소유자에게 속합니다.
제공업체 및 앱 이름, 메타데이터, 링크, 범위(scopes), 권한(permissions) 및 선택적 로고/아이콘은 서비스 식별과 상호 운용성을 가능하게 하기 위해 포함된 것일 뿐입니다. 모든 제3자 브랜드 및 제품에 대한 권리는 해당 소유자에게 남아 있습니다. 이 카탈로그에 포함되는 것이 해당 소유자에 의한 보증, 후원, 파트너십, 인증 또는 검증을 의미하지는 않습니다.
제공업체 메타데이터나 자산을 기여할 경우, 제출할 권리가 있는 자료만 제출해 주십시오. 브랜드 파일을 이 저장소에 복사하는 것보다 공식 공개 자산 링크를 선호해 주십시오.
이슈와 풀 리퀘스트는 초점을 맞추고, 존중하며, 실행 가능한 내용으로 유지해 주십시오. 본 프로젝트 참여는 CODE_OF_CONDUCT.md의 규정을 따릅니다.
OpenConnector가 유용하다면, 별표(⭐)를 눌러주시면 더 많은 개발자가 이 프로젝트를 발견하는 데 도움이 됩니다.
OpenConnector 구축에 도움을 준 모든 분들께 감사드립니다. 함께 참여하고 싶으신가요? CONTRIBUTING.md를 참조하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기