You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Adaptive Card用户输入展示在历史聊天记录中?

WebChat UI聊天历史不显示Adaptive Card用户输入的解决办法

核心逻辑

要让Adaptive Card的用户输入出现在聊天历史里,必须把用户在卡片里提交的内容转化为标准的用户消息活动(Activity),这样调用POST /v3/conversations/{conversationId}/activities/history接口时,这些内容才会被包含在返回的历史记录中。

具体操作步骤

  • 提交卡片时同步创建用户活动:
    当用户在Adaptive Card中完成输入/选择并点击提交后,除了把卡片数据传给机器人处理,还要额外创建一条类型为message的用户活动:

    1. 将用户在卡片里的操作内容转成自然语言文本(比如用户选了"退货申请"并填了订单号"789012",就写成我申请退货,订单号:789012);
    2. 调用Bot Framework的活动创建接口 POST /v3/conversations/{conversationId}/activities,把这条活动存入对话历史。注意活动的from字段要设为用户的身份信息,conversationId要和当前对话一致。
  • 确认WebChat渲染逻辑兼容:
    检查WebChat UI的历史渲染代码,确保它能正常渲染所有message类型的用户活动,不要只处理普通的文本消息输入。

  • 校验历史接口返回:
    调用POST /v3/conversations/{conversationId}/activities/history接口后,查看返回的活动列表,确认其中包含了卡片输入对应的用户活动。如果没找到,排查活动创建时的参数是否正确,比如conversationId是否匹配、活动是否成功存入对话存储。

注意点

  • 转化的文本要符合用户的操作意图,别直接返回原始的卡片JSON数据,保证聊天历史的可读性;
  • 加个判断逻辑,确保只有用户真正提交卡片时才创建活动,避免重复调用接口导致历史出现重复内容。

内容的提问来源于stack exchange,提问作者Christy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:27:30