Вызов самостоятельно размещённого runtime через OpenConnector
Используйте OpenConnector, когда TypeScript-код вызывает runtime OpenConnector, которым вы управляете. Его baseUrl указывает на ваш сервер.
Сначала разверните и защитите сервер. В руководстве по самостоятельному размещению OpenConnector описаны deployment через Docker Compose, из исходного кода и в Cloudflare Workers.
Установите SDK
npm install @oomol-lab/connector
Вызовите локальный runtime
Новый локальный runtime по умолчанию использует http://localhost:3000; пока runtime tokens не настроены, его можно вызывать без токена. Используйте такую конфигурацию без токена только на localhost или в другой приватной сети:
import { OpenConnector } from "@oomol-lab/connector";
const open = new OpenConnector();
const stories = await open.execute("hackernews.get_top_stories", {});
Namespace-форма использует тот же реестр actions:
const threads = await open.gmail.search_threads({ query: "is:unread" });
Направьте клиент на свой сервер
Укажите origin сервера в baseUrl. Клиент самостоятельно добавляет путь API. Прежде чем делать runtime публичным, создайте runtime token, пока он доступен только из доверенной сети, а затем требуйте этот токен от каждого клиента:
const open = new OpenConnector({
baseUrl: "https://connect.internal.example.com",
runtimeToken: process.env.OOMOL_CONNECT_RUNTIME_TOKEN!,
connectionName: "work",
});
После создания runtime tokens сервер требует действительный токен oct_…. Храните его в вызывающем backend или окружении Agent согласно политике deployment. Никогда не публикуйте runtime без токена через публичный домен или 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"]);
Используйте connectionName в клиенте или отдельном вызове, чтобы выбрать настроенный аккаунт. Если параметр не указан, runtime использует подключение по умолчанию.
Выполняйте администрирование в web console
SDK использует конфигурацию runtime. Создавайте подключения, настраивайте OAuth clients, создавайте runtime tokens и управляйте политикой actions в web console OpenConnector.
В справочнике TypeScript SDK описаны точные типы actions, различия proxy, тайм-ауты, повторные попытки, ошибки и полный API OpenConnector.
Wanta