SuperAPI AI 工具集

building-chat-widgets

智能体与模型

查看项目

更新于 10-16 06:48

技能介绍

用途:为 AI 聊天界面创建可交互组件(widget),支持按钮、表单与双向操作,适合构建带可点击组件和实体标注的智能体 UI。

主要能力:

  1. 组件模板:用 ListView、ListViewItem、Row、Col、Box、Text、Title、Image、Icon、Button 等组件定义可复用布局。
  2. 动作处理:动作分 client 与 server 两类。client 由前端 onAction 回调处理,用于导航、本地状态;server 由后端 action() 方法处理,用于数据变更、组件替换。
  3. 组件生命周期:智能体工具生成组件并 yield WidgetItem,组件在聊天中渲染,用户点击动作后分发处理,可选替换为更新后的状态。
  4. 实体标注:通过 entities.onTagSearch 与 onClick 支持 @提及实体。
  5. 编辑器工具:通过 composer.tools 让用户选择不同 AI 模式,后端按 tool_choice 路由到不同 agent。

使用方式:前端用 useChatKit 配置 api(url、domainKey)、widgets.onAction、entities、composer 等;后端继承 ChatKitServer 实现 action(),可 yield ThreadItemReplacedEvent、ThreadItemDoneEvent、ClientEffectEvent。验证运行:python3 scripts/verify.py,预期输出 ✓ building-chat-widgets skill ready。

限制与注意:动作对象用 action.payload 而非 action.arguments;context 参数已是 RequestContext,勿再包装;合成用户消息需包含 id、thread_id、created_at 等必填字段,内容类型用 type="input_text";同一动作不要在 client 与 server 重复处理。若验证失败,检查 references/ 是否含 widget-patterns.md。