2.6 KiB
2.6 KiB
应用蓝图落地说明(v1)
用户上传「描述/图片 + Excel」后,系统只围绕一份 AppBlueprint JSON 工作:AI 生成 → 校验 → 用户确认 → 中台执行建库/挂 API/渲染页面。
目录
| 路径 | 作用 |
|---|---|
schema/app-blueprint.schema.json |
蓝图 JSON Schema(契约) |
examples/inventory-ledger.blueprint.json |
完整示例(库存台账) |
openapi/dynamic-crud.openapi.yaml |
动态 API 形状(按蓝图挂载) |
platform/execution-steps.md |
中台执行步骤与安全闸门 |
ai/prompt-contract.md |
AI 服务输入输出约定 |
主链路
1) 上传 excel + prompt/image
2) FastAPI:解析 Excel + 多模态理解 → 产出 blueprint draft
3) 用 JSON Schema 校验;置信度 < 0.75 强制人工确认
4) 用户确认/改字段
5) go-zero:
- 分配 schema_name / database
- CREATE TABLE(白名单 DDL)
- 注册元数据
- 按 apis 挂动态 CRUD
- 可选导入 Excel 行
6) 前端:按 pages[] 渲染,不落不可控源码
服务边界
AI 服务(FastAPI)
- 能做:推断实体、字段类型、页面布局、图表建议
- 不能做:直接连业务库执行 SQL、注册网关路由、写连接串
输出:AppBlueprint draft + warnings[]
中台(go-zero)
- 能做:租户鉴权、DDL 执行、元数据落库、动态 API、审计
- 不能做:信任模型原文;必须 Schema 校验 + 标识符白名单
前端渲染器
输入:GET /api/v1/apps/{slug}/blueprint
按 pages[].type 渲染 list/form/dashboard。
动态 API(示例应用)
确认并发布后,库存示例会得到:
GET /api/v1/apps/inventory_ledger/inventory_items
GET /api/v1/apps/inventory_ledger/inventory_items/{id}
POST /api/v1/apps/inventory_ledger/inventory_items
PATCH /api/v1/apps/inventory_ledger/inventory_items/{id}
DELETE /api/v1/apps/inventory_ledger/inventory_items/{id}
POST /api/v1/apps/inventory_ledger/inventory_items:import
GET /api/v1/apps/inventory_ledger/inventory_items:export
所有请求强制:Authorization + 租户上下文;row_policies=tenant_isolated 由服务端注入,客户端不可关。
本地快速校验示例
用任意 JSON Schema 校验器验证示例:
# 需本机有 ajv-cli 或等价工具
npx --yes ajv-cli validate -s blueprint/schema/app-blueprint.schema.json -d blueprint/examples/inventory-ledger.blueprint.json
版本策略
version: "1.0"固定本契约- 不兼容变更升
1.1/2.0,旧应用蓝图可继续读取 - AI 与中台只认 Schema 内字段;多余字段校验失败