문서 둘러보기

OpenConnector로 자체 호스팅 런타임 호출하기

TypeScript 코드가 직접 운영하는 OpenConnector 런타임을 호출할 때 OpenConnector을 사용하세요. baseUrl은 서버를 가리킵니다.

먼저 서버를 배포하고 보호하세요. OpenConnector 자체 호스팅 가이드에서 Docker Compose, 소스, Cloudflare Workers 배포 방법을 다룹니다.

SDK 설치

npm install @oomol-lab/connector

로컬 런타임 호출

새 로컬 런타임은 기본적으로 http://localhost:3000을 사용하며, 토큰이 구성되기 전까지는 런타임 토큰 없이 호출할 수 있습니다. 이 토큰 없는 설정은 localhost 또는 그에 준하는 사설 네트워크에서 유지하세요:

import { OpenConnector } from "@oomol-lab/connector";

const open = new OpenConnector();

const stories = await open.execute("hackernews.get_top_stories", {});

네임스페이스 형식도 동일한 액션 레지스트리를 사용합니다:

const threads = await open.gmail.search_threads({ query: "is:unread" });

클라이언트를 서버로 지정

서버 오리진을 baseUrl로 사용하세요. 클라이언트가 자체 API 경로를 추가합니다. 런타임을 공개하기 전에, 아직 신뢰할 수 있는 네트워크에서만 접근 가능한 상태에서 런타임 토큰을 생성한 다음, 모든 클라이언트에서 해당 토큰을 요구하도록 설정하세요:

const open = new OpenConnector({
  baseUrl: "https://connect.internal.example.com",
  runtimeToken: process.env.OOMOL_CONNECT_RUNTIME_TOKEN!,
  connectionName: "work",
});

런타임 토큰이 존재하면 서버는 유효한 oct_… 토큰을 요구합니다. 배포 정책에 따라 호출하는 백엔드나 Agent 환경에 보관하세요. 토큰 없는 런타임을 공개 도메인이나 터널에 노출하지 마세요.

런타임 조회

await open.health();
await open.catalog.services();
await open.catalog.search("send email", { limit: 5 });
await open.apps.listByService("github");
await open.apps.authenticated(["github", "notion"]);

클라이언트 또는 호출별로 connectionName을 사용하여 구성된 계정을 선택하세요. 둘 다 없으면 런타임은 기본 연결을 사용합니다.

관리는 웹 콘솔에서

SDK는 런타임 구성을 사용합니다. 연결 생성, OAuth 클라이언트 구성, 런타임 토큰 생성, 액션 정책 관리는 OpenConnector 웹 콘솔에서 수행하세요.

정확한 액션 유형, 프록시 차이점, 타임아웃, 재시도, 오류, 그리고 전체 OpenConnector API는 TypeScript SDK 레퍼런스를 참고하세요.