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を参照してください。
Wanta