财务技能:个人支出追踪与分析 - Openclaw Skills
作者:互联网
2026-03-24
什么是 财务技能?
财务技能作为 AI 代理的持久记忆层,使其能够精确处理个人财务任务。它通过提供解析 PDF 或图像账单并将其整理到结构化 JSON 数据库中的工具,弥补了原始财务文档与可行性见解之间的鸿沟。
该技能确保您的代理能够记住过去的支出、识别模式,并帮助您在无需手动输入数据的情况下保持预算。通过利用 Openclaw Skills 进行财务管理,开发人员可以构建直接在对话界面中提供高实用性个人会计服务的代理。
下载入口:https://github.com/openclaw/skills/tree/main/skills/safaiyeh/finance-skill
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install finance-skill
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 finance-skill。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
财务技能 应用场景
- 上传信用卡或银彳对账单以自动记录交易。
- 查询特定类别(如食品、交通或账单)的支出历史。
- 计算特定月份或日期范围的总支出。
- 通过自然语言命令添加手动的一次性交易。
- 将提取的数据与对账单总额进行验证,以确保会计准确性。
- 用户与代理分享财务对账单(PDF 或图像)。
- 代理利用 pypdf 从文档中提取全文,绕过许多即时通讯平台中的预览限制。
- 提取的数据被转换为包含商户名称、金额和类别的结构化 JSON 格式。
- 代理在保存前根据对账单总额验证支出总和,以确保数据完整性。
- 交易被追加到位于标准 Openclaw Skills 工作区目录中的持久本地存储中。
- 用户随后可以使用自然语言查询代理,使用 jq 过滤、聚合和可视化其财务数据。
财务技能 配置指南
要启用此技能的全部功能,请安装用于 PDF 解析和 JSON 操作的必要依赖项:
pip3 install pypdf
# 对于 Linux 用户
sudo apt install jq
# 对于 macOS 用户
brew install jq
确保工作区目录存在以进行持久存储:
mkdir -p ~/.openclaw/workspace/finance/statements/
财务技能 数据架构与分类体系
交易组织在 ~/.openclaw/workspace/finance/transactions.json 中。该模式旨在方便查询并与其他 Openclaw Skills 集成。
| 字段 | 类型 | 描述 |
|---|---|---|
| id | UUID | 交易的唯一标识符 |
| date | 字符串 | YYYY-MM-DD 格式的交易日期 |
| merchant | 字符串 | 供应商或服务提供商的名称 |
| amount | 浮点数 | 支出为负值,收入/退款为正值 |
| category | 字符串 | 分类(例如:食品、交通、购物、账单) |
| source | 字符串 | 原始源账单的文件名 |
| added | ISO8601 | 记录创建时的时间戳 |
Finance Skill
Personal finance memory layer. Parse statements, store transactions, query spending.
Data Location
- Transactions:
~/.openclaw/workspace/finance/transactions.json - Raw statements:
~/.openclaw/workspace/finance/statements/
Storage convention: OpenClaw workspace (~/.openclaw/workspace/) is the standard location for persistent user data. This matches where session-memory and other hooks store agent data. Credentials/config would go in ~/.config/finance/ if needed.
Tools
1. Parse Statement
When user shares a statement (image or PDF):
?? IMPORTANT: T@elegrimm/channel previews truncate PDFs! Always extract with pypdf first to get ALL pages:
python3 -c "
import pypdf
reader = pypdf.PdfReader('/path/to/statement.pdf')
for i, page in enumerate(reader.pages):
print(f'=== PAGE {i+1} ===')
print(page.extract_text())
"
Then parse the full text output:
- Extract transactions from ALL pages
- Return JSON array:
[{date, merchant, amount, category}, ...] - Run
scripts/add-transactions.shto append to store - Verify total matches statement (sum of expenses should equal "Total purchases")
Extraction format:
Each transaction: {"date": "YYYY-MM-DD", "merchant": "name", "amount": -XX.XX, "category": "food|transport|shopping|bills|entertainment|health|travel|other"}
Negative = expense, positive = income/refund.
Categories:
- food: restaurants, groceries, coffee, fast food
- transport: Waymo, Uber, gas, public transit
- shopping: retail, online purchases
- bills: utilities, subscriptions
- entertainment: movies, concerts, theme parks
- health: pharmacy, doctors
- travel: hotels, flights
2. Query Transactions
User asks about spending → read transactions.json → filter/aggregate → answer
Example queries:
- "How much did I spend last month?" → sum all negative amounts in date range
- "What did I spend on food?" → filter by category
- "Show my biggest expenses" → sort by amount
3. Add Manual Transaction
User says "I spent $X at Y" → append to transactions.json
File Format
{
"transactions": [
{
"id": "uuid",
"date": "2026-02-01",
"merchant": "Whole Foods",
"amount": -87.32,
"category": "food",
"source": "statement-2026-01.pdf",
"added": "2026-02-09T19:48:00Z"
}
],
"accounts": [
{
"id": "uuid",
"name": "Coinbase Card",
"type": "credit",
"lastUpdated": "2026-02-09T19:48:00Z"
}
]
}
Usage Flow
- User: shares statement image
- Agent: extracts transactions via vision, confirms count
- Agent: runs add script to store
- User: "how much did I spend on food?"
- Agent: reads store, filters, answers
Dependencies
jq— for JSON transaction storage and querying (apt install jq/brew install jq)pypdf— for full PDF text extraction (pip3 install pypdf)
Lessons Learned
- T@elegrimm truncates PDF previews — always use pypdf to get all pages
- Verify totals — sum extracted expenses and compare to statement total before importing
- Coinbase Card — no Plaid support, statement upload only
Future: Plaid Integration
- Add
finance_connecttool for Plaid OAuth flow - Auto-sync transactions from connected banks
- Same query interface, different data source
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
信号管道:自动化营销情报工具 - Openclaw Skills
技能收益追踪器:监控 Openclaw 技能并实现变现
AI 合规准备就绪度:评估与治理工具 - Openclaw Skills
FOSMVVM ServerRequest 测试生成器:自动化 API 测试 - Openclaw Skills
酒店搜索器:AI 赋能的住宿与位置情报 - Openclaw Skills
Dub 链接 API:程序化链接管理 - Openclaw Skills
IntercomSwap:P2P BTC 与 USDT 跨链兑换 - Openclaw Skills
spotplay:macOS 原生 Spotify 播放控制 - Openclaw Skills
DeepSeek OCR:AI驱动的图像文本识别 - Openclaw Skills
Web Navigator:自动化网页研究与浏览 - Openclaw Skills
AI精选
