乐于分享
好东西不私藏

两天,从零做出一个只属于你的AI记账助手

两天,从零做出一个只属于你的AI记账助手

🌟 点个关注不迷路,「瓴易」带你探索 AI 工具 de 无限可能!

我有一个坏习惯:每次花了钱都想着「等会儿记」,然后月底翻账单一脸懵——好几笔消费完全想不起来花在哪了。

市面上的记账App我试过不少,但它们都有一个共同问题:需要我主动打开App,走完一套操作流程。打开→点记账→选分类→填金额→写备注→保存,至少5步。对于日常几十块的小额消费,这个成本太高了。

作为一个每天都在跟AI Agent打交道的人,我想到一个方案:既然我每天都在跟AI聊天,为什么不直接让AI帮我记账?

📎 关注「瓴易」公众号,回复「记账设计」,获取完整的需求分析文档和产品设计稿(DESIGN_FINAL.md)

说干就干。我决定开发一个记账MCP服务,让AI Agent具备记账能力。但开发之前,我需要先把需求想清楚——这次,我让AI来帮我做需求分析。

MCP是什么?为什么选它?

先解释一下MCP(Model Context Protocol)。这是Anthropic提出的一个标准协议,简单说就是给AI Agent装上「手」——让它不只是能聊天,还能调用外部工具、读写数据。

选MCP有几个原因:

• 标准化协议:任何支持MCP的AI Agent都能直接对接,不绑定某个具体平台
• HTTP传输:服务跑在NAS上,7×24小时在线,手机和电脑上的AI都能连
• 工具化封装:记账逻辑封装成一个个MCP工具,AI按需调用

传统记账App的流程:

打开App → 点记账 → 选分类 → 输金额 → 写备注 → 保存

有了MCP后,有两种方式:

方式一:文字记账

对AI说:"午饭35" → AI调用MCP工具 → 自动记入「餐饮」分类 → 完成

方式二:截图记账

把小票截图发给AI → 自动识别金额、商家、日期 → 记入对应分类 → 小票存档

从5步变成1步,甚至0步——截图就完事了。记账从「任务」变成了「聊天中顺便完成的事」。

用AI做需求分析:superpowers技能

需求分析这件事,听起来简单,但要做好其实不容易。要考虑功能边界、用户场景、数据模型、异常处理……

我用OpenCode启动了superpowers技能,跟AI来了一场头脑风暴。

我给它描述了我的核心需求:

我要做一个家庭记账MCP服务,部署在NAS上,全家人的AI Agent都能对接,数据互相隔离。

AI没有急着给方案,而是先反问了我几个问题:

  1. 1. 谁来用? → 一家人,每个人用自己的AI Agent
  2. 2. 记什么? → 日常收支,需要分类管理
  3. 3. 要不要小票? → 要,支持图片附件
  4. 4. 数据安全? → 全部本地存储,不出家门

这些问题帮我理清了边界。然后AI开始系统性地拆解功能模块。

功能拆解:从用户视角出发

AI帮我梳理出四大功能模块:

1. 用户管理

  • • 家庭成员注册,每人一个独立账户
  • • 数据严格隔离,互相看不到对方的账目
  • • 用户ID支持脱敏显示(隐私保护)

2. 记账核心

  • • 支出和收入两种记录类型
  • • 自动识别分类(「午饭35」→ 餐饮类支出)
  • • 支持备注和自定义日期(补记过去的消费)
  • • 支持编辑和删除

3. 分类系统

  • • 系统预设15个支出分类 + 7个收入分类
  • • 支持自定义分类(比如「快递」「宠物医疗」)
  • • 分类可以停用/启用,但系统默认分类不可删除

4. 统计查询

  • • 按月/按年/自定义时间范围的收支汇总
  • • 按分类的支出排行
  • • 关键词搜索记录

这四个模块覆盖了日常记账的核心需求,不多不少。

数据模型:AI给出的设计方案

功能确定后,AI自动生成了数据模型设计。核心是四张表:

User(用户):存储家庭成员信息,UUID作为唯一标识

Record(记录):每条记账记录,关联用户和分类,包含金额、日期、备注

Category(分类):支持系统默认(所有人共享)和用户自定义两种类型

Image(图片):账单小票等附件,关联到具体记录

AI特别考虑了几个边界情况:

  • • 分类删除保护:如果某个分类下还有记录,禁止删除(外键RESTRICT约束)
  • • 图片级联删除:删除记录时自动清理关联的图片文件
  • • 金额精度:使用Decimal(12,2)存储,避免浮点数精度问题

部署架构

对于部署方案,AI根据我的使用场景(家庭NAS)给出了推荐:

[手机/电脑上的AI Agent] --HTTP--> [NAS: MCP Server + 数据库 + 图片存储]

选HTTP传输而不是stdio的原因:

  • • NAS 7×24运行,服务始终可用,不需要每次冷启动
  • • 天然支持多设备同时连接
  • • 数据库和图片在NAS本地,读写高效

安全设计

家庭财务数据,安全是底线。AI在需求分析阶段就提出了安全要求:

  • • 数据隔离:所有查询强制带user_id,防止越权
  • • UUID v4:主键用随机UUID,不可预测
  • • 输入校验:所有UUID参数格式校验,防止数据库异常
  • • 图片安全:MIME白名单(jpg/png/webp),10MB限制,UUID重命名存储
  • • 本地部署:数据不出家门

头脑风暴的产出

一轮头脑风暴下来,我拿到了:

  • • ✅ 清晰的功能边界(四大模块)
  • • ✅ 完整的数据模型(四张表 + 关系定义)
  • • ✅ 部署架构方案(NAS + HTTP)
  • • ✅ 安全设计要求(数据隔离 + 输入校验)
  • • ✅ 异常处理策略(分类删除保护、级联清理)

整个过程大概一个小时。如果是传统方式,光是写需求文档+画ER图+讨论架构,至少要半天。更关键的是——不需要设计花里胡哨的UI。传统记账App一半以上的开发成本都花在前端界面上,而用AI Agent作为交互入口,用户界面就是聊天框,直接省掉了。

这就是用AI做需求分析的优势:它不会漏掉边界条件,会主动考虑安全和异常场景,而且讨论效率极高——你只需要回答问题,它负责系统化地组织输出。

有了清晰的设计方案,下一步就是编码实现了。下一篇文章我会分享:如何用两个大模型协作开发——GLM-5.1写代码,MiniMax-M2.7做代码审查,一个负责「快」,一个负责「稳」。


📚 往期推荐

未来软件的形态:当 Agent 成为入口

你家有个”数字管家”吗?聊聊NAS这个神器

OpenClaw 从聊天工具到AI Agent平台:5个核心变化

OpenClaw 实用 Skill 推荐:让你的 AI 助手能力翻倍

OpenClaw 免费助手/工具(1):SearXNG,一个属于你自己的搜索引擎

觉得有用?点个让更多人看到 👇