腾讯 WorkBuddy 完整实战!不写一行代码,从设计到开发再到部署,现已完美运行一个多月。"一人公司"的概念体现得淋漓尽致。
前言:有想法,"龙虾"就可以帮你干活
对一个小型企业管理者来说,拥有一套高性价比管理系统是相当重要又很难得的。我是一所小规模职业培训学校的管理者,虽说是软件工程毕业,技术背景还在,但这些年做管理、跑招生、对接企业,几乎没有再碰过软件相关的技术。
学校日常事情很杂,所有信息、招生、缴费,班级、考勤、成绩管理、就业推荐……最开始都用 Excel 凑合,信息多的情况下很不方便。
原先自己花了两个多月时间做过一个管理系统,由于走常规的流程一个人单干工作量太大,只做了个半成品、能将就使用就停止了。直到今年3月份接触到了腾讯自研 WorkBuddy——1个人、2周就完成了一套完整的学校管理系统 VCRM,现在已经部署上线,学校老师每天都在用。
写这篇文章就是想分享:一个有想法但没时间的管理者,如何接近零成本高效完成一个从零到上线的系统项目。
一、为什么决定自己做?
市面上不缺教育管理系统,我也看过一些产品。但有几个问题让我始终下不了决心:
- 贵:适合小规模学校的方案极少,费用却相当高。
- 不灵活:培训学校业务流程有自己的特色,通用产品很难适配。
- 数据安全:学生信息、缴费记录这些敏感数据放在别人的服务器上,总觉得不踏实。
自己来的话,技术储备够用。缺的是时间和效率——而这恰好是 WorkBuddy 能补上的短板。
二、技术选型:AI 帮我做的第一个决定
这套技术栈我并不懂,当我告诉 WorkBuddy 我的需求时,它便根据我的约束条件帮我梳理了几种方案的优劣,最终确定了下面这套组合:
- Python + Flask 作为后端
- Vue 3 + Element Plus 作为前端
- MySQL 作为数据库
- Nginx + Gunicorn + 腾讯云 作为部署方案
说到服务器,99元/年的服务器也是刷新了我对云服务器的认知。自己配置一台电脑当服务器的话,就一年的电费也不止99了吧?!
WorkBuddy 在这个阶段的价值不只是帮我"做决定",更重要的是它能帮我"做",并且是可见的逐个完成。
三、系统架构:从一个人能管理的复杂度出发
3.1 功能模块
- 学生档案:基本信息、报名记录、相片
- 缴费管理:收费和退费,学费/教材费/住宿费分项记录
- 考勤管理:按课程灵活登记统计
- 成绩管理:日常考核、补考机制、成绩等级自动计算
- 班级管理:未开课→开课中→已结课的完整生命周期
- 专业管理:专业和科目的树形结构,支持拖拽排序
- 用户管理:多角色,权限分级
- 学生门户:手机端查看成绩、考勤记录
- 其他功能:用户跨地区登录限制、可信地点设置、登录及调用限频等安全配置
3.2 权限设计
这个部分花了我不少心思。学校里有管理员、校长、财务、教务主任、办公室主任、教师、职工等多个角色,要求每个角色能看到的菜单和操作都不一样。
比如财务能看到缴费模块但不能编辑学生信息,教师能看到考勤和成绩但不能管理用户。
WorkBuddy 帮我设计了一套基于 RBAC(基于角色的访问控制)的权限体系:
- 38 条细粒度权限,覆盖所有业务操作
- 171 条角色-权限关联,精确到按钮级别
- 前端通过 JWT Token 中的权限列表控制按钮显示/隐藏
- 后端通过装饰器做接口级权限校验,双重保障
3.3 数据安全
作为存储信息的管理系统,数据安全是最重要的。在 WorkBuddy 的建议下,系统实现了这些安全措施:
- 登录安全:5次失败自动锁定5分钟,IP归属地检测,异常登录地区预警
- 接口限流:登录接口5次/分钟,其他接口60次/分钟,防止暴力破解
- JWT认证:Token有效期12小时,过期自动跳转登录
- 软删除:核心业务表采用软删除机制,误删可恢复
四、开发过程:和 AI 协作的真实体验
4.1 从数据库设计和数据迁移开始
数据迁移是最头疼的事情,而 WorkBuddy 恰恰解决了这个难题。
我把开发环境的数据库名、用户名密码直接给了 WorkBuddy,它便分析了旧数据库、帮我设计了新数据库与数据迁移方案,几乎是一键完成了新旧数据库的数据对接。完成了自己以为特别难的事情后,我发现离成功已经不远了。
接着就是做功能模块了——学生档案、考勤、成绩管理。
作为功能模块的开发,我简单向 WorkBuddy 描述了我的需求:根据数据库表和字段设计,完成学生档案、考勤、成绩管理的基本功能,先给我方案,我确认后再执行。关键在于"先给我方案,我确认后再执行"这句话,我不需要自己想方案和设计,一切交给 WorkBuddy,我只需要在它给我方案后进行微调和确认就行。
WorkBuddy 不仅给出了代码,还帮我考虑到了一些我没想到的细节,比如:
- 信息分组录入(基本信息/学历信息/家庭信息/管理信息)
- 地址录入用四级联动(自动寻找合适的行政区域数据文件并下载,完成了地址控件功能)
- 照片上传后自动压缩,控制文件大小
4.2 举一反三,模块复制
有了基础模块的经验,后面的开发效率明显提高了。
WorkBuddy 很擅长做"举一反三"的事情。当完成基础模块后,我只需要告诉它参考已有的某个模块,完成目标模块的开发,它就能基于已有代码风格生成新模块,保持整个系统的 UI 和交互一致性。
4.3 遇到 Bug 怎么办?
开发过程中当然踩了不少坑,举几个印象深的:
坑1:看不见的风险
由于系统架构复杂,在系统开发过程中难免会有遗漏的地方,好在 WorkBuddy 能自己扫描漏洞并修复,我们只需要在上线前让它全面扫描检测漏洞即可。
坑2:N+1 查询性能问题
成绩列表加载慢,WorkBuddy 分析代码后指出是 N+1 查询问题——循环中逐条查询关联数据。它帮我把循环查询改成了批量预加载,页面加载速度从几秒降到了毫秒级。
坑3:MySQL 版本兼容
开发环境用 MySQL 8.0,服务器上是 MySQL 5.7,导出的 SQL 文件包含 5.7 不支持的语法(比如 utf8mb4_0900_ai_ci 排序规则)。WorkBuddy 帮我写了一个转换脚本,批量替换了 63 处排序规则声明、移除了 21 处不兼容的 ROW_FORMAT 设置。
4.4 前后端联调
Vue 3 和 Flask 之间通过 RESTful API 通信。这部分 WorkBuddy 帮我做了完整的架构设计:
- 统一的 API 响应格式:
{code: 0, data: ..., message: "..."} - Axios 请求拦截器自动添加 JWT Token
- Axios 响应拦截器统一处理错误提示,避免重复弹框
- 前端按钮级权限控制:
v-if="userStore.can('student:delete')"
五、部署上线:从本地到云服务器
代码写完了,部署又是另一个门槛。好在 WorkBuddy 对腾讯云的部署流程很熟悉,帮我一步步搞定了:
- 打包脚本(pack.bat):自动排除环境配置、日志、缓存等不需要上传的文件
- 部署脚本(update.sh):服务器端自动解压、备份旧版本、重启服务
- Nginx 反向代理:配置 HTTPS 证书,API 转发到 Gunicorn
- Systemd 服务:开机自启动,崩溃自动重启
整个发布流程已经标准化了:本地 Git 提交 → 版本号更新 → 打包 → 上传 → 服务器端一键更新。更新过程中自动备份旧版本到 /opt/vcrm/backups/ 目录,万一出问题可以秒级回滚。
六、学生门户:给学生的移动端入口
系统上线后,老师反馈最多的一个需求是:学生能不能自己在手机上查成绩?
考虑到我们的微信公众号是订阅号,不支持网页授权获取 OpenID,WorkBuddy 帮我设计了一个替代方案:
- 学生首次使用时,通过姓名+身份证号+手机号绑定账号
- 绑定后用手机号+密码登录,查看成绩和考勤记录
- 页面做了移动端适配,在微信内置浏览器中体验良好
七、用 WorkBuddy 开发的一些心得
经过一个多月的实践,我总结了几条使用 WorkBuddy 进行项目开发的个人经验:
-
把需求说清楚比什么都重要:WorkBuddy 很聪明,但它不是读心术。我发现最好的方式是:先描述业务场景,再描述你期望的功能表现,最后让它提方案。
-
让它先看现有代码:项目越大,代码一致性越重要。每次开发新功能之前,我都会先让 WorkBuddy 阅读相关模块的现有代码,然后告诉它"参考这个风格来实现新功能"。
-
建立自己的规范文档:这个习惯是 WorkBuddy 建议我养成的。每踩一次坑,就把原因和解决方案记录到"开发规范.md"里。现在的开发规范文档已经有 450 多行了,涵盖后端规范、前端规范、安全规范和踩坑记录。
-
复杂改动分步进行:有一次我需要对数据库结构做比较大的重构(把报名信息合并到学生主表),WorkBuddy 建议分三步走:先评估影响范围 → 再写迁移方案 → 最后逐步修改代码。
-
持续记忆和上下文传递:WorkBuddy 有工作记忆功能,它会自动记录项目的技术栈、编码规范、已知问题等信息。跨会话开发时,新对话能快速接上之前的上下文,不用每次都从头解释项目背景。
八、项目成果
截至今日,VCRM 系统的规模如下:
| 项目 | 数量 |
|---|---|
| 后端路由 | 18 个蓝图,100+ API 接口 |
| 数据模型 | 17 个模型,覆盖全部业务实体 |
| 前端页面 | 14 个功能模块(管理后台 + 学生门户) |
| 权限体系 | 7 个角色,38 条权限,171 条角色权限关联 |
| 部署方式 | 腾讯云,HTTPS,Gunicorn + Nginx |
九、写在最后
回过头来看,如果没有 WorkBuddy,我不会开始这个项目。不是因为没有能力做,而是作为一个学校管理者,我没有足够的时间和精力去从零啃完前后端开发、数据库设计、服务器部署这一整个体系。
WorkBuddy 对我来说不只是一个代码生成工具。它更像一个随时在线的技术合伙人——帮我做技术选型、写代码、排查 Bug、优化性能、规划部署方案。我负责想清楚业务需求和逻辑,它负责把需求变成可运行的系统。
如果你也有类似的处境——有技术背景但时间有限,脑子里有个想做的项目却一直搁置——不妨试试 WorkBuddy。它把那些耗时间但不耗脑子的工作接管掉之后,剩下的事情会比你想象的好推进得多。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。