【Code with SOLO】从一份需求文档到完整风电振动监测系统,AI 让工业软件开发不再是难事

【Code with SOLO】从一份需求文档到完整风电振动监测系统,AI 让工业软件开发不再是难事

摘要

本文记录了我使用 TRAE SOLO 从零构建一套 风电场振动在线监测系统 的完整过程。项目涵盖 Spring Boot 后端、Vue.js 3 前端、24 张数据库表、35 个 API 接口、15+ 个页面,以及信号分析、故障诊断、数据驾驶舱等核心功能模块。从一份需求文档出发,在一个工作日内完成了从架构设计到代码生成、从 Bug 修复到文档编写的全流程。更重要的是,当环境不支持 Java 时,SOLO 灵活转向 Python 构建 Mock 服务器,展现了 AI 辅助开发中令人惊喜的适应能力。


背景

我参与的一个风电项目,现场有 35 台风力发电机组,需要建设一套振动在线监测系统,用于实时监控发电机、齿轮箱、主轴、联轴器等关键部件的运行状态。项目有明确的信创国产化要求,技术栈限定为国产框架。

说实话,这类工业监测系统的开发量不小——光数据库设计就有 24 张表,信号分析模块涉及时域、频域、趋势等多种分析类型,故障诊断还要集成多种算法。按照传统开发节奏,光后端接口加前端页面,一个熟练工程师至少需要两到三周。

这次我决定换个思路,玩个大的:把完整的需求文档交给 SOLO,看看 AI 能做到什么程度。


实践过程

第一步:需求分析与开发规划

我把一份详细的需求规格说明书(.docx)喂给 SOLO,让它先做需求拆解和开发计划。

SOLO 的分析结果让我比较意外——它不仅准确识别出了系统的核心模块(设备管理、振动数据采集、报警管理、故障诊断、信号分析、报表中心),还主动补充了我没有明确写出但实际需要的模块,比如 数据质量评估设备自检功能

随后 SOLO 输出了一份分阶段的开发计划,从数据库设计到后端接口,再到前端页面,最后是联调测试,逻辑清晰,优先级合理。

第二步:数据库与后端代码生成

确认开发计划后,我让 SOLO 开始生成代码。

首先是数据库设计,一共 24 张表,覆盖了:

  • 设备基础信息(风机、传感器、测点)

  • 振动数据(原始波形、特征值、频谱数据)

  • 报警与故障(报警记录、故障诊断结果)

  • 系统管理(用户、角色、知识库、报表)

然后是 Spring Boot 后端,SOLO 按照 Controller → Service → Mapper → Entity 的分层结构,逐模块生成代码。35 个 RESTful API 接口,包括设备 CRUD、振动数据查询、报警管理、故障诊断、报表导出等,代码风格统一,注释规范。

第三步:前端页面开发

前端是整个项目中工作量最大的部分。SOLO 基于 Vue.js 3 + Element Plus + ECharts,生成了 15+ 个页面

  • 数据驾驶舱:暗色科幻风格,玻璃拟态卡片,实时时钟,动态边框

  • 设备总览:35 台风机的运行状态一览

  • 振动监测:实时波形显示,多通道对比

  • 信号分析:时域分析(多点对比、长波形)、频域分析(幅值谱/功率谱/包络谱/倒频谱/细化谱/瀑布图/阶次分析/滤波分析)、趋势分析(多趋势/频率趋势)

  • 故障诊断:5 种算法(BP 神经网络、SVM 等)自动诊断 + 知识库管理 + 结构化诊断流程

  • 故障监测:发电机/齿轮箱/主轴/联轴器四大部件,覆盖 30+ 故障类型

  • 报表中心:日报/月报生成,CSV 导出

  • 异常统计与设备自检:12 通道传感器状态监控,数据质量评估

第四步:意料之外的转折

到这里一切顺利,但接下来遇到了一个问题——沙箱环境中没有安装 Java 环境,Spring Boot 后端无法启动。

我当时想,这下可能要卡住了。但 SOLO 的处理方式让我印象深刻:它主动提出用 Python 标准库(不依赖任何第三方包)构建一个 Mock API 服务器,模拟全部 35 个接口的响应数据。

这个 Python Mock Server 代码简洁高效,每个接口都返回了符合真实数据结构的 JSON,前端可以直接对接调试。虽然是一个"临时方案",但数据模拟的质量相当高,波形数据、频谱数据、报警信息都有合理的数值范围和分布特征。

第五步:迭代优化

第一版生成后,我作为"产品经理"提了几轮反馈:

  1. 数据驾驶舱视觉升级——要求更科幻的暗色主题,SOLO 重新设计了配色方案,加入了发光边框和玻璃拟态效果

  2. 故障监测页面补全——初始版本缺少部分故障类型的监测卡片,SOLO 补充了发电机匝间短路、齿轮箱齿面磨损等 30+ 故障类型

  3. 信号分析功能完善——增加了包络分析和细化频谱的交互控件

  4. 编码问题修复——Windows 环境下中文路径导致 ZIP 打包失败,SOLO 定位到编码问题并修复

  5. 一键启动脚本——为 Windows 用户编写了 .bat 启动文件,双击即可运行演示

每一轮反馈,SOLO 都能准确理解意图并在下一次输出中体现改进,迭代效率很高。

第六步:文档生成

最后,我让 SOLO 生成了 7 份项目文档:

  • 需求分析说明书

  • 详细设计说明书

  • 测试报告

  • 部署指南

  • 用户手册

  • 项目总结报告

  • API 接口文档

文档格式规范,内容详实,可以直接作为项目交付物使用。


成果展示

数据驾驶舱

数据驾驶舱是整个系统最"抓眼球"的部分。暗色背景搭配青蓝色发光边框,卡片采用毛玻璃效果,实时时钟和动态数据刷新让整个页面充满科技感。35 台风机的运行状态、报警统计、振动趋势一目了然。

频域分析

信号分析是系统的技术核心,支持 8 种分析类型。频域分析页面可以切换幅值谱、功率谱、包络谱、倒频谱和细化频谱五种视图,配合瀑布图、阶次分析和滤波分析,能够满足专业振动分析工程师的需求。参数面板支持风机和测点选择,实时显示主频、谐波幅值、转速等关键指标。

故障监测

故障监测模块按部件分类,每个部件(发电机、齿轮箱、主轴、联轴器)都有独立的监测标签页。页面顶部展示平均健康分、异常风机数等关键指标,左侧雷达图直观对比多台风机在各故障维度上的表现,右侧表格详细列出每条故障记录的类型、严重程度和置信度。30+ 种故障类型覆盖了风电行业常见的机械故障场景。

设备自诊断

设备自诊断模块对单台风机进行全面的"体检"。点击"开始自诊断"后,系统自动检测 12 个传感器通道状态、数据采集器连接情况、3 条通信链路质量,并评估数据完整率、及时率和准确率。仪表盘直观展示综合健康评分,下方详细列出每个通道的信号质量和历史诊断记录,帮助运维人员快速定位设备问题。


效果与总结

量化成果

指标 数据
数据库表 24 张
API 接口 35 个
前端页面 15+ 个
故障类型覆盖 30+ 种
信号分析类型 8 种
项目文档 7 份
开发耗时 约 1 个工作日

几点体会

1. AI 不是替代工程师,而是放大工程师的能力。

这个项目如果纯手工开发,后端 + 前端 + 文档至少需要两到三周。用 SOLO 后,我的角色从"写代码的人"变成了"架构决策者和质量把关者"——我负责定义需求、审核方案、提出改进,SOLO 负责执行。这种协作模式大幅提升了产出效率。

2. SOLO 的适应能力超出预期。

当 Java 环境不可用时,SOLO 没有"卡死",而是主动提出替代方案(Python Mock Server)。这种灵活应变在实际开发中非常有价值——现实项目里总会有各种意外情况,AI 能否像人类工程师一样"绕路前行",是衡量其实用性的重要标准。

3. 迭代式开发是 AI 辅助开发的最佳实践。

不要指望一次生成就完美无缺。我的做法是:先生成基础版本 → 运行查看效果 → 提出具体改进 → SOLO 迭代优化。经过 4-5 轮迭代,最终产出的质量远超第一版。这和传统的敏捷开发思路是一致的,只是每个冲刺的执行者从人变成了 AI。

4. 工业级项目可以逐渐探索。

这不是一个 To-Do List 或计算器 demo,而是一个有真实业务场景、复杂数据结构、专业分析功能的工业系统。现在还是让SOLO 做前端的开发,SOLO做前端的能力是很惊艳的,毕竟现在做前端的动力越来越小了 :sweat_smile: 。核心的算法还不会交给AI来实现,后端的核心分析算法还对AI没有信心,但是SOLO的一些想法思路还是给我一些很好的启示。

写在最后

从一份需求文档到一套完整的工业监测系统,SOLO 帮我完成了从 0 到 1 的全过程。它不是完美无缺的——中间也遇到过组件缺失、编码异常等问题——但它的学习能力和迭代速度让人印象深刻。最重要的是学会和SOLO分工合作,有句话说的好,专业的人做专业的事 :grinning_face_with_smiling_eyes:

如果你也有一套完整的系统设计思路,只是苦于开发资源不足,不妨试试让 SOLO 来帮你把想法变成现实。你会发现,AI 辅助开发的边界,比你想象的要宽得多。这个时代是最好的时代,同时也许是最坏的时代,但一定是个要学会使用AI的时代!!!