其他
在聊天回复中嵌入可交互 UI 组件(选择题/表单/问卷)
当需要用户做结构化输入(单选、多选、填空、投票、表单)时,用 interactive 代码块在聊天回复里渲染原生交互控件。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 48/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 56/100 ×0.15
适用场景
在聊天回复中嵌入可交互 UI 组件(选择通用
解决思路
- 在正常的 markdown 回复中,用一个 ```interactive 代码围栏包裹 JSON 块,即可嵌入交互式 UI 组件(单选按钮、复选框、文本框、开关等);兼容的客户端会渲染成原生 UI 元素,其他客户端回退显示为可读的 JSON 代码块。
- 同一条消息中可以自由混合普通文本与交互块。
- 完整 schema 规范参见 references/schema.md。
- 每个交互块必须有唯一的 id 字段。
- 每个交互块 card.body 中至少要有一个元素。
- 在 card.actions 中加入 Action.Submit,让用户可以提交回答。
- 选择题(choice set)使用 "style": "expanded" 直观展示全部选项(测验场景推荐)。
- 选项很多的下拉选择使用 "style": "compact"。
- 多选题在 Input.ChoiceSet 上设置 "isMultiSelect": true。
- body 中的第一个 TextBlock 会被用作提交回答时的题目标签。
- 一条消息里可以放多个交互块(例如一整套测验)。
- 始终用 ```interactive 代码围栏包裹 JSON —— 交互块绝不能用 ```json。
- 保持 JSON 紧凑且合法 —— 不要写注释,不要有尾随逗号。
适用边界 · 注意事项
- 客户端不支持该渲染能力时,用户只会看到一段 JSON 代码块,交互体验降级,不适合作为唯一输入方式。
- 不需要结构化输入、纯文本即可表达清楚时无需使用。