|
|
1 mese fa | |
|---|---|---|
| .. | ||
| data | 5 giorni fa | |
| outputs | 5 giorni fa | |
| src | 5 giorni fa | |
| tests | 5 giorni fa | |
| .env.example | 5 giorni fa | |
| .gitignore | 5 giorni fa | |
| README.md | 5 giorni fa | |
| main.py | 5 giorni fa | |
| requirements.txt | 5 giorni fa | |
将账单转化为可理解的消费镜像,并通过多智能体对话帮助用户制定下一步行动。
MoneyMirrorAgent 面向日常个人账单场景,接收用户提供的 CSV 交易记录,完成账单标准化、消费分类、行为分析、目标规划和游戏化行动编排。
项目将确定性计算与大模型能力分开:Python 工具负责金额、比例、趋势、异常、预算、目标投影和任务进度;Hello-Agents 负责调用智能体进行分类补全、行为解释、消费人格表达、分步引导、Money Quest 编排、月度 Reflection 和 Markdown 月报生成。
适用场景包括:
ToolRegistry、ReActAgent、PlanSolveAgent、ReflectionAgent、SimpleAgent、ContextBuilderCSV 账单
↓
MoneyMirrorCoordinator
├── TransactionAgent ReActAgent:分类、规则与 Memory
├── PatternAgent PlanSolveAgent:统计、异常与订阅分析
├── PersonaAgent 特征提取、原型评分与 LLM 表达
├── GoalAgent 目标投影与预算规划
├── QuestAgent 真实信号与 LLM 任务编排
├── ReflectionAgent 计划、实际与下一周期策略
└── ConversationAgent 分步引导与 Markdown 月报
项目中的确定性工具包括:
CSVImportToolTransactionCategoryToolStatisticsToolAnomalyDetectionToolBudgetCalculatorToolGoalProjectionToolSubscriptionDetectorToolQuestProgressToolcd Co-creation-projects/CoralGarden52-MoneyMirrorAgent
python -m venv .venv
source .venv/bin/activate # Windows: .venv\\Scripts\\activate
pip install -r requirements.txt
复制配置文件并填写模型服务信息:
cp .env.example .env
.env 中的主要配置项如下:
LLM_BASE_URL=https://api.deepseek.com
LLM_MODEL_ID=deepseek-v4-flash
LLM_API_KEY=your_api_key_here
LLM_MAX_TOKENS=16384
LLM_CONTEXT_MAX_TOKENS=100000
LLM_TEMPERATURE=0.2
使用 --csv 指定账单路径,项目不会依赖固定文件名,用户可以替换为自己的 CSV 文件:
# 完整分析:导入、分类、统计、目标、预算、Quest、Reflection 和 Markdown 月报
python main.py --csv data/sample_01.csv --reset
# 使用自己的账单
python main.py --csv /path/to/your_transactions.csv --reset
# 进入 CLI 分步对话
python main.py --interactive --csv data/sample_01.csv
运行结果写入 outputs/:
outputs/<输入文件名>_money_mirror_report.json
outputs/<输入文件名>_money_mirror_report.md
outputs/moneymirror.db
JSON 文件保存已验证的事实快照,Markdown 文件由大模型根据账单事实、Memory 和用户对话生成。
日期,商户,金额,收支,备注
2026-07-05 09:00,公司工资,7600,收入,七月工资到账
2026-07-06 22:42,美团外卖-火锅,76,支出,深夜外卖
2026-07-07 08:20,地铁,6,支出,通勤
程序也支持以下常见字段名:date、日期、交易时间、merchant、商户、amount、金额、direction、收支、type,以及独立的收入和支出列。
python main.py --csv data/sample_01.csv --reset \
--goal "三个月旅行基金|travel|10000|2800|2026-10-31"
python main.py --csv /path/to/your_transactions.csv \
--correct "星巴克:餐饮"
启动终端分步对话:
python main.py --interactive --csv data/sample_01.csv
也可以替换为自己的账单路径:
python main.py --interactive --csv /path/to/your_transactions.csv
MoneyMirrorAgent> 这份账单中观察到深夜餐饮支出较集中。
MoneyMirrorAgent> 你想先从减少深夜外卖、控制周末消费,还是检查连续扣费开始?
你> 我想先控制深夜外卖
MoneyMirrorAgent> 我们先设定一个本周可完成的小目标。最容易触发深夜点单的时间通常是什么时候?
你> 晚上加班以后
你> /done
输入 /done、/quit 或 退出 后,系统会综合本轮对话和已验证账单数据生成 Markdown 月报。输入 /quests 可以查看当前任务,输入 /complete <quest_id> 可以记录人工确认的任务完成情况。
当前版本已完成以下本地验证:
28 passedpython -m compileall -q src main.py tests 通过欢迎通过 Issue 或 Pull Request 提出改进建议。提交代码时请:
.env、API Key、SQLite 数据库和运行生成文件;本项目采用MIT许可证。
感谢 Datawhale 社区和 Hello-Agents 项目提供的教程、框架与共创平台。