本文档提供了 AutoGPT 平台 API 的全面参考,涵盖了客户端接口和后端端点。它旨在供需要以编程方式与 AutoGPT 平台交互的开发人员使用,无论是构建前端应用程序还是与其他系统集成。有关 Agent Protocol 的具体信息,请参阅Agent Protocol。
AutoGPT 平台提供了一个 TypeScript 客户端实现(BackendAPI),负责处理与后端服务器的所有通信,包括 REST API 调用、WebSocket 连接和身份验证。
来源
API 客户端使用 Supabase 进行身份验证。所有 API 请求都包含从 Supabase 客户端获取的身份验证令牌。
来源
BackendAPI 类提供了与 AutoGPT 平台所有主要功能交互的方法。
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
getBlocks() | 检索可用于构建 Agent 的区块 | 无 | Promise<Block[]> |
listGraphs() | 列出用户拥有的所有图 | 无 | Promise<GraphMeta[]> |
getGraph() | 检索特定图 | id: GraphID, version?: number, for_export?: boolean | Promise<Graph> |
createGraph() | 创建新图 | graph: GraphCreatable | Promise<Graph> |
updateGraph() | 更新现有图 | id: GraphID, graph: GraphUpdateable | Promise<Graph> |
deleteGraph() | 删除图 | id: GraphID | Promise<void> |
来源
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
executeGraph() | 执行图 | id: GraphID, version: number, inputData: object | Promise<{ graph_exec_id: GraphExecutionID }> |
getExecutions() | 列出所有执行 | 无 | Promise<GraphExecutionMeta[]> |
getGraphExecutions() | 列出特定图的执行 | graphID: GraphID | Promise<GraphExecutionMeta[]> |
getGraphExecutionInfo() | 获取特定执行的详情 | graphID: GraphID, runID: GraphExecutionID | Promise<GraphExecution> |
stopGraphExecution() | 停止正在运行的执行 | graphID: GraphID, runID: GraphExecutionID | Promise<GraphExecution> |
deleteGraphExecution() | 删除执行 | runID: GraphExecutionID | Promise<void> |
来源
该 API 使用一套全面的类型系统来确保一致性和类型安全。
| 类型 | 描述 | 关键属性 |
|---|---|---|
GraphID | 图的唯一标识符 | 品牌字符串类型 |
GraphExecutionID | 图执行的唯一标识符 | 品牌字符串类型 |
UserID | 用户的唯一标识符 | 品牌字符串类型 |
LibraryAgentID | 库 Agent 的唯一标识符 | 品牌字符串类型 |
ScheduleID | 计划的唯一标识符 | 品牌字符串类型 |
来源
来源
API 客户端支持 WebSocket 连接,用于图执行期间的实时更新。
| 方法 | 描述 | 参数 |
|---|---|---|
connectWebSocket() | 建立 WebSocket 连接 | 无 |
disconnectWebSocket() | 关闭 WebSocket 连接 | 无 |
subscribeToGraphExecution() | 订阅特定执行的更新 | graphExecID: GraphExecutionID |
subscribeToGraphExecutions() | 订阅图的所有执行 | graphID: GraphID |
onWebSocketMessage() | 注册特定消息类型的处理程序 | method: string, handler: Function |
sendWebSocketMessage() | 通过 WebSocket 发送消息 | method: string, data: object |
来源
API 提供了管理各种外部服务和 API 密钥凭据的方法。
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
oAuthLogin() | 启动 OAuth 登录流程 | provider: string, scopes?: string[] | Promise<{ login_url: string, state_token: string }> |
oAuthCallback() | 处理 OAuth 回调 | provider: string, code: string, state_token: string | Promise<CredentialsMetaResponse> |
createAPIKeyCredentials() | 创建 API 密钥凭据 | credentials: Partial<APIKeyCredentials> | Promise<APIKeyCredentials> |
listCredentials() | 列出用户凭据 | provider?: string | Promise<CredentialsMetaResponse[]> |
getCredentials() | 获取特定凭据 | provider: string, id: string | Promise<Credentials> |
deleteCredentials() | 删除凭据 | provider: string, id: string, force?: boolean | Promise<CredentialsDeleteResponse> |
来源
该平台支持创建和管理用于程序化访问的 API 密钥。
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
createAPIKey() | 创建新的 API 密钥 | name: string, permissions: APIKeyPermission[], description?: string | Promise<CreateAPIKeyResponse> |
listAPIKeys() | 列出所有 API 密钥 | 无 | Promise<APIKey[]> |
revokeAPIKey() | 撤销 API 密钥 | keyId: string | Promise<APIKey> |
updateAPIKeyPermissions() | 更新 API 密钥权限 | keyId: string, permissions: APIKeyPermission[] | Promise<APIKey> |
来源
API 提供了与 Agent 库和市场功能交互的方法。
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
listLibraryAgents() | 列出用户库中的 Agent | params?: object | Promise<LibraryAgentResponse> |
getLibraryAgent() | 获取库 Agent 的详情 | id: LibraryAgentID | Promise<LibraryAgent> |
addMarketplaceAgentToLibrary() | 将市场 Agent 添加到库中 | storeListingVersionID: string | Promise<LibraryAgent> |
updateLibraryAgent() | 更新库中的 Agent | libraryAgentId: LibraryAgentID, params: object | Promise<void> |
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
getStoreAgents() | 列出市场 Agent | params?: object | Promise<StoreAgentsResponse> |
getStoreAgent() | 获取市场 Agent 的详情 | username: string, agentName: string | Promise<StoreAgentDetails> |
createStoreSubmission() | 提交 Agent 到市场 | submission: StoreSubmissionRequest | Promise<StoreSubmission> |
reviewAgent() | 评审市场 Agent | username: string, agentName: string, review: StoreReviewCreate | Promise<StoreReview> |
来源
API 提供了调度 Agent 自动运行的方法。
| 方法 | 描述 | 参数 | 返回类型 |
|---|---|---|---|
createSchedule() | 创建新计划 | schedule: ScheduleCreatable | Promise<Schedule> |
deleteSchedule() | 删除计划 | scheduleId: ScheduleID | Promise<{ id: string }> |
listSchedules() | 列出所有计划 | 无 | Promise<Schedule[]> |
来源
以下是如何在 React 组件中使用 API 客户端的示例
来源
来源
来源
BackendAPI 客户端内部使用 _request 方法来处理所有 REST API 调用。此方法:
来源
API 客户端包含对各种情况的错误处理
发生错误时,客户端会解析错误响应并提供可向用户显示的描述性错误消息。
来源