本文记录一个真实项目的完整落地过程:从"我要一套固定资产管理系统"这一句话开始,到产出一个 48MB 的 Windows 安装包、一份 40 页的用户手册和一个在线下载页。所有内容均为实际操作记录,包含可直接复用的提示词模板与 10 条踩坑清单。
项目 | 结果 |
|---|---|
产品名 | 本固 · 固定资产管理系统 v3.4 |
技术栈 | Express + sql.js(SQLite) + Vite + React 18 + TypeScript + MUI 6 + Tailwind 3 |
代码规模 | 前后端共 6103 个文件条目,打包后 48.4 MB |
功能模块 | 资产全生命周期、组织架构、存放地点、保管人、RFID 标签、标签打印、折旧、盘点、报表、借用、维修、维保、RBAC 权限、操作日志与撤销、数据库备份恢复 |
交付物 | Windows 安装包(可直接覆盖升级)+ 40 页 PDF 用户手册 + 在线下载页 |
开发方式 | 100% 由 WorkBuddy 代码模式完成,人工只做需求描述与验收 |

图 1:系统首页看板,资产总量、分类分布、近期动态一屏可见
这是很多人忽略的一点——AI 交付质量的上限,取决于你喂给它多少"业务约束",而不是你的提示词写得多花哨。
我全程没有给过一份正式的需求文档,输入材料只有三类:
1. 一句话原始需求
开发一个资产管理系统,对标市面主流资产管理系统,搭建一套功能完善、可本地服务器部署的网页版固定资产管理系统。主要围绕固定资产全生命周期管理(资产入库、管理、周转、处置等),要有组织架构管理、存放地点管理、保管人管理;代码简单,数据库容易部署;兼容多设备访问;要有批量导入/导出/修改功能。
2. 技术约束(一开始就钉死,避免后期返工)
3. 逐轮追加的业务细节
这是最关键的部分。系统不是一次做成的,而是我在使用过程中不断追加的,每一轮都是一句大白话:
经验:把技术选型写死在第一轮,把业务细节拆成多轮追加。前者防架构摇摆,后者符合真实认知节奏——你不可能在没用过的系统面前想清楚所有细节。
模式:全程代码模式(Craft),没有用过 Ask / Plan。
专家团队:组建了一个四人团队分工,这是本项目效率的核心。
角色 | 负责 | 产出 |
|---|---|---|
产品经理 | 需求结构化 |
|
架构师 | 系统设计 |
|
工程师 | 编码实施 | 前后端全部源码 |
QA 工程师 | 验证 |
|
为什么这步值得做:架构文档一旦落盘,后续十几轮迭代里 WorkBuddy 每次都能读到同一份 Schema 和 API 约定,不会出现"这轮把 asset_records 的字段写成 type、下轮又写成 operation_type"这类漂移。这是长周期项目能保持一致的根基。
目录约定:把 PRD 和架构文档固定放在项目根的 docs/ 下,后续每个新会话都能被稳定检索到。
提示词就是上面那句原始需求,追加了一句约束:
请输出简单 PRD,包含:产品目标(一句话定位 + 核心价值)、用户角色(系统管理员 / 资产管理员 / 普通用户)、功能需求按模块列出(基础数据管理、资产全生命周期、人员管理、报表统计、系统功能)。
产出 docs/PRD.md。这一步的价值不在于文档本身,而在于逼你把模块边界想清楚。
请基于 PRD 进行完整系统设计,输出到
docs/ARCHITECTURE.md:技术选型确认、目录结构、12 张表的完整建表 SQL、50+ 后端 API 设计、22 个前端路由、共享约定(API 响应格式 / 错误码 / 分页 / JWT)、依赖包版本。
这一步千万别跳过。 我后来 v3.0 到 v3.4 的每一次迭代,都因为这份文档的存在而省掉了大量重新对齐的成本。
按依赖关系严格排序:基础设施 → 数据库与迁移 → 后端 API → 前端页面 → 批量导入导出。每个任务单独一轮对话,避免上下文污染。
举三个真实案例,展示 WorkBuddy 如何处理"不精确的需求":
案例 A:标签打印被裁剪
我的原始反馈是"10×4cm 尺寸会被裁剪内容"。WorkBuddy 定位到根因是缩放系数只看了宽度:
// 旧:只看宽度 → 100×40mm 这类"宽而矮"的标签必然溢出
const k = clamp(w / 95, 0.6, 1);
// 新:宽高联合降档,取更严格的那个
const k = clamp(Math.min(h / 55, w / 95), 0.6, 1);
// 列数:够宽够高才分两列
const cols = (w >= 80 && h >= 22) ? 2 : 1;
图 2:标签打印模块,内置 7 大品牌 20+ 款打印机驱动、18 种标签尺寸,自动生成二维码
案例 B:数据库管理要"分类备份 + 恢复不出 bug"
这句话拆出了 9 个数据分类、10 个后端接口和一套带回滚的恢复逻辑:
{ format: 'asset-mgmt-backup', version: 1, categories, tables: { name: { columns, rows } } }replace(按原 ID 重建)/ merge(ID 冲突跳过,绝不重分配 ID,这是保证关联不出错的关键)db_backup_files 表,全程留痕案例 C:操作日志 + 管理员撤销
需求是"能撤销用户操作并恢复操作前数据"。实现要点:
captureBefore()),敏感字段不入快照after,不一致则拒绝撤销(返回 409),避免覆盖他人在其后的合法修改action='undo' 日志,并通知原操作人
图 3:操作日志显示字段级变更明细,管理员可撤销并恢复操作前数据
1. 功能全景

图 4:资产台账,支持自定义列、多条件筛选与批量操作

图 5:资产详情,实物照片 + 全生命周期履历(领用、调拨、维修、盘点记录)

图 6:三种折旧方法(年限平均法 / 双倍余额递减法 / 年数总和法),按月自动计提

图 7:手机浏览器直接扫码盘点,无需安装 App

图 8:盘点盈亏汇总,一键导出 Excel

图 9:RFID 标签管理,支持 UHF / HF / NFC,绑定解绑一目了然

图 10:40+ 项权限点按角色精细分配,支持数据范围(全部 / 本部门 / 本存放地点 / 本人保管)
2. 工程化交付
交付物 | 说明 |
|---|---|
Windows 安装包 | 自解压 exe,48.4 MB / 6103 条目,支持直接覆盖老版本升级(安装时自动结束旧进程再解压,数据天然保留) |
用户手册 | 40 页 PDF,767 KB,中文无乱码 |
在线下载页 | 静态站点,可直接分发 |
授权体系 | RSA 签名激活码 + 机器指纹绑定,30 天试用 |
打包链路是三段式:compile_csharp.py(编译安装器)→ build_exe.py(打包 zip)→ append_zip.py(拼成 exe)。
3. 合规底座
跑了全量依赖审计:MIT 346 / ISC 29 / Apache-2.0 14 / BSD-3 7 / BSD-2 1 / CC-BY-4.0 1,GPL / AGPL / LGPL / SSPL / BUSL 数量 = 0,可闭源商用。
这里有个必须提醒的边界:AI 生成的代码在现行规则下无法申请软件著作权(须手抄"未使用 AI"承诺并签名),商业化应走"卖服务不卖代码"的授权模式,合同加 as-is 与责任上限条款。
这些都是真实踩过、且不是通用知识的坑:
坑 | 解法 | |
|---|---|---|
1 | Express 4 不捕获 async 路由处理器的异常,请求永久挂起不返回 | 路由处理器一律写成同步;用静态 |
2 | sql.js 不支持命名参数,只认 | LIMIT/OFFSET 也用 |
3 |
| 要支持清空必须用 |
4 |
| 可选更新字段一律用 |
5 | MUI 双触发:卡片 onClick + 内部 Checkbox 各绑一次,一次点击 toggle 两次相互抵消,表现为"点了没反应" | 加守卫 |
6 | sql.js 单进程全库载入内存 | 架构硬约束:只能单机 / 局域网授权,要做 SaaS 必须先多租户重构 |
7 | 字段名不一致: | 统一校对字段命名 |
8 | Express 路由顺序: | 静态路由前置 |
9 | 打包敏感数据泄露: | 打包脚本加白/黑名单 + 自动泄露扫描 |
10 | 版本号批量替换遗漏(踩了两次) | 替换前先 grep 确认当前实际版本号,别凭记忆写匹配串 |
另外一条工程纪律:打包模式下启动服务会切换数据目录到 %APPDATA%,本地联调时必须显式指定 DB_PATH,否则你会对着一堆种子数据怀疑人生。
把这几条存起来,下次做类似系统直接套:
① 立项
我要做一个 系统类型,对标 竞品/标准。要求:核心业务链路。技术约束:前端 X,后端 Y,数据库 Z,部署方式 W。请先输出 PRD,包含产品目标、用户角色、按模块划分的功能需求。
② 架构
基于 PRD 输出完整设计文档到
docs/ARCHITECTURE.md:目录结构、完整建表 SQL、API 端点清单、前端路由、统一响应格式与错误码、依赖版本。这份文档后续所有迭代都要遵守,不得擅自偏离。
③ 迭代反馈(关键:说现象,不说方案)
页面/功能 有问题:描述你看到的异常现象。我期望:描述期望结果。
比如"10×4cm 尺寸会被裁剪内容"——说现象就够了,不要自己猜"应该是缩放系数写错了",把根因定位交给它。
④ 交付
测试所有功能的关联性与前端访问,做最终测试后打包为安装包,同步更新 PDF 用户手册。
ARCHITECTURE.md 一直在上下文里。如果你也在用 WorkBuddy 做企业级系统,欢迎评论区交流踩坑经验。
#WorkBuddy #AI办公
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。