MoneyMind——个人理财AI助手
MoneyMind是一款基于人工智能的现代财务助手,旨在通过自然语言处理费用、预算、订阅、货币兑换和实时财务智能。
此后端提供整个 AI+工具+数据+API集成 为MoneyMind提供动力的层。
______________________________________________________________________
概述
MoneyMind将一个简单的聊天界面变成了一个强大的金融引擎。用户可以问:
- “将1200泰铢转换为美元”
- “按类别跟踪本月的支出”
- “以499泰铢的价格添加Netflix订阅”
- “给我看看特斯拉目前的股价”
- “这周我最大的开销是什么?”
后端自动处理一切:
- 理解意图
- 查询知识图谱
- 在沙盒中执行工具
- 获取外部API数据
- 为UI生成结构化JSON和图表数据
______________________________________________________________________
建筑
MoneyMind建立在 干净的架构+LangGraph编排 采用混合工具执行模型。
高水位流量
User → Chat Message
↓
Intent & Entities Extraction
↓
Neo4j → Maps Intent → Required Tool
↓
sandbox-mcp → Secure Tool Execution
↓
External APIs (ExchangeRateAPI, AlphaVantage)
↓
Response formatting (JSON + chart metadata)
↓
Returned to frontend UI一切都是事件驱动的,专为实时视觉更新而设计。
→ “I spent 3,200 baht on street food in Bangkok today”
→ AI creates expense, updates monthly chart in chat + sidebar widget turns red
→ “Show me my spending by category this month as a pie chart”
→ AI instantly injects a live Recharts pie chart into the chat stream
→ “Add Netflix 499 ฿ every 7th of the month”
→ New subscription appears in sidebar + reminder card + chart updates
→ “What bills are due in the next 10 days?”
→ AI replies with a beautiful table + highlights upcoming bills in sidebar
→ “Can I afford a 150,000 ฿ MacBook if I buy it in 3 months?”
→ AI runs forecast from your income/expenses → shows projection line chart + yes/no with confidence______________________________________________________________________
🔥 核心功能
1.自然语言财务控制
用户通过聊天控制所有财务操作:
- 创建支出
- 列出费用
- 添加订阅
- 跟踪账单
- 检查贷款
- 预测每月支出
- 转换货币
- 获取实时股票价格
没有按钮。 没有菜单。 只是聊天。
______________________________________________________________________
2.知识图推理(Neo4j)
Neo4j充当系统的“大脑”。
它存储:
- 意图 (货币转换、创建费用、获取库存价格等)
- 工具 (支出工具、交换工具、库存工具、预测工具)
- API节点 (AlphaVantage,汇率API)
- 关系 (意图→ tool → API)
这允许系统:
- 自动选择正确的工具
- 智能链工具
- 计划多步骤行动
______________________________________________________________________
3.沙盒mcp内的工具执行
MoneyMind使用:
👉
每个工具都在一个 完全隔离的环境:
- 无法直接访问文件系统
- 除非允许,否则没有输出网络
- 没有Python代码注入风险
- 每个请求的沙盒执行
这非常适合处理与财务相关的操作。
______________________________________________________________________
4.实时外部数据集成
MoneyMind使用两个主要的API:
A.汇率-API
https://www.exchangerate-api.com/docs/overview
- 货币兑换
- 历史汇率
- 多币种计算
B.AlphaVantage股票API
https://www.alphavantage.co/documentation/
- 实时股票价格
- 历史时间序列数据
- 技术指标
- 加密货币数据
______________________________________________________________________
5.基于LangGraph的Agent
后端包括一个完整的代理编排层:
- 意图解析
- 国家管理
- 持久线程
- 刀具布线
- 多回合推理
这使得AI表现得像一个有记忆的个人财务经理。
______________________________________________________________________
6.清洁架构(模块化、可扩展)
backend/
src/
domain/ # Entities (Expense, Subscription, Bill, CurrencyResult)
application/ # Use cases, services, orchestrators
infrastructure/ # APIs (ExchangeRate, AlphaVantage), Neo4j, tool adapters
interfaces/ # FastAPI routes + WebSocket endpoint没有组件知道UI——后端是完全隔离的。
______________________________________________________________________
🔩 使用的技术
后端
- Python 3.12
- 快速API
- LangGraph
- Pydantic v2
基础设施
- Neo4j
- 码头工人
- Redis(缓存/实时可选)
API集成
- 汇率API
- AlphaVantage
沙盒执行
- 沙盒mcp
______________________________________________________________________
🛠️ 主要后端组件
1.意图解析器
提取用户想要的内容:
“convert 100 USD to EUR” → intent: currency_conversion
“add expense 300 dinner” → intent: create_expense
“price of AAPL today” → intent: stock_price______________________________________________________________________
2.工具注册表
工具是用元数据定义的:
- 名字
- 描述
- 预期投入
- Neo4j关系
示例:
currency_conversion_toolstock_price_toolcreate_expense_toollist_expenses_toolforecast_tool
______________________________________________________________________
3.Neo4j路由器
使用图形查询选择正确的工具:
MATCH (i:Intention {name:"currency_conversion"})-[:USES]->(t:Tool)
RETURN t______________________________________________________________________
4.沙盒执行器
通过沙盒mcp执行工具:
response = sandbox.run(tool_name, args)这将用户逻辑与系统逻辑隔离开来。
______________________________________________________________________
5.外部API客户端
- 汇率客户端
- AlphaVantageClient
每个包装都便于模仿和扩展。
______________________________________________________________________
6.输出格式化程序
退货:
- JSON
- 表格
- 图表元数据(折线图、饼图、条形图)
示例响应:
{
"type": "chart",
"chart": {
"kind": "line",
"data": {
"labels": ["2024-01","2024-02"],
"values": [1200,1400]
}
}
}______________________________________________________________________
🚀 入门指南
1.克隆存储库
git clone https://github.com/yourname/moneymind-backend
cd moneymind-backend2.设置环境
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt3.设置环境变量
.env 例子:
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=yourpassword
EXCHANGE_RATE_API_KEY=xxxxx
ALPHAVANTAGE_API_KEY=xxxxx
SANDBOX_URL=http://localhost:80014.运行Neo4j
docker run -p 7474:7474 -p 7687:7687 neo4j5.运行沙盒
docker compose up sandbox6.启动FastAPI
uvicorn src.interfaces.api:app --reload______________________________________________________________________
🧱 路线图
- 费用预测(基于机器学习)
- 从交易中检测订阅
- 库存观察名单
- 带图表的财务摘要
- 通知+电子邮件报告
