从 Vibe Coding 到 Spec-Driven,7 个命令 + 13 章 Spec + 两阶段审查 + 知识沉淀,一套可以直接抄走的 AI 编程工程化方案。
如果你和我一样,过去一年用 Cursor、Claude Code、OpenCode 这类 AI 编程工具写过几万行代码,大概率有过这些体验:
我把这种放任 AI 自由发挥的开发模式,称为 Vibe Coding(凭感觉编程)。它写 Demo 的时候很爽,维护一个长期演进的企业级项目时,是灾难。
为了驯服 AI,我在 Forge Admin 这个开源中后台框架里,沉淀了一整套 渐进式 SDD(Spec-Driven Development,规格驱动开发)工作流。这套流程现在每天都在我的工作中跑,已经支撑了 30+ 个真实变更上线,包括多租户隔离加固、Flowable 流程版本管理、低代码业务对象设计器等复杂场景。
📌 本文目标:把这套工作流的设计哲学、命令链、模板规范、Sub Agent 审查、知识沉淀机制,毫无保留地讲透。文末附完整模板地址,欢迎直接抄走落地。
我把 AI 编程的成熟度分成三个阶段:
| 阶段 | 工作模式 | 代码质量 | 可维护性 | 团队协作 |
|---|---|---|---|---|
| 🔴 Vibe Coding | 自然语言 → 代码 | 看脸 | 几乎为零 | 无法协作 |
| 🟡 Prompt Engineering | 精心设计 Prompt → 代码 | 中等 | 依赖个人经验 | 难以传承 |
| 🟢 Spec-Driven | 需求 → Spec → 审查 → 代码 → 沉淀 | 可控 | 文档即资产 | 团队可复用 |
渐进式 SDD 的核心信念只有一句话:
代码是廉价的消耗品,Spec(规格文档)才是昂贵的核心资产。
代码可以让 AI 一键重生,但需求决策、技术选型、踩坑记录、业务规则——这些才是项目的护城河。
在 Forge Admin 的 AGENTS.md 里,我把 SDD 的原则浓缩成了 5 条铁律:
| 原则 | 说明 |
|---|---|
| No Spec, No Code | 没有确认的 Spec,不准写代码 |
| Spec is Truth | Spec 和代码冲突时,错的一定是代码 |
| Reverse Sync | 执行中发现 Spec 与实际不符,先修 Spec 再修代码 |
| 代码现状必须有出处 | 每个结论必须标注文件路径和类名/方法名 |
| 变更即记录 | 任何代码变更完成后都必须同步更新对应文档 |
这五条听起来朴素,每一条都是踩了无数坑总结出来的。比如"代码现状必须有出处",是因为 AI 太擅长幻觉式编码——它会非常自信地告诉你"这个项目里有个 UserManager 类",但其实根本不存在。
"Spec-Driven"听起来像瀑布开发的回潮,但渐进式三个字是关键区别:
这种节奏既保留了文档驱动的严谨性,又保留了敏捷开发的灵活性。
整个 SDD 工作流由 7 个斜杠命令串联,对应 6 个阶段:
/spec-init → /propose → /apply → /review → /test → /archive
初始化 提案 编码 两阶段审查 增量测试 归档沉淀
↕ ↕
(HARD-GATE) /fix (Review 后迭代)
📷 截图位 1:工作流全景图(建议画一张手绘风格的流程图,标注每个命令的输入输出,可用 Excalidraw 绘制)
| 命令 | 作用 | 关键产物 |
|---|---|---|
/spec-init |
分析项目结构,生成上下文 | code-copilot/rules/project-context.md |
/propose <需求> |
把自然语言需求变成结构化 Spec | changes/<变更名>/spec.md + tasks.md |
/apply <变更名> |
按 Spec 逐 Task 执行编码 | 代码变更 + Git 提交 + 文档同步 |
/fix <变更名> [描述] |
Review 后增量修正 | 增量代码 + 文档更新 |
/review <变更名> |
Sub Agent 两阶段审查 | 审查报告(PASS/FAIL) |
/test <变更名> |
Red/Green TDD 增量生成测试 | test-spec.md + 测试代码 |
/archive <变更名> |
归档变更并沉淀知识 | archive/ + knowledge/tech-*.md |
code-copilot/
├── rules/ # 全局规则
│ ├── project-context.md # 项目上下文(/spec-init 生成)
│ ├── coding-style.md # 编码规范
│ ├── domain-rules.md # 业务领域约束
│ ├── security.md # 安全红线
│ └── automated-testing-standard.md # 自动化测试标准
├── changes/ # 所有变更
│ ├── templates/ # 模板
│ │ ├── spec.md
│ │ ├── tasks.md
│ │ ├── log.md
│ │ └── test-spec.md
│ ├── <变更名>/ # 进行中的变更
│ │ ├── spec.md # 13 章规格文档
│ │ ├── tasks.md # 原子化任务拆分
│ │ ├── execution-log.md # 执行日志
│ │ └── test-spec.md # 测试策略
│ └── archive/ # 归档变更
│ └── YYYY-MM-DD-<名称>/
├── knowledge/ # 知识沉淀
│ ├── index.md
│ ├── tech-spring-boot-autoconfig.md
│ ├── tech-spel-expression.md
│ └── ...
└── agents/ # Sub Agent 定义
├── spec-reviewer.md
└── code-quality-reviewer.md
📷 截图位 2:实际项目里
code-copilot/目录的 IDE 树状视图截图
这个目录结构本身就是工作流的物化。所有 AI 编程的中间产物都有地方放、可以追溯、可以审计——这是和 Vibe Coding 最本质的区别。
/propose:把"我想要个功能"变成 13 章 Spec这是整个工作流最关键的一步。它解决的核心问题是:让 AI 在动手写代码之前,先和你把需求聊清楚。
用户:/propose 给流程审批加一个超时自动通过的功能
AI 按顺序执行:
1. Research → 扫描代码库,定位 forge-plugin-flow 的相关入口
2. 逐个提问 → "超时时间是按节点配置还是按流程配置?"(一次只问一个)
3. YAGNI 裁剪 → "你提到的'超时短信通知'是否本期必须?"
4. 分三段生成 → 背景目标 → 业务规则 → 数据接口(每段确认后再生成下一段)
5. 生成 Tasks → 每个 Task 3-5 个文件,可独立提交
6. HARD-GATE → "请确认是否进入 /apply 阶段"
📷 截图位 3:
/propose命令实际执行截图(建议截到 AI 逐个提问 + 用户回复的对话过程,体现"一次一个问题"的设计)
我设计的 spec.md 模板,固定包含 13 个章节:
| 章节 | 内容 | 为什么需要 |
|---|---|---|
| 1. 背景与目标 | 为什么做 + 可验证的结果描述 | 防止做着做着忘了初心 |
| 2. 代码现状 | 相关入口、现有实现、风险(必须带代码出处) | 杜绝 AI 幻觉式编码 |
| 3. 功能点 | 输入 → 处理 → 输出 | 明确边界 |
| 4. 业务规则 | 业务约束 | 防止技术方案违背业务 |
| 5. 数据变更 | 表名、字段、索引 | DBA 友好 |
| 6. 接口变更 | 路径、方法、变更内容 | 前后端协作 |
| 7. 影响范围 | 受影响的模块和文件 | 评估风险半径 |
| 8. 风险与关注点 | ⚠️ 资金/状态流转/权限变更必须标注 | 安全红线 |
| 8.5 测试策略 | 测试范围和覆盖率目标 | 测试可落地 |
| 9. 待澄清 | 必须全部解决才能进入 /apply | HARD-GATE |
| 10. 技术决策 | 方案选择及理由 | 决策可追溯 |
| 11. 执行日志 | Task 状态、实际改动文件 | 进度透明 |
| 12. 审查结论 | 两阶段审查结果 | 质量门禁 |
| 13. 确认记录 | HARD-GATE 确认信息 | 责任明确 |
📷 截图位 4:一份真实的
spec.md截图(推荐用 Forge Admin 项目harden-multi-tenant-isolation这个变更的 spec.md,前面几章信息密度足够大)
① 一次只问一个问题
AI 默认会一次抛 5-6 个问题给你,看起来效率高,但实际你会漏答、答错。强制"一次一个",配合"提供选项 + 推荐方案",决策质量高得多。
❌ 反例:
"请告诉我:1) 超时时长?2) 通知方式?3) 是否记录日志?4) 权限范围?"
✅ 正例:
"请问超时时长应该如何配置?
A. 全局统一配置(推荐,简单)
B. 按流程定义配置(灵活,但要加表字段)
C. 按节点配置(最灵活,但配置成本高)"
② Spec 分三段生成,每段确认再继续
一次性生成完整 Spec,用户很难逐章 review。拆成"背景目标 → 业务规则 → 数据接口"三段,每段不超过 200 行,确认后再继续。这样一旦发现方向不对,能立刻刹车。
③ HARD-GATE:没确认就是没确认
Spec 的第 13 章是确认记录,必须显式填写"确认时间 + 确认人"。在 .opencode/command/apply.md 里我加了硬校验:检测不到这个章节有内容,就拒绝执行 /apply。这条规则简单粗暴,但杜绝了"AI 自作主张开始写代码"的情况。
/apply:原子化 Task + 一 Task 一 CommitSpec 确认后,/apply 命令登场。它的核心理念是:Plan 是合同,严格按 Spec 执行,零偏差。
tasks.md 模板里有一条铁律:
每个 Task = 可独立提交的原子变更(3-5 个文件) 拆分顺序:数据模型 → 接口协议 → 底层实现 → 上层编排 → 入口层
为什么是 3-5 个文件?这是我反复实验出来的最佳粒度:
以"流程审批超时自动通过"为例:
## Task 1: 数据库迁移 - 添加超时配置字段
- 涉及文件:
- forge/db/migration/V1.0.5__add_timeout_config.sql — 新增 Flyway 脚本
- forge-plugin-flow/.../entity/FlowTimeoutConfig.java — 新增实体
- forge-plugin-flow/.../mapper/FlowTimeoutConfigMapper.java — 新增 Mapper
## Task 2: 超时检测 Manager
- 涉及文件:
- forge-plugin-flow/.../manager/FlowTimeoutManager.java — 新增超时检测
- forge-plugin-flow/.../service/impl/FlowTaskServiceImpl.java — 注入 Manager
- 单元测试 FlowTimeoutManagerTest.java
## Task 3: 定时任务调度
- 涉及文件:
- forge-plugin-flow/.../job/FlowTimeoutCheckJob.java — Quartz 任务
- forge-plugin-flow/.../config/FlowTimeoutJobConfig.java — 任务注册
## Task 4: 配置接口 + 前端页面
- 涉及文件:
- forge-plugin-flow/.../controller/FlowTimeoutConfigController.java
- forge-admin-ui/src/views/flow/timeout/index.vue
- forge-admin-ui/src/api/flow-timeout.ts
四个 Task,每个独立可编译、独立可测试、独立可回滚。即使某个 Task 写飞了,影响范围也被严格控制在 3-5 个文件里。
📷 截图位 5:tasks.md 实际截图 + Git log 截图(展示一 Task 一 Commit 的提交历史)
这是 /apply 命令里写死的硬规则。AI 完成一个 Task 后,必须执行实际编译并贴出结果:
# 后端 Task
mvn -pl forge-admin-server -am package -DskipTests
# 前端 Task
nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
执行结果必须在 execution-log.md 里留痕。"我看了一下,应该没问题"这种话,在 SDD 流程里是不允许出现的。
每个 Task 完成后,AI 必须同步更新三个地方:
spec.md §11 执行日志:填写 Task 状态、实际改动文件、备注tasks.md:把对应 Task 勾选完成execution-log.md:追加执行时间、命令、结果这就是"变更即记录"原则的落地。它带来的好处是:任何人(包括未来的你)回过头看,都能从文档里完整还原这次变更的来龙去脉。
/review:两阶段审查 + Sub Agent 上下文隔离写代码的 AI 不能既当运动员又当裁判员。所以我把审查环节交给两个独立的 Sub Agent:
职责:逐条验证 Spec §3 功能点是否在代码中真实落地。
核心理念:不信报告,只信代码 — reviewer 必须独立读实际代码验证,不能轻信 /apply 阶段的执行日志。
审查维度:
输出格式:
#### 功能点逐条验证
- ✅ 功能 1:已实现,见 `XxxService.java:L42`
- ❌ 功能 2:未实现(缺少 XX 逻辑)
- ⚠️ 功能 3:实现方式与 spec 描述有偏差
#### 结论:✅ Spec 合规 / ❌ 不合规(附具体问题)
前置条件:阶段一必须 PASS 后才启动。这条规则的意义是——Spec 都没对上,谈代码质量没意义。
审查分级:
| 级别 | 含义 | 示例 |
|---|---|---|
| 🔴 Critical(阻塞) | 必须修复 | 安全漏洞、资金逻辑错误、并发安全、数据丢失风险 |
| 🟡 Important(应修复) | 建议修复 | 异常被吞、缺少参数校验、魔法值、方法过长、命名不清 |
| 🟢 Minor(建议) | 可选 | Javadoc 缺失、注释过时、import 未清理 |
📷 截图位 6:Review 实际执行的对话截图(最好能看到两个 Agent 串行执行的过程)
如果让同一个 AI 既写代码又审查代码,它会陷入自洽偏见——它会下意识维护自己刚写的代码。
Sub Agent 的关键优势是上下文隔离:它只看到 Spec 文档和最终代码,看不到 /apply 过程中的思考、犹豫、妥协。这种"无知"反而带来了客观性。
在 Forge Admin 里,这两个 Agent 的定义放在 code-copilot/agents/ 下,每个文件不超过 20 行:
code-copilot/agents/
├── spec-reviewer.md # 阶段一审查员定义
└── code-quality-reviewer.md # 阶段二审查员定义
Agent 定义文件越短越好,这能强制 Agent 聚焦在单一职责上。
/fix:Review 后增量修正Review 给出 FAIL 后,不要让 AI 重写代码,而是用 /fix <变更名> [描述] 增量修正:
这种"小步快跑"的修复模式,配合两阶段审查,能让代码质量稳定提升而不引入新的副作用。
/test:增量优先的自动化测试哲学很多团队在 AI 编程时栽在测试上:每改一行代码都跑全量测试,CI 时长爆炸;或者干脆不测,靠人肉验证。
我在 code-copilot/rules/automated-testing-standard.md 里定义了一套增量优先的测试哲学:
| 原则 | 说明 |
|---|---|
| 增量优先 | 先读已有 test-spec.md 和 execution-log.md,只补本轮增量验证 |
| 证据优先 | 不能只写"已通过",必须记录命令、关键输出、接口返回 |
| 最小闭环 | 验证范围跟随本轮改动的风险面扩展,不做无意义全量验证 |
| 可复跑 | 命令必须可复制执行,环境变量、Token、服务启动方式写清楚 |
| 不污染环境 | 只停止本轮启动的服务,不清理其他进程和数据 |
这是整个测试标准的精髓——一张变更类型 × 验证矩阵:
| 变更类型 | 必跑验证 | 条件增强验证 |
|---|---|---|
| 仅文档/Spec/Task | git diff --check |
关键文档链接和状态一致性 |
| Java 后端 | 相关 Maven 模块 compile |
涉及业务逻辑补单测 |
| Mapper XML / SQL | 后端编译 + XML 语法检查 | 有数据库时执行接口验证 |
| Flyway 脚本 | SQL 防重复检查 + Flyway 实跑 | 检查 forge_schema_history |
| 前端 JS/Vue | pnpm build |
改 UI 时启动 Vite + Playwright 截图 |
| API 协议 | 后端启动 + curl 验证 | 涉及鉴权时验证加密链路 |
| 流程/消息 | 后端 + Flow 服务 + 主路径验证 | 验证关联表/任务表落库 |
核心思想:默认不全量跑 mvn test 或完整 E2E,只有共享基础能力、状态流转、权限、安全、数据迁移这些场景才升级到全量。
/test 命令支持两种模式:
test-spec.md,列出 P0/P1/P2 测试点,再生成测试代码无论哪种模式,必须遵守 Red/Green 规则:
测试必须先 Red(失败),再 Green(通过)。跳过 Red 的测试无法证明有效。
我见过太多 AI 生成的"通过测试",其实根本没断言任何有意义的东西。Red/Green 强制要求测试能真正发现问题。
📷 截图位 7:test-spec.md + execution-log.md 截图(展示 P0/P1 测试点和实际执行命令)
/archive:知识沉淀的飞轮变更完成后,不是简单地 git push 就结束。/archive 命令负责把这次变更里产生的知识抽取出来,沉淀为团队资产。
1. 展示 execution-log.md 中的「知识发现」清单
2. 用户确认哪些条目需要沉淀
3. 写入 code-copilot/knowledge/tech-*.md
4. 移动变更目录到 code-copilot/changes/archive/YYYY-MM-DD-<名称>/
5. 设置 Spec 状态为 done
这是真实的 code-copilot/knowledge/ 目录:
| 文件 | 内容 |
|---|---|
tech-spring-boot-autoconfig.md |
Spring Boot 自动配置注册的坑 |
tech-maven-multimodule.md |
Maven 多模块添加 Starter 的标准姿势 |
tech-spel-expression.md |
SpEL 表达式解析与缓存 |
tech-aop-parameter-names.md |
AOP 参数名发现机制(-parameters 编译参数) |
tech-global-exception-handler.md |
全局异常处理的优先级陷阱 |
tech-flowable-multi-version.md |
Flowable 多版本流程模型管理 |
tech-flow-version-db-design.md |
流程版本数据库设计 |
tech-version-state-machine.md |
版本状态机设计 |
📷 截图位 8:knowledge/ 目录截图 + 其中一篇 tech-*.md 的内容截图
每篇知识文章都来源于一次真实的踩坑,包含「问题 → 根因 → 解决方案 → 代码示例」四要素。新人接手项目,读完这些文章就能避开 80% 的坑。
除了 knowledge/,还有 .opencode/memory/ 三件套:
| 文件 | 用途 |
|---|---|
pitfalls.md |
踩坑记录(短期记忆) |
decisions.md |
项目决策(中期记忆) |
preferences.md |
用户偏好(个性化) |
每次新对话开始,AI 都会主动读取这三个文件,30 秒内进入项目上下文。这就是"知识飞轮"——每次变更都让 AI 变得更懂你的项目。
讲了这么多方法论,最后用一个真实变更展示完整流程。
背景:审计时发现部分查询未正确触发 TenantLineInnerInterceptor,存在跨租户数据泄露风险。
完整流程:
# 1. 创建变更提案
/propose 加固多租户隔离,识别所有未走拦截器的查询并补全
# AI 执行:
# - Research:扫描所有 Mapper XML,识别未带 tenant_id 条件的查询
# - 提问:是补 SQL 还是改用 LambdaQueryWrapper?
# (AI 推荐:补 SQL,因 DataScopeInterceptor 按 mapperMethod 精确匹配)
# - 生成 spec.md(13 章)+ tasks.md(按模块拆分 8 个 Task)
# - HARD-GATE 等待确认
# 2. 确认后执行编码
/apply harden-multi-tenant-isolation
# AI 执行:
# - Task 1:补 forge-plugin-system 模块的 6 个 Mapper XML
# - 编译验证:mvn -pl forge-plugin-system -am compile ✅
# - 同步文档 + git commit
# - Task 2-8 依次执行...
# 3. 两阶段审查
/review harden-multi-tenant-isolation
# Spec Reviewer:✅ 8 个功能点全部落地
# Code Quality Reviewer:⚠️ Task 5 中有一个 SQL 缺少 tenant_id 索引覆盖
# 4. 修正
/fix harden-multi-tenant-isolation Task 5 索引补充
# 5. 测试
/test harden-multi-tenant-isolation
# 6. 归档
/archive harden-multi-tenant-isolation
📷 截图位 9:归档后的 archive/ 目录截图 + 新增的 knowledge 文件截图
整个流程结束后,仓库里会留下:
code-copilot/changes/archive/2026-04-15-harden-multi-tenant-isolation/
├── spec.md # 13 章规格文档(status: done)
├── tasks.md # 8 个 Task 全部勾选完成
├── execution-log.md # 完整执行记录、命令、结果
└── test-spec.md # 测试策略 + 测试用例清单
code-copilot/knowledge/
└── tech-tenant-interceptor-mapper-method-match.md # 新沉淀的知识
git log:
9f3c2a1 [harden-multi-tenant-isolation] Task 8: 归档与文档收尾
8e2b3d4 [harden-multi-tenant-isolation] Fix: Task 5 索引补充
7d1a4e5 [harden-multi-tenant-isolation] Task 7: 增加跨租户回归测试
...(一 Task 一 Commit)
1a2b3c4 [harden-multi-tenant-isolation] Task 1: 补 system 模块 Mapper
这才是 AI 编程应有的样子:有规划、有审查、有测试、有沉淀,每一步都可追溯。
很多人看完会问:方法论我懂了,但要在自己项目里落地很难——AI 不熟悉我的代码、规范不统一、没人维护文档。
这套 SDD 工作流之所以能在 Forge Admin 里跑得动,是因为框架本身就为 AI 编程做了大量准备:
Forge Admin 采用 微内核 + 插件化 架构:
forge-framework/
├── forge-plugin-parent/ # 业务插件(system/generator/job/message/flow/ai)
└── forge-starter-parent/ # 技术启动器(auth/cache/orm/tenant/crypto 等 20 个)
每个插件、每个 Starter 都有清晰的职责边界。AI 在做 /propose 的 Research 阶段,能快速定位变更应该落在哪个模块——架构清晰是 AI 编程的前提。
项目根目录的 AGENTS.md 把所有关键约定都写死了:
tenant_id 必须为 1(不能为 0)pageNum/pageSize(不能用 page):id(不能用 {id})DictSelect/DictTag/useDict这些规则被 AI 在每次对话开始时主动读取,生成的代码天然符合项目规范。
数据库变更全部走 forge/db/migration/ 的 Flyway 脚本,命名规范 V<版本>__<描述>.sql,必须幂等。配合 SDD 流程,每次数据变更都有 Spec、有 Migration、有审查、有验证。告别"我在本地手动改了下数据库"。
AiCrudPage — 零代码 CRUD 页面,配置即生成DictSelect/DictTag — 字典选项零硬编码RegionTreeSelect — 行政区划树选择器AuthImage — 鉴权图片(自动带 Token)@ApiEncrypt/@ApiDecrypt — 接口加解密注解@OperationLog — 操作日志注解@Idempotent — 幂等控制注解@FlowBind/@FlowStart — 流程客户端注解生成代码越少,AI 越不容易出错。Forge Admin 把企业后台 80% 的重复代码都做成了组件和注解,AI 只需要做配置和编排。
📷 截图位 10:Forge Admin 后台管理首页截图 + AI 大屏编辑器截图(展示框架本身的能力,引流用)
老实说,渐进式 SDD 有几个代价:
| 代价 | 缓解 |
|---|---|
| 每个变更要花 5-15 分钟写 Spec | 复杂变更省下的返工时间远超于此 |
| AI 提问会让你慢下来 | 慢思考避免后期大规模返工 |
| 团队需要学习 7 个命令 | 命令链一周熟悉,模板可直接抄 |
| 文档维护成本 | 文档由 AI 自动同步,不是人工维护 |
✅ 强烈推荐:
⚠️ 可以简化:
如果你只能记住三件事:
做到这三条,你的 AI 编程体验会有质变。
| 资源 | 地址 |
|---|---|
| Forge Admin 源码(Gitee) | https://gitee.com/ForgeLab/forge-admin |
| Forge Admin 源码(GitHub) | https://github.com/yaomindong1996/forge-admin |
| 在线体验 | http://www.dlforgelab.com:8084/forge/login(admin / 123456) |
| 项目文档 | http://www.dlforgelab.com:8084/forge-docs/ |
| AI 大屏设计器 | http://www.dlforgelab.com:8084/forge-report/ |
| SDD 工作流文档 | forge-docs/guide/sdd-workflow.md |
| 完整 Spec 模板 | code-copilot/changes/templates/spec.md |
| 自动化测试标准 | code-copilot/rules/automated-testing-standard.md |
code-copilot/ 目录是这套 SDD 工作流的完整实现,包括:
Clone 项目,把 code-copilot/ 整个目录复制到你的项目里,改改 AGENTS.md 里的技术栈描述,就能跑起来。
最后再花一分钟介绍 Forge Admin —— 这套 SDD 工作流的"宿主",本身也是一个值得收藏的开源框架。
Forge Admin 是一套面向企业后台、SaaS 管理端、数据可视化平台和内部低代码工具的中后台框架,基于 Vue 3 + Spring Boot 3 构建。
| 亮点 | 说明 |
|---|---|
| 🏗️ 微内核插件化 | 核心轻量,系统/生成器/任务/消息/流程/AI 等能力以插件方式组合 |
| 🤖 AI 数据大屏 | 自然语言生成大屏,支持组件拖拽、主题定制、真实 API 数据接入 |
| ⚡ AI 代码生成 | 面向表单和 CRUD 场景,0 代码配置 + 代码包二次开发 |
如果你正在搭建一个长期演进的企业级中后台系统,欢迎来 Star ⭐:
📷 截图位 11:微信二维码 + 微信群二维码(用于读者扫码加入交流群)
如果这篇文章对你有帮助,欢迎:
下一篇预告:《增量优先的自动化测试哲学:拒绝每次从零跑全量》—— 深入拆解 Forge Admin 的 automated-testing-standard.md,分享一套能让 AI 测试真正落地的工程化方案。
文章 6800 字 / 阅读时长 18 分钟 / 首发于 [作者博客] 转载请注明出处,禁止任何形式的洗稿。