---
title: OpenConnector로 자체 호스팅 런타임 호출하기
description: OpenConnector TypeScript 클라이언트를 사용하여 자체 런타임에서 액션을 호출하고, 카탈로그를 조회하고, 연결을 선택하세요.
lang: ko
canonical_url: https://oomol.com/ko/docs/openconnector-sdk/
markdown_url: https://oomol.com/ko/docs/openconnector-sdk.md
---

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

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

먼저 서버를 배포하고 보호하세요. [OpenConnector 자체 호스팅 가이드](/ko/docs/openconnector-self-hosting/)에서 Docker Compose, 소스, Cloudflare Workers 배포 방법을 다룹니다.

## SDK 설치

```sh
npm install @oomol-lab/connector
```

## 로컬 런타임 호출

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

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

const open = new OpenConnector();

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

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

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

## 클라이언트를 서버로 지정

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

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

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

## 런타임 조회

```ts
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 레퍼런스](/ko/docs/connector-sdk/)를 참고하세요.
