
Es Plus
io.github.liujiaao由 GitHub 账号 liujiaao 发布v1.5.0更新于 Nov 7, 2026
Generate runnable Vue 3 / Vue 2 CRUD pages from one JSON config or a natural-language request.
概览
让助手把自然语言需求或 JSON 配置生成可运行的 Vue 3 / Vue 2 CRUD 页面,支持 Element Plus、Element UI 与 Ant Design Vue。
- 可以做什么
- 根据自然语言需求生成完整 CRUD 页面,generate_crud 是唯一前门,只需填写 surfaces 意图表
- 基于已有的类型化 JSON 配置生成页面,或使用无 LLM 的正则兜底方式生成页面与 Schema
- 产出单面片段,并在编译前校验、修正或导入配置
- 把同一份配置确定性编译为 Vue 3 + Element Plus、Vue 2 + Element UI、Vue 3 + Ant Design Vue 三端代码
- 适用场景
- 适合在 Vue 项目中开发中后台 CRUD 页面(查询表单、表格、弹窗编辑)时使用,让助手输出经过校验的配置并编译成可直接合并的 .vue 文件,而不是手写大量模板代码。
- 运行要求
- 以 stdio 本地运行,通常通过 npx -y @es-plus/mcp-server 添加,需要 Node.js 与 npm。未声明任何认证。可选环境变量 ESPLUS_MCP_PROFILE 用于选择工具面:full(默认)或 front-door,后者隐藏高级与 legacy 工具。
安装
在 SourceWeft 中
- 打开 控制台中的 Es Plus,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
ES-Plus
让 AI 生成的 CRUD 页面可以直接合进代码库:LLM 只写一份 JSON 配置,ES-Plus 负责 Schema 校验 + 确定性编译,一次产出 Vue 3 + Element Plus / Vue 2 + Element UI / Vue 3 + Ant Design Vue 三套可运行代码 —— 同一份配置、三端一致、可复现。
中文 | English
[@es-plus/vue3] [@es-plus/vue2] [@es-plus/adapter-antdv] [@es-plus/core] [license] [GitHub stars] [heldout accuracy] [heldout zero-edit]
两个徽章都来自夜间 Layer-2 评估对 golden 语料留出集(few-shot 未见域、已排除近变体)的实测,不是营销数字。徽章 label 里标着测量所用的模型:读数随模型变化,不同模型之间不可横向比较,也不与历史读数拼成一条曲线。
第一个是门禁口径:in-schema intent 命中率 = 「零编辑 ∨ 3 轮内收敛」—— 模型首轮就给出可零改合并的配置,或在至多 3 轮自然语言修正内收敛到同一份配置,都算命中(定义)。
第二个是其中更严的一半:只算首轮零编辑,不给收敛机会,用来分辨「一次就对」和「改几轮才对」。
语料目前 216 例(留出 194 例),是回归哨兵而非统计显著的 benchmark,提升靠补语料而非调口径;门禁目标 ≥95%,当前实测以上方徽章为准(由夜间 eval 从 __tests__/golden/last-accuracy.json 生成)。
在线文档 · Playground · AI CRUD 生成器 · 更新日志 · v1.4 迁移指南
同一份配置的三个渲染端,各自一个线上站:Vue 3 + Element Plus · Vue 3 + Ant Design Vue · Vue 2 + Element UI —— 三个站都跑在线上,示例由各自站点的构建与守卫覆盖。
v1.4.0 起重命名:
es-plus-ui已重命名为@es-plus/vue3,同时新增 Vue 2 渲染器@es-plus/vue2与框架无关的@es-plus/core。原es-plus-ui包继续作为 stub 包工作,详见 迁移指南。
为什么选择 ES-Plus
2026 年用 AI 生成前端早不稀奇,稀奇的是敢不敢把生成结果直接合并。多数 AI codegen 是「凭感觉」:每次输出都不一样、对不上你的设计系统、没人替它校验 —— 于是你还得逐行 review、改、再 review。
ES-Plus 把这件事反过来做:让 LLM 只做它擅长的语义推理(需求 → 一份配置),把「生成正确代码」这件必须确定的事交给编译器。
- LLM 产出配置,不产出代码 —— 通过 MCP 把 Schema/约定交给宿主 LLM(Claude Code / Cursor),它只输出一份 JSON
- 库做校验 —— zod + JSON Schema 在编译前拦下非法配置,坏配置到不了产物
- 确定性编译 —— 同一份配置永远编译出字节级相同的三端代码,golden 用例语料 × 多类确定性不变量 + esbuild 真语法解析在 CI 守着
- 三端一致 —— 一份配置通吃 Vue 3 + Element Plus、Vue 2 + Element UI、Vue 3 + Ant Design Vue
而且它首先是个好用的 CRUD 库:中后台系统 80% 的页面是 CRUD —— 表单查询 → 表格展示 → 弹窗编辑。用原生 Element Plus 每个页面需要 200+ 行模板代码,用 ES-Plus 只需 30 行配置。
同一页面、同一功能范围:模板与事件胶水代码减少 76.5%(115 → 27 行),整页非空行减少 40.4%(136 → 81 行);查询 / 重置 / 翻页 / 取数零事件代码。
数字由
npm run one-config:gen从docs/brand/one-config/{native,esplus}.vue实测得出, 由npm run check:site-claims守住院线。口径:模板区行数 +handle*/fetch*事件与取数函数行数。
核心特性
- 配置驱动 — JSON 配置生成表单、表格、弹窗,替代大量模板代码
- 全链路联动 — EsForm 嵌套在 EsTable 中,查询/重置/分页全自动联动
- 编程式弹窗 —
useDialog()命令式调用,JSX 渲染,表单验证集成 - 14 种表单控件 — Input、InputNumber、Select、DatePicker、TimePicker、Cascader、Radio、Checkbox、Switch、Slider、Rate、ColorPicker、Transfer、Upload
- 自适应高度 — ResizeObserver 自动重算表格高度
- 跨页选择 —
cachePageSelection分页切换保留勾选 - 任意后端适配 —
configTableOut配置化映射 API 响应字段 - 权限控制 —
permissionValue声明式按钮权限,无需 v-if - 国际化 —
labelKey+ 自定义翻译函数,兼容任意 i18n 方案 - TypeScript — 完整类型定义 + 37 个跨渲染器契约类型(CI 强制三端同构导出,数量由
check:readme校验) - AI 原生支持 — 配套 MCP Server 和 CLI:MCP 通过协议把 Schema/约定交给宿主 LLM(Claude Code/Cursor)做语义推理,es-plus 负责约束校验 + 确定性编译成可运行页面
快速开始
一行起步(推荐)
交互式选渲染器(Vue 3 + Element Plus / Vue 2 + Element UI / Vue 3 + Ant Design Vue),可选一键写入 MCP(AI 生成)配置,产出一个装上就能跑的 CRUD 示例项目(查询表单 + 表格,零后端)。CI 用脚手架 smoke 守着三端 scaffold → install → build 全绿。详见 create-es-plus。
想手动集成到已有项目,继续往下看。
安装(Vue 3)
注册插件(Vue 3)
Vue 2 项目?
参见 @es-plus/vue2 README,配置 API 与 Vue 3 版本完全一致。
Ant Design Vue 项目?
@es-plus/adapter-antdv 是 Ant Design Vue 4.x 渲染适配器,与 @es-plus/vue3 共享同一份 JSON 配置 Schema,配置 API 完全一致,仅底层 UI 组件不同。详见 adapter-antdv 文档。
第一个 CRUD 页面
EsForm 嵌套在 EsTable 中,查询/重置/分页全自动联动,零事件处理代码。
联动机制
EsForm 放在 EsTable 的默认插槽中,通过 Vue 的 provide/inject 自动发现父级表格。按钮配置 triggerEvent: true 后,自动调用表格的数据请求方法,无需手动连接。
组件一览
EsForm 表单配置
核心配置项
EsTable 表格配置
后端响应映射
后端返回 { result: { items: [...], count: 50 } }?只需配置:
组件会递归查找响应中的字段,适配任意嵌套结构。
请求/响应拦截
useDialog 编程式弹窗
权限控制
安装时配置权限函数,按钮自动按权限显隐:
国际化
安装时配置翻译函数,配合任意 i18n 库:
TypeScript 类型
跨 Vue 2 / Vue 3 / AntDV 共享类型时,从
@es-plus/core/types导入 — 同一份columns/formItemList在三个渲染器中通用。
AI 工具链
ES-Plus 从设计上拥抱 AI 编码,配套两个官方工具:
@es-plus/mcp-server — AI 编码工具集成
让 Claude Code、Cursor 等 AI 工具直接调用 CRUD 生成能力:
然后在 AI 对话中直接说:
"生成一个用户管理页面,查询姓名、手机号、状态,表格显示姓名、邮箱、状态、创建时间,支持新增编辑删除"
AI 自动调用 MCP Server 生成完整可运行的 .vue 文件。
工具面遵循「一个前门 + 确定性支撑」:generate_crud 是唯一前门(你只填 surfaces 意图表,路由与编译是确定性代码)。generate_crud_from_config 标注 ADVANCED(已持有类型化配置时用),generate_crud_page / generate_crud_schema 标注 LEGACY FALLBACK(no-LLM 正则兜底)。ESPLUS_MCP_PROFILE=front-door 可隐藏高级与 legacy 工具,只留前门与单面片段。完整工具清单、选择决策树与分层依据见 packages/mcp-server/AI-NATIVE-ARCHITECTURE.md。
想先看效果再看原理:AI 案例导览 docs/ai/ai-showcase.md 逐个说明站点上每个 AI 页面证明了什么、证据在哪,以及 claim(measure / compile / execute)该怎么读 —— 跑过的才叫 execute。
@es-plus/cli — 命令行工具
终端直接生成 CRUD 页面:
全局配置
项目结构
本地开发
相关链接
贡献
欢迎提交 Issue 和 Pull Request!用法提问、集成讨论和功能设想请走 GitHub Discussions;能复现的缺陷与明确的功能请求请开 Issue。
- Fork 本仓库
- 创建功能分支:
git checkout -b feature/your-feature - 提交更改:
git commit -m 'feat: add your feature' - 推送分支:
git push origin feature/your-feature - 提交 Pull Request
License
来源:README.md,提交 4342a62
工具
0版本历史
1- v1.5.0最新Nov 7, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分