Agent UI 小程序 SDK
微信小程序的 AG-UI 客户端 SDK。
选择合适的小程序集成方案
- 想要开箱即用的聊天界面? → 使用 Agent UI 小程序组件
- 想要完全自定义 UI? → 使用本 SDK(
@cloudbase/agent-ui-miniprogram)
为什么用这个库?
AG-UI 是一个用于构建 AI 对话应用的协议。它定义了客户端和服务端如何通信——流式文本、工具调用、消息历史等。
如果从零开始构建 AG-UI 客户端,你需要:
- 解析服务端的 Server-Sent Events 流
- 处理 15+ 种事件类型(TEXT_MESSAGE_START、TOOL_CALL_ARGS、RUN_ERROR...)
- 维护消息状态、合并流式片段、跟踪工具调用状态
- 执行客户端工具并回传结果
- 保持 UI 与所有状态变化同步
@cloudbase/agent-ui-miniprogram 帮你处理了这些逻辑。 你只需要:
调用 this.agui.sendMessage 发送消息:
// chat.js
this.agui.sendMessage('你好')
将注入的消息列表数据 uiMessages 渲染成 UI:
<!-- chat.wxml -->
<view wx:for="{{agui.uiMessages}}" wx:key="id">
{{item.role}}: {{item.parts[0].text}}
</view>
安装
npm install @cloudbase/agent-ui-miniprogram@beta
快速开始
import { createAGUIBehavior, CloudbaseTransport } from '@cloudbase/agent-ui-miniprogram'
Component({
behaviors: [
createAGUIBehavior({
transport: new CloudbaseTransport({ botId: 'your-bot-id' }),
})
],
methods: {
onSend(e) {
this.agui.sendMessage(e.detail.value)
}
}
})
<view class="chat">
<view wx:for="{{agui.uiMessages}}" wx:key="id" class="message {{item.role}}">
<block wx:for="{{item.parts}}" wx:for-item="part" wx:key="id">
<text wx:if="{{part.type === 'text'}}">{{part.text}}</text>
<view wx:if="{{part.type === 'tool'}}" class="tool">
🔧 {{part.name}}: {{part.status}}
</view>
</block>
</view>
<view wx:if="{{agui.error}}" class="error">{{agui.error.message}}</view>
</view>
<input placeholder="输入消息..." bindconfirm="onSend" disabled="{{agui.isRunning}}" />
核心概念
本 SDK 使用小程序的 Behavior 机制——一种可以在多个组件间复用代码的 mixin 模式。
当你在组件中添加由 createAGUIBehavior() 创建出的 Behavior 后,它会:
- 将 AG-UI 相关状态注入到
this.data.agui中 - 提供
this.agui.xxx方法调用 AG-UI 相关能力
状态
Behavior 会在 this.data.agui 中提供以下数据:
| 属性 | 用途 |
|---|---|
uiMessages |