跳转到主要内容
本教程将带你完成从零开始在外部应用中调用袋袋专家的全流程——从获取专家标识到构建完整的流式聊天界面。

你将构建什么

一个可以调用袋袋专家的后端服务,并将 SSE 流式响应接入前端聊天界面。完成后,你的应用将具备:
  • 调用任意已发布专家的能力
  • 多轮对话上下文维持
  • SSE 流式解析与错误处理
  • 按 token 用量自动计费(METERED 模型)

专家是什么

专家是袋袋平台上的 AI Agent 产品,由创作者在 Marketplace 上发布。每个专家包含: 通过 Events API 的 /openapi/v1/events/invoke 端点,你的应用可以像调用一个 API 一样调用这些专家。

前置条件

在开始之前,确保你已具备:
  • 袋袋 App:在 Studio 中创建并配置好 OAuth
  • OAuth Access Token:通过授权码流程获取(参见 SDK 快速开始
  • 目标专家 Identifier:你要调用的专家的唯一标识
POST /openapi/v1/events/invoke 需要 events:write OAuth scope。确保你的 App 在创建时申请了该权限。

Step 1: 找到专家 Identifier

每个已发布的专家都有一个唯一的 identifier(slug 格式),用于 API 调用。 获取方式:
  1. Marketplace 页面 — 打开专家详情页,URL 中的最后一段路径即为 identifier,如 https://app.profy.cn/expert/data-analystdata-analyst
  2. Studio — 如果你是专家的创作者,在编辑页面的基本信息中可以看到 identifier
建议将专家 Identifier 存入环境变量或配置文件,避免硬编码。

Step 2: 单轮调用

调用专家的核心是向 /openapi/v1/events/invoke 发送 POST 请求,返回 SSE 流。

Step 3: 多轮对话

通过传递 session_id 参数,专家会在同一会话上下文中延续对话,保留之前的消息历史和记忆。
session_id 由你的应用生成和管理。同一个 session_id 下的所有调用共享对话上下文。新的 session_id 会开启全新对话。

Step 4: 处理 SSE 流

专家的响应是标准 SSE(Server-Sent Events)流,包含以下事件类型: 下面是一个通用的 SSE 流解析器:

Step 5: 错误处理

invoke 端点可能返回以下错误,你的应用需要针对性处理:
403 通常意味着用户尚未购买该专家。对于 METERED 类型的专家,用户需要先在 Marketplace 完成订阅;对于 ONE_TIME 类型,用户需要完成一次性购买。

Step 6: 构建聊天界面

将 SSE 流接入前端聊天界面的最小示例:
前端不直接调用袋袋 API——请求经过你的后端代理(/api/expert/invoke),后端持有 OAuth Token 并转发 SSE 流。这避免了在前端暴露 Access Token。

完整示例

一个可运行的后端服务,将专家调用封装为 API 端点:

专家调用 vs AI 模型调用

袋袋 Events API 提供两种 AI 调用方式。根据你的场景选择合适的端点:
如果你需要的是一个「开箱即用的领域专家」,用专家调用;如果你需要的是「底层模型能力」并自行编排,用 AI 模型调用。两者可以在同一个应用中混合使用。

下一步

SDK 快速开始

安装 SDK、完成 OAuth 对接和首次事件上报

AI 模型调用

使用 OpenAI 兼容接口调用平台 AI 模型

应用接入教程

从零创建 App、配置 OAuth、上架市场

API 参考

Events Invoke 端点完整字段说明