恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
VeapAI 实战(十三)配置即模型:从 schema_json 动态表单到 wf_* 配置域的模型化设计
首页
资讯中心
/
VeapAI 实战(十三)配置即模型:从 schema_json 动态表单到 wf_* 配置域的模型化设计
VeapAI 实战(十三)配置即模型:从 schema_json 动态表单到 wf_* 配置域的模型化设计
发布时间:2026/10/10 9:00:30
摘要本文是 VeapAI 系列十三篇的收官之作围绕“配置即模型”这一核心思路展开。作者从三处具体实践切入schema_json 驱动的动态表单、三组“显式声明、禁止推断”的设计约束、以及 wf_* 配置域中枚举列值作为扩展点的做法说明模型化的本质是把“能配置什么”定义成可校验的模型配置值只是模型实例。文章最后总结了全序列的可扩展性设计总纲并坦言模型化的代价在于约束多、上手需先读契约但每一条约束都对应一个曾经踩过的坑。 关键词配置即模型、schema 驱动表单、模型化开发 | 首发CSDN | 同步知乎这是本序列的最后一篇把前面十二篇里的一个共同点拎出来VeapAI 的模型化到底是什么意思。我的理解模型化不是说把表结构存数据库而是**把能配置什么本身定义成可校验的模型配置值只是模型的一个实例**。这套平台里这个思路至少出现在三处。## 第一处schema_json 驱动动态表单ai_metadata_field 表的注释写着 AI-元数据字段定义动态表单前端根据 schema_json 自动生成表单支持多语言、单位、格式、校验等。字段的表单不是手写页面是 schema_json 描述、前端渲染veap-ui/src/views/ai/aiMetadataField/index.vue。加一个字段类型改的是 schema不是页面代码。同一条思路在在线开发里是 JsonRuleField / JsonRuleCellField拖拽排序、缓存、导入导出、表头筛选这些规则表单按 schema-codedrag_sort_rule_schema、cache_rule_schema、header_filter_rule_schema 等渲染。规则表单本身也是配置出来的。## 第二处三组显式声明、禁止推断把全平台的设计哲学收拢最集中的体现是三组约束| 领域 | 显式声明 | 禁止推断 || --- | --- | --- || 生成器 | 渲染模型显式赋值模板显式匹配SubTableRenderSpec / TreeRenderSpec | 按文件名、字段名、注释推断渲染行为 || 表单绑定 | binding_type 显式声明 FLOWABLE_FORM_KEY / VEAP_FORM_CODE / EXTERNAL_URL | 按 key 格式猜绑定类型 || 按钮参数 | param_format 显式声明 STRUCTURED_V2 / LEGACY_JSON_V1 | 按 JSON 内容猜参数形态 |三组约束指向同一个工程判断推断逻辑是时灵时不灵的债。写的时候省事排查的时候要命。显式声明把这个配置是什么变成可校验的事实配置错了在入口处报出来。## 第三处枚举是列值扩展点是长出来的回看 wf_* 配置域扩展点都是列值枚举- wf_task_form_binding.locationMAIN / SIDE / TAB / CHILD多一种挂载位置是加一个枚举值- wf_public_service.service_kindDISABLE_START / LOCK_TASKS / ... / CUSTOM加一种公共服务是注册一个 bean 枚举- wf_task_action.action_typeCOMPLETE / CLAIM / ... / CUSTOMCUSTOM 是扩展出口参数走 STRUCTURED_V2 分表。扩展不加列、不改代码结构是这套体系的可扩展性来源。这跟在线开发的 genComponents 注册中心type 显式注册、scope 限定 list/edit是同一套纪律。![平台模型化全景]## 全序列模型化总纲十三篇里的可扩展性设计可以收成一张表开关global.service.mode、区块auto / user-code、注册中心genComponents / PageMods / 公共服务清单、分表STRUCTURED_V2 / 条件项 / 人员明细、枚举扩展点location / binding_type / service_kind。共同纪律只有一条显式声明、单一事实来源、禁止推断。把这张表背下来就是这套平台的元模型。## 一句实话模型化也有代价约束多上手要先读契约。第一次配 wf_* 的人大概率会问为什么这个字段必须为 NULL、为什么不让我写 JSON 规则。答案都在契约文档里而且几乎每一条都对应一个曾经踩过的坑。这套平台不是零门槛是把坑写成了规矩。## 复现bashcd veap-cloudmvn -B -pl veap-package/veap-monolith -am -DskipTests packagecd veap-ui npm install npm run dev对照三处走一遍看 ai_metadata_field.schema_json 驱动的动态表单看 JsonRuleField 的 schema-code 渲染看 wf_* 表的枚举列注释。十三篇下来这条配置即模型的线就串完整了。本序列到此结束。AI 知识库那条线的八篇Milvus 实例、元数据标准、知识主题、文档解析、资料处理、一键向量化、调试搜索、政策问答可以回看系列目录。十三篇的元模型可以对照 docs/平台开发规范.md 再读一遍两边的纪律是同一套https://gitee.com/mindock/veap