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

MS Bot Composer中Custom Action下拉菜单通过HTTP请求填充问题咨询

MS Bot Composer自定义动作属性面板动态下拉选项实现方案

核心实现逻辑

Bot Composer的自定义动作属性面板通过配套的schema文件定义渲染规则,要实现从HTTP接口拉取数据填充下拉选项,不需要修改Composer底层代码,只要调整自定义动作的.schema和.uischema配置即可。

具体实现步骤

  • 第一步:定义下拉字段
    在你自定义动作的.schema文件中新增下拉对应的字段声明,示例如下:
{
  "$schema": "https://schemas.botframework.com/schemas/component/v1.0/component.schema",
  "title": "你的自定义动作名称",
  "type": "object",
  "properties": {
    "serviceName": {
      "title": "Service Name",
      "type": "string",
      "description": "选择需要调用的服务"
    }
    // 其他字段保持原有配置即可
  }
}
  • 第二步:配置动态下拉规则
    在自定义动作对应的.uischema文件中,给serviceName字段指定动态选择器的渲染规则,配置API请求信息:
{
  "ui:order": ["serviceName", "*"],
  "properties": {
    "serviceName": {
      "ui:field": "dynamicSelect",
      "ui:options": {
        "fetchUrl": "你用来拉取服务列表的API地址",
        "method": "GET",
        // 按照你的API返回结构配置映射规则
        "labelKey": "serviceLabel", // 数组项中作为下拉显示文本的字段名,如果API返回纯字符串数组填$value
        "valueKey": "serviceId", // 数组项中作为实际存储值的字段名,如果API返回纯字符串数组填$value
        // 接口需要鉴权的话补充headers配置
        "headers": {
          "Authorization": "Bearer 你的鉴权凭证"
        }
      }
    }
  }
}
  • 第三步:生效配置
    重新打包自定义动作组件,卸载项目中原有的旧版本自定义动作后重新安装,重启Bot Composer即可看到Service Name下拉会自动调用配置的API拉取数据填充选项。

注意事项

  • 如果接口存在跨域问题,需要在接口服务端配置允许Bot Composer的访问域名(本地开发通常是http://localhost:3978)的跨域请求。
  • 鉴权凭证如果需要动态调整,可以配置为Composer环境变量,通过${env.变量名}的方式在headers中引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:09:02