连接器
Runtime Catalog 中 Toolkit、执行定义与已连接账户的关系。
Open Connector 只有一个可连接的目录身份:Toolkit。Toolkit 自己拥有认证方式、端点配置、展示元数据和 Agent 可调用的工具;运行时不再有独立的 Provider 或 Auth Provider 层。
Runtime Catalog 模型
| 目录对象 | 负责什么 | 运行时表示 |
|---|---|---|
| Toolkit Definition | 名称、发现元数据、authMethods、可选连接字段和可信 API 端点。 | runtime_toolkit_catalog 中的一行。 |
| Tool Definition | 面向 Agent 的输入/输出 Schema、scope、tag 与生命周期。 | tool_catalog 中的一行。 |
| ExecutionDefinition | 声明式 HTTP/GraphQL 请求映射,或命名 custom executor。 | Tool 行的 JSONB;仅在执行时加载。 |
| Trigger Type | 事件 Schema 和懒加载 transport key。 | trigger_type_catalog 中的一行。 |
| Connection | 用户在某个项目范围内、针对所选 Toolkit 认证方式的加密凭证。 | 独立于目录保存。 |
生成后的 catalog artifact 位于 packages/tool-registry/artifacts/<toolkit>/catalog.gen.json,根 release manifest 记录经过校验的完整集合。Server 只读取 PostgreSQL Runtime Catalog,不会回退到静态 tool 模块。
认证方式
每个 Toolkit 包含 authMethods 数组。每项都有命名空间 id,例如 github.oauth2,并标记为 available 或带原因的 unavailable。
| Kind | 用户提供什么 | Open Connector 做什么 |
|---|---|---|
oauth2 | 浏览器授权;配置后也可使用 client credentials。 | 构建授权 URL、交换和刷新 Token,再加密保存。 |
api_key | 长期 API Key 或 Token。 | 加密保存,并按所选方式的请求模板注入。 |
basic | 用户名/密码或等价 key/secret。 | 加密保存两个字段,并按配置注入请求。 |
端点默认值不包含凭证;凭证注入属于所选认证方式,因此 ExecutionDefinition 可以无 secret 地携带和发布。
Artifact 示例
以下精简 artifact 定义一个 Toolkit 和一个声明式 HTTP Tool;生成的 OpenAPI 和 GraphQL Tool 使用同一结构。
{
"version": "v1",
"toolkit": {
"slug": "my-crm",
"name": "My CRM",
"authMethods": [{ "id": "my-crm.oauth2", "kind": "oauth2", "status": "available" }],
"endpoints": {
"api": { "baseUrl": "https://api.mycrm.com/v2", "allowedBaseUrls": [], "defaultHeaders": {} }
}
},
"tools": [{
"definition": { "slug": "MY_CRM_CONTACTS_LIST", "toolkit_slug": "my-crm", "name": "List contacts" },
"executionDefinition": { "version": "v1", "kind": "http", "endpointKey": "api", "method": "GET", "path": "/contacts" }
}],
"triggerTypes": []
}发布并使用已部署目录
生成 artifact 后,显式发布 release 到 Server 使用的数据库:
pnpm tools:generate-official
pnpm tools:build-catalog-release
DATABASE_URL='postgres://…' pnpm tools:publish-catalog发布会校验 artifact digest,并原子地投影到 PostgreSQL。它与 Server 启动和数据库迁移分离,因此运行中的服务不会悄悄改变可执行目录。
Agent 或集成的一般顺序是:
- 发现 Toolkit 及其支持的认证方式。
- 为该 Toolkit 和认证方式创建或选择 Auth Config。
- 为用户和项目范围创建 Connection。
- 通过该 Connection 执行 Tool。
具体 discovery 与执行路由见 API reference;凭证生命周期见 Connected accounts。