← Back to Skills Marketplace
tsag1

个人记账

by TSAG1 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ pending
47
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install simple-ledger
Description
A natural language personal finance tool for income/expense tracking, budget management, financial goals, and investment portfolio monitoring. Triggers on ph...
README (SKILL.md)

概述

面向普通人的自然语言记账工具。用户只需说"今天吃饭花了50块",即可自动生成 CSV 格式账本条目。

原创 CSV 格式。无需安装数据库,一个 CSV 文件搞定一切。

账本格式(CSV)

本 Skill 使用完全原创的 CSV 格式,简单直观。

# 日期,类型,金额,分类,描述,账户
余额,微信钱包,1000.00
余额,支付宝,2000.00
余额,银行卡,50000.00
余额,现金,500.00
2026-05-21,支出,50.00,餐饮,午餐,微信钱包
2026-05-22,收入,8000.00,工资,5月工资,银行卡
2026-05-23,支出,299.00,购物,外套,支付宝

格式规则:

  • 6 个字段:日期,类型,金额,分类,描述,账户
  • 类型只能是 收入支出
  • 金额填正数(系统通过类型字段判断方向)
  • 账户用扁平中文名,无需层级路径
  • 初始余额用 余额,账户,金额 格式

默认位置

~/.openclaw/workspace/data/ledger/default.csv

触发条件

当用户提到以下意图时激活本 Skill:

  • 记一笔账("花了XX"、"买了XX"、"收入XX"、"工资到账")
  • 查询消费("这个月花了多少"、"上个月餐饮多少钱"、"查账")
  • 账户管理("我的余额"、"银行卡还有多少")
  • 月度报告("月度报告"、"这个月花销总结"、"消费分析")
  • 投资操作("买入XX股"、"卖了XX"、"查持仓"、"投资收益")
  • 预算管理("设定预算"、"预算多少"、"超支了吗"、"生成预算模板")

核心能力

1. 📝 自然语言记账

输入示例:

  • "今天中午吃饭花了50块"
  • "昨天打车花了23.5"
  • "工资到账8000"
  • "充话费30"
  • "买了一件外套299,用支付宝付的"
  • "给小王转了200"

处理流程:

  1. 使用 LLM 从用户输入中提取:日期、金额、分类、描述、账户
  2. 调用 scripts/parse_entry.py 格式化为标准 CSV 行
  3. 追加写入账本 CSV 文件

AI 解析规则:

字段 说明 默认值
date 日期("今天"、"昨天"、"上周三"等) 当天
amount 金额(支持小数) 必填
category 消费分类 自动推断
description 摘要描述 提取关键信息
account 支付账户 默认微信钱包

分类自动映射规则:

关键词 分类
吃饭、午餐、晚餐、外卖、火锅、奶茶、咖啡、零食、水果、饮料 餐饮
打车、地铁、公交、加油、停车、高铁、机票 交通
租房、水电、物业、网费、燃气 居住
电影、游戏、会员、视频、音乐、KTV 娱乐
衣服、鞋子、包包、化妆品、日用品 购物
话费、充值、流量 通讯
药、医院、体检 医疗
课程、书、考试 教育
红包、礼物、请客 社交
工资、薪资、奖金 工资
理财、利息、分红 理财收益

账户自动映射规则:

关键词 账户
微信、微信支付、零钱 微信钱包
支付宝、花呗 支付宝
银行卡、银行 银行卡
现金 现金
无关键词 微信钱包(默认)

2. 📊 消费查询

支持查询方式:

  • 按时间:"这个月花了多少"、"上周支出"、"2025年3月"
  • 按分类:"餐饮花了多少"、"交通费用"
  • 组合:"这个月餐饮花了多少"
  • 全部列表:"最近的账单"、"最近10笔"

处理方式: Agent 读取账本 CSV,按条件筛选并计算汇总。

输出格式:

📊 查询结果:2026年5月 餐饮支出

日期        金额      描述
2026-05-01  ¥50.00   午餐
2026-05-03  ¥128.00  火锅
2026-05-05  ¥15.00   早餐
2026-05-05  ¥45.00   午饭
─────────────────────────
合计        ¥238.00

3. 💰 账户余额管理

支持操作:

  • 查看余额:"微信钱包还有多少"、"各账户余额"
  • 设置初始余额:"微信钱包初始余额1000"
  • 调整余额:"银行卡余额修正为5000"

余额计算方式: 初始余额 + 收入合计 - 支出合计

Agent 读取账本 CSV,找到该账户的余额行和所有相关交易,自动计算当前余额。

4. 📐 预算管理

支持操作:

  • 设定预算python budget.py \x3C账本.csv> --set 餐饮 2000
  • 查看进度python budget.py \x3C账本.csv> --progress 2026-05
  • 超支预警python budget.py \x3C账本.csv> --alert 2026-05
  • 生成模板python budget.py \x3C账本.csv> --template 15000
  • 列出预算python budget.py \x3C账本.csv> --list
  • 删除预算python budget.py \x3C账本.csv> --remove 餐饮

命令参考:

# 设定预算
python budget.py ./default.csv --set 餐饮 2000

# 查看所有预算
python budget.py ./default.csv --list

# 查看执行进度
python budget.py ./default.csv --progress 2026-05

# 超支预警
python budget.py ./default.csv --alert 2026-05

# 生成预算模板(50/30/20法则,基于月收入)
python budget.py ./default.csv --template 15000

# 自定义比例模板
python budget.py ./default.csv --template 15000 --ratio 40 30 20 10

# 移除预算
python budget.py ./default.csv --remove 餐饮

预算指南: 详见 references/budget_guide.md

5. 📈 月度报告

触发方式: "月度报告"、"5月消费分析"、"这个月总结"

命令:

python generate_report.py ./default.csv --month 2026-05
python generate_report.py ./default.csv --month 2026-05 --output report.txt

报告内容:

  1. 收支概览(总收入、总支出、净结余)
  2. 分类支出排行(文字图表)
  3. 日均消费
  4. 最大单笔支出
  5. 与上月环比对比
  6. 简短消费建议

输出示例:

📈 2026年5月 月度报告

━━━ 收支概览 ━━━
收入:¥8,500.00
支出:¥4,230.50
结余:¥4,269.50

━━━ 支出分类 TOP 5 ━━━
████████████ 餐饮    ¥1,280.00  (30.3%)
██████       购物    ¥890.00    (21.0%)
████         交通    ¥620.50    (14.7%)
███          娱乐    ¥480.00    (11.3%)
██           居住    ¥450.00    (10.6%)
其他                   ¥510.00    (12.1%)

日均消费:¥201.45
最大单笔:¥299.00(购物-外套)

6. 📍 财务目标

触发方式:

  • "我要攒钱旅行"、"建一个应急基金目标"
  • "目标进度怎么样"、"旅行基金存了多少"
  • "列出我的财务目标"

命令参考:

指令 示例 脚本调用
创建目标 "建一个旅行基金目标,10000块,年底前" goal.py create "旅行基金" 10000 2026-12-31
存入金额 "给旅行基金存2000" goal.py deposit "旅行基金" 2000
查看进度 "旅行基金进度" goal.py progress "旅行基金"
列出所有 "我的财务目标" goal.py list
删除目标 "删掉旅行基金目标" goal.py delete "旅行基金"

详细指南: 参见 references/goal_guide.md

7. 📈 投资跟踪

触发方式: "买入XX股"、"卖了XX"、"查持仓"、"投资收益"

命令参考:

指令 示例 脚本调用
记录买入 "买入1000股沪深300ETF,3.5元" invest.py --buy "沪深300ETF" 510050 1000 3.50 2026-01-15
记录卖出 "卖了500股沪深300ETF,4块" invest.py --sell "沪深300ETF" 510050 500 4.00 2026-03-01
记录分红 "沪深300ETF分红了45块" invest.py --dividend "沪深300ETF" 510050 45.60 2026-02-10
设置价格 "沪深300ETF现在3.62" invest.py --price 510050 3.62
持仓概览 "看看我的持仓" invest.py --portfolio
单只收益 "沪深300ETF赚了多少" invest.py --return 510050
汇总收益 "投资总体情况" invest.py --summary
交易记录 "看看交易记录" invest.py --list

详细指南: 参见 references/invest_guide.md


首次使用初始化

当用户首次触发记账时,Agent 应:

  1. 检查账本文件是否存在
  2. 不存在则创建,写入模板头部
  3. 询问用户常用支付方式和初始余额

初始化模板:

# 日期,类型,金额,分类,描述,账户
# 个人账本 - 创建于 YYYY-MM-DD
# 格式说明见 references/ledger_format.md

# 账户初始余额
余额,微信钱包,0.00
余额,支付宝,0.00
余额,银行卡,0.00
余额,现金,0.00

# === 交易记录 ===

交互模式

单行记账(最常用)

用户: 今天中午吃了碗面花了25
Agent: 已记录 ✅
      📅 2026-05-21
      💰 ¥25.00
      📂 餐饮
      💳 微信钱包
      📝 午餐

      微信钱包余额:¥975.00

对话记账(多字段补全)

用户: 花了200块
Agent: 买的什么?

用户: 买了本书
Agent: 已记录 ✅
      📅 2026-05-21
      💰 ¥200.00
      📂 教育
      💳 微信钱包
      📝 书籍

      微信钱包余额:¥775.00

目标记账

当用户提到给某个目标存钱时,同时完成两步:

  1. 调用 goal.py deposit 更新目标进度
  2. 按常规记账流程记录这笔支出/转账

批量记账

用户: 今天花了:早餐15、打车30、午饭45
Agent: 已记录 3 笔 ✅
      1. 餐饮  ¥15.00  早餐
      2. 交通  ¥30.00  打车
      3. 餐饮  ¥45.00  午饭
      合计:¥90.00

修改/删除

  • 删除最近一笔:"删掉刚那笔"
  • 删除指定笔:"删除5月15日那笔餐饮"
  • 修改金额:"把刚才那笔改成30块"

工作流总结

用户输入
  │
  ├─ 记账意图 → 解析字段 → 生成CSV行 → 追加写入 → 确认反馈
  │
  ├─ 查询意图 → 读取CSV → 筛选过滤 → 计算汇总 → 格式化输出
  │
  ├─ 余额意图 → 读取CSV → 找余额行 → 累计收支 → 计算余额
  │
  ├─ 报告意图 → 读取CSV → 按月统计 → 分类排行 → 生成报告
  │
  ├─ 投资意图 → 写入 investments.csv / 查询持仓
  │
  ├─ 目标意图 → goals.json CRUD
  │
  └─ 预算意图 → budget.py → .budget.json

参考文档

按需加载:

  • references/ledger_format.md:账本 CSV 格式详细说明
  • references/budget_guide.md:预算管理功能指南
  • references/goal_guide.md:财务目标功能指南
  • references/invest_guide.md:投资跟踪功能指南
  • references/user_guide.md:用户操作 FAQ
  • references/financial_benchmarks.md:财务健康基准数据
  • references/education.md:财务知识科普

专业标准(Professional Standards)

免责声明

本 Skill 提供财务记录和基础分析工具,不是投资顾问服务。

可以做 不可以做
帮你记录和分析消费数据 推荐具体理财产品
对比你的支出和通用基准 保证任何投资收益
基于你的数据给出节省建议 预测市场走势
解释财务概念(复利、通胀等) 提供税务筹划方案
帮你制定储蓄计划 做资产配置方案

底线原则: 我帮你搞清楚「钱去哪了」,不帮你决定「钱该去哪」。

语气风格(Tone and Approach)

场景 风格
记账成功 简洁确认 + 关键信息 "已记录 ✅ 餐饮 ¥35 余额 ¥965"
月度报告 数据清晰 + 一两句建议
用户花了太多 委婉提醒,不是批评
用户攒到了钱 真诚鼓励
用户问投资建议 给教育内容 + 免责

语气忌讳: 说教口吻、用数字羞辱、过度谨慎、假装亲密。

约束

  1. 只写,不删。 删除操作需用户明确要求。
  2. 金额必填。 无法确认金额时,追问。
  3. 分类可猜。 有把握时自动分类,不确定时给选项。
  4. 日期可省。 默认今天,支持相对日期。
  5. 账户可省。 默认微信钱包。
  6. 文件即数据库。 所有数据存储在 CSV 文件中,用户随时可用任何编辑器查看和修改。
  7. 零外部依赖。 纯 Python 标准库,无需 pip install。
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install simple-ledger
  3. After installation, invoke the skill by name or use /simple-ledger
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
简洁高效的个人记账工具,支持自然语言记账、CSV存储、查询统计、月度报告、投资持仓,83条测试全绿
Metadata
Slug simple-ledger
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 个人记账?

A natural language personal finance tool for income/expense tracking, budget management, financial goals, and investment portfolio monitoring. Triggers on ph... It is an AI Agent Skill for Claude Code / OpenClaw, with 47 downloads so far.

How do I install 个人记账?

Run "/install simple-ledger" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 个人记账 free?

Yes, 个人记账 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 个人记账 support?

个人记账 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 个人记账?

It is built and maintained by TSAG1 (@tsag1); the current version is v1.0.0.

💬 Comments