利用Claude code进行简单的项目开发
本次我创建的项目是AI智能个人记账系统
以下是我给Claude code的提示词
# 项目开发总需求:AI智能个人记账系统 全栈代码开发## 一、项目整体定位这是一个个人记账Web系统,基于Python+Streamlit实现网页可视化,SQLite做本地持久化存储,在基础收支记账功能之上集成多项AI智能能力,区别于老旧传统记账管理系统,所有代码结构模块化、注释完整、方便后期写入课程设计案例文档,代码可直接一键运行。 禁止只做简单增删改查,必须落地AI核心功能作为项目亮点。## 二、技术栈硬性规定1. 主体框架:Streamlit(网页页面,快速可视化,不用原生HTML/Vue)2. 编程语言:Python3. 数据库:SQLite3(文件型数据库,无需安装MySQL,自动建表)4. 数据可视化:Plotly(饼图、折线图、柱状预算进度图)5. AI依赖库: - paddleocr:小票图片OCR识别记账 - re正则+大模型Prompt文本解析:自然语言一句话记账 - jieba分词:消费文本关键词分析6. 依赖统一写入requirements.txt文件,包含全部第三方库## 三、整体功能模块拆分(分为【基础业务模块】+【AI核心特色模块】+【可视化报表模块】+【系统配置模块】,严格按模块编码)### 模块1:基础记账业务模块(必备底层功能)1. 用户管理:单用户模式(简化,无需多用户登录,聚焦个人记账)2. 收支记录操作:新增账单、修改账单、删除账单、账单条件查询3. 收支分类自定义:内置默认分类(收入:工资、兼职、红包、奖金;支出:餐饮、交通、住房、娱乐、购物、医疗),支持用户新增/删除分类4. 账单筛选:按起止日期、收支类型、消费分类、金额区间筛选账单5. 账单导出:账单数据导出为Excel文件保存到本地### 模块2:AI核心特色模块(本项目核心加分点,必须全部实现代码逻辑)1. AI自然语言一句话记账 - 用户输入自然语句(例如:昨天晚饭花了48元、3月工资到账6000元、打车花费15.5元) - 程序自动解析:收支类型、金额、消费分类、交易日期、备注信息 - **【修正】解析后必须先在页面展示预览卡片,由用户点击“确认入库”按钮后才写入数据库**,解析失败给出明确文字提示(如“未识别到金额,请重新输入”)2. 图片小票OCR智能记账 - 支持上传超市小票、外卖订单截图 - 通过PaddleOCR识别图片文字,正则提取总金额、商户名称 - 根据商户名称自动匹配消费分类(如美团、肯德基→餐饮,加油站→交通) - **【修正】若商户名称无法匹配任何分类,默认归入“餐饮”并提醒用户后续可手动编辑修改** - 自动生成账单记录(同样采用解析预览后用户确认的模式)3. AI消费行为智能诊断分析 - **【修正】限定仅读取近30天内**的历史账单数据,统计月度各分类收支占比 - 自动识别非理性高额消费(单笔超过该类平均消费3倍)、高频同类消费(如频繁奶茶充值、游戏充值) - 文字输出消费优化建议、储蓄建议(格式化文本,支持一键复制)4. 月度预算AI预警 - **【修正】仅针对支出分类(type_flag=0)** 设置月度预算金额 - 实时计算当前月度已消费金额、预算剩余额度 - 剩余额度不足20%黄色提醒,超支红色弹窗警告### 模块3:数据可视化报表模块1. 月度收支总趋势折线图(展示每日收支变化)2. 支出分类占比环形饼图3. 各分类预算使用进度横向柱状图(仅展示已设置预算的支出分类)4. 支持切换月份查看报表数据(默认展示当前月份)### 模块4:系统配置模块1. 各收支分类月度预算设置界面2. 本地账单数据备份(导出db文件)3. **【修正】一键清空测试数据(仅清空账单明细表和预算表数据,保留分类表且保留自增ID初始值)**## 四、数据库表结构设计(必须自动初始化,首次运行自动创建数据表,禁止手动建库)表1:bill_type 收支分类表 字段:id(主键自增)、type_name(分类名称)、type_flag(0=支出1=收入)、create_time 表2:bill 账单明细表 字段:id(主键自增)、money(金额,浮点型)、type_id(关联分类ID)、trade_date(交易日期)、remark(备注)、source(账单来源:手动录入/AI文字/OCR小票)、create_time 表3:budget 预算表 字段:id、type_id、month(年月,格式2026-08)、budget_money(月度预算金额)**【修正】强制添加联合唯一约束:UNIQUE(type_id, month),确保同一分类不同月份可独立存储预算**## 五、项目目录结构规范,严格按照以下文件夹生成代码ai_bill_system/ ├── main.py# 程序入口启动文件,streamlit运行主文件├── db_init.py# 数据库初始化脚本,创建三张数据表├── ai_parser.py# AI能力工具类:文本解析、OCR识别、消费分析├── db_operate.py# 数据库增删改查工具封装├── utils.py# 通用工具:日期处理、文件导出、格式转换├── requirements.txt# 全部依赖包清单├── bills.db# SQLite数据库文件(运行自动生成)└── temp/# 临时存储上传小票图片文件夹## 六、代码编写强制要求1. 所有函数添加详细中文注释,类、核心逻辑写功能说明,方便课程案例文档摘抄;2. 界面使用Streamlit标签页(tabs)分割功能,布局清晰: 标签1:手动记账录入 标签2:AI智能记账(文字记账+小票OCR上传) 标签3:账单查询与管理 标签4:可视化消费报表 标签5:预算设置与系统配置3. 异常捕获:金额负数、空输入、图片损坏、OCR识别失败全部做异常处理,友好提示;4. 界面配色区分:收入绿色、支出红色、预算警告红色高亮;5. 不要做复杂权限、多用户、登录功能,聚焦个人单机使用,降低冗余代码;6. **【新增】数据库连接和PaddleOCR模型加载必须使用Streamlit的 @st.cache_resource 装饰器进行全局缓存,防止页面重渲染时重复加载模型导致卡顿;**7. **【新增】所有增删改操作完成后,必须使用 st.rerun()或 st.toast 提示,确保页面数据即时刷新。**## 七、需要交付的全部内容1. 按照目录结构拆分的所有.py源代码;2. requirements.txt完整依赖;3. 项目启动运行命令;4. 部署&使用说明文档;5. 核心功能逻辑说明(用于AI Coding项目案例报告撰写)## 八、额外优化需求1. 对于PaddleOCR,初始化时设置use_gpu=False,lang='ch',show_log=False 降低硬件占用,同时添加模型下载异常捕获,若网络原因下载失败给出中文提示;2. 自然语言解析增加模糊日期识别(今天、昨天、上周、月初自动转为标准日期 YYYY-MM-DD);3. 消费AI总结生成一段格式化文本,可以直接复制保存。新建一个文件夹把他拖到VScode里面,在里面用Claude code开发项目,提示词输入后一般来讲就是无脑yes
在终端输入streamlit run main.py指令
以上是我用Claude code 做出来的AI智能个人记账系统
这个项目所有的源代码全部在 https://github.com/shuyingxiaoxiao/ai-bill-system