
前言作为一个不断学习各种技术的全栈开发工程师平时会接触各种各样的系统。什么后台管理系统、OA、ERP、MES等等各种业务系统Web应用…写得多了之后我突然产生一个有意思的想法为什么我一直在给别人开发系统为什么在生活用各种别人的系统或者软件却没有认真给自己做一个真正长期给自己使用的系统服务自己方便自己提升自己我经常在生活中或者是在工作中等遇到很多琐碎的各种问题有时候需要记录一些东西、有时候需要管理自己的数据、有时候想做一个自动化功能、有时候觉得某个如那件的功能不符合自己的使用习惯还有一些事情现有软件可能能够解决但是我总觉得差那么一点意思。以前遇到这些问题我通常会找一些现成的软件。但是现在我想为什么我作为一个全栈开发我为什么不能给自己做一个所以我决定做一个属于我自己的项目服务我自己的项目。它没有甲方没有产品经理也没有需要求文档。唯一的用户就是我自己这不是一个传统意义上的项目对于我来说这个项目没有固定的产品需求。也没有所谓的需求分析 ↓ 产品设计 ↓ 开发排期 ↓ 版本迭代 ↓ 上线至少一开始不会是这样的。因为这个系统的唯一的用户只有我所以它的需求来源非常简单我需要什么就做什么。比如说今天我可能需要一个记账功能那么就开始做一个财务模块。明天我可能需要一个管理日程那么就增加一个日历模块。后天我可能需要一个自动化任务那么就继续增加一个自动化能力。如果以后我需要控制家里的设备那么就接入 IoT。如果我需要 AI 帮我处理这些事情那就把 AI Agent 接进来。它不会一开始就拥有一个完整的产品规划。它会随着我的实际需求不断成长。我想做的不是“万能软件”这里可能很容易产生一个误解。我并是不想做一个什么都有的“超级APP”。也不是准备把市场上所有软件的功能全部都复制一遍。我的想法很简单把那些真正影响我工作和生活效率的事情逐渐数字化给自己定制自己想要的东西而且这些功能之间可以互相连接互相影响甚至未来可以做成像《钢铁侠》中”贾维斯“那样。例如财务 ↓ AI ↓ 分析 日程 ↓ AI ↓ 提醒 任务 ↓ 自动化 ↓ 执行 设备 ↓ IoT ↓ AI最终它们都属于同一个系统。为什么我要自己做其实最大的原因不是”现有的软件不好“。而是自己做的软件可以完全按照自己的需求来例如一个普通的记账软件可能让我打开 App ↓ 选择分类 ↓ 选择账户 ↓ 输入金额 ↓ 保存但是我可能更希望我每一次付款我把截图丢给它让他根据我的习惯去记录然后以我想要的形式或者数据结构去给我存储可以私人化私密化存储。再比如我想要记录一个日程让它怎么按照我的要求提示我普通的方式可能是打开日历 ↓ 新建事件 ↓ 输入标题 ↓ 选择日期 ↓ 选择时间 ↓ 保存但我可能更希望直接告诉 AI“明天下午三点提醒我开会。”然后系统自动完成。软件应该适应我的工作方式而不是让我适应软件的工作方式。这个项目会怎么样发展我不会提前规定必须要怎么发展因为我自己也不知道以后需要什么。所以我更倾向采用一种非常简单方式发现问题 ↓ 产生需求 ↓ 设计功能 ↓ 开发 ↓ 自己使用 ↓ 发现问题 ↓ 继续改进所以这个项目可能会不断增加新的模块。而且不会局限在几种技术栈比如说只有Java后端、Vue前端我作为全栈后续如果我需要我可以随时弄其他技术栈给这个项目服务比如说Flutter跨平台、React前端、Uniapp、Go语言、Python、C/C、上位机开发、嵌入式开发、STM32、EPS32、硬件设计、PCB原理图绘制、PCB电路板绘制、3D打印等等只要能给自己服务都行。专栏后续这个专栏不会在第一篇文章之后结束。恰恰相反第一篇只是用来介绍项目的开始。如果你有兴趣你可以关注一下这个专栏后续我会把这个项目从 0 开始开发的整个过程记录下来包括但不限于项目整体架构设计技术选型数据库设计后端开发前端开发各个功能模块的实现AI Agent 的接入自动化能力第三方服务与 API 的接入Web、移动端以及其他终端硬件采购硬件设计IoT 与智能设备项目部署与运维实际使用过程中遇到的问题重构与架构调整新需求以及功能迭代这里的“功能模块”并不会提前确定。因为这个系统是为我自己服务的所以以后我需要什么就会根据实际需求去开发什么。可能下一篇文章是资产账户怎么设计也可能是如何让 AI 帮我快速记账甚至某一天可能突然变成如何让我的个人系统控制 ESP32没有固定的路线也没有所谓的最终功能列表。我会按照真实的需求一边使用、一边开发、一边记录。因此这个专栏更像是一份持续更新的个人系统开发日志。我希望通过这种方式把一个想法真正一步一步变成一个可以长期使用的系统。也希望在这个过程中把每一次技术选择、每一次踩坑、每一次重构以及每一个真正解决问题的功能记录下来。那么就从第一个功能开始。全栈自造正式开始。