ドキュメントを閲覧

OpenConnector で self-hosted runtime を呼び出す

自分で運用する OpenConnector runtime を TypeScript code から呼び出す場合は、OpenConnector を使用します。baseUrl は自分の server を指します。

最初に server をデプロイして保護してください。OpenConnector セルフホスティングガイドでは、Docker Compose、source、Cloudflare Workers への deployment を説明しています。

SDK をインストールする

npm install @oomol-lab/connector

local runtime を呼び出す

新しい local runtime の既定値は http://localhost:3000 です。runtime token が設定されるまでは token なしで呼び出せます。この no-token 設定は localhost または private network 内でのみ使用してください。

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

const open = new OpenConnector();

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

namespace 形式は同じ action registry を使用します。

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

client を自分の server に接続する

server origin を baseUrl に指定します。client は独自の API path を追加します。runtime を public にする前に、信頼できる network からのみ接続できる状態で runtime token を作成し、すべての client にその token を要求します。

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

runtime tokens が存在すると、server は有効な oct_… token を要求します。deployment policy に従い、呼び出し元 backend または Agent environment に保管してください。no-token runtime を public domain や tunnel で公開してはいけません。

runtime を確認する

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"]);

設定済みの account を選択するには、client または call ごとに connectionName を指定します。どちらにも指定されていない場合は、runtime が default connection を使用します。

管理操作は web console で行う

SDK は runtime configuration を利用します。connections の作成、OAuth clients の設定、runtime tokens の生成、action policy の管理は OpenConnector web console で行います。

action ごとの precise types、proxy の違い、timeouts、retries、errors、完全な OpenConnector API については、TypeScript SDK referenceを参照してください。