FormCreate 设计器 AI
FormCreate 设计器 AI 是表单二开辅助能力,用于根据自然语言生成或修改 form-create 规则。当前接口为 POST /ai/form-create/chat/form,返回 text/event-stream,后端会选择默认聊天模型,并要求模型只输出 fcRuleDiff 代码块。
工作方式
请求内容
| 字段 | 说明 |
|---|---|
messages | 用户与助手的对话上下文,后端会取最后一条有效用户需求 |
form.rule | 当前表单组件规则 JSON,修改表单时用于保留无关字段 |
form.option | 当前表单配置 JSON,作为模型理解上下文 |
输出约束
后端系统提示词要求模型只返回:
fcRuleDiff
{"rule":[...]}因此前端接入时不要期待自然语言解释,应直接解析代码块中的完整新规则,并由用户确认后再覆盖当前表单。
使用建议
- 先描述业务字段:例如“新增请假类型、开始时间、结束时间、请假原因,并把原因设为必填多行文本”。
- 一次改动不要过大:复杂表单建议分阶段生成,先字段结构,再联动校验,再布局优化。
- 保留人工审核:AI 生成的是设计器规则草稿,发布前仍需人工检查字段名、必填、组件类型和默认值。
- 异常兜底:后端捕获模型异常后会返回“AI 服务暂时不可用,请稍后重试”,前端应保留当前表单内容。
排查清单
| 现象 | 优先检查 |
|---|---|
| 一直返回服务不可用 | 默认聊天模型是否配置;API Key 是否有效;后端日志中的上游 HTTP 响应 |
| 生成规则无法解析 | 是否缺少 fcRuleDiff 代码块;JSON 是否完整;组件是否符合 ant-design-vue 表单规则 |
| 修改后原字段丢失 | 提示词是否要求“基于当前表单保留无关字段”;传入的 form.rule 是否为空 |
