下载地址
https://api.skillhub.cn/api/v1/download?slug=%40user_e5365f91%2Ffinance将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_e5365f91/finance。记录日常消费流水并生成月度支出报告。 触发词:「记一笔」「花了xx」「本月支出」「上月账单」「消费分类」「超支预警」。 支持本地 CSV 与腾讯文档两种记录模式,输出含概览、分类明细、环比、超支预警、建议的 Markdown 月报。 不处理转账、还款、借贷、投资理财。
阅读全文 (展开查看完整说明)
概述
把用户随口说的一笔花销变成结构化记录,并能随时算出一整月的账。
数据文件:~/finance/records.csv(表头 日期,金额,类别,备注)预算文件:本技能目录下的 assets/budget.yaml(用户可自行修改)
第 1 步:解析输入
从用户原话中提取四个字段:
| 字段 | 规则 |
|---|---|
| 金额 | 必须为正数,且必须来自用户明确输入,绝不推算、不编造、不用默认值 |
| 类别 | 餐饮/交通/购物/居家/医疗/娱乐/其他 七选一 |
| 日期 | 缺省为今天;支持「昨天」「前天」「10-08」「2026/10/8」 |
| 备注 | 原话中的花费用途,照抄,不润色 |
类别判定顺序:
- 用户明说了类别 → 直接用。
- 没说 → 按备注关键词推断(见
scripts/report.py的KEYWORDS:吃饭/外卖/奶茶→餐饮,打车/地铁/加油→交通,超市/网购/买衣服→购物,水电/房租/物业→居家,看病/买药→医疗,电影/KTV/游戏→娱乐)。 - 推断不出来 → 必须追问「这笔属于哪个类别?(餐饮/交通/购物/居家/医疗/娱乐/其他)」,不得擅自填「其他」。
金额校验红线:金额为 0 或负数 时拒绝,回复「请输入正数金额,记账只记录实际支出」。金额 超过 100000 时回复「金额较大,请确认是否为正常消费」并等用户确认后再写入。
第 2 步:选择记录模式
模式 A:本地文件(默认)
追加一条记录到 ~/finance/records.csv。用脚本写入,它负责处理表头、编码和当月累计回执:
python scripts/add.py --amount 38.5 --category 餐饮 --note "公司楼下麻辣烫"
python scripts/add.py --amount 120 --category 购物 --date 2026-10-07 --note "换季衣服"
python scripts/add.py --dry-run --amount 88 --category 娱乐 --note "电影" # 只预览不写入
python scripts/add.py --amount 150000 --category 购物 --note "..." --force # 大额二次确认后加 --force退出码:0 成功,2 参数/金额/日期非法,3 触发大额待确认。
模式 B:腾讯文档(仅当已配置腾讯文档连接器且用户明确要求云同步时)
- 找到用户的「记账表」(或同义的电子表格),读取其表头确认列顺序。
- 先预览再写入——把待追加的一行以表格形式展示给用户,并明确询问是否写入。用户确认前不得调用任何写接口。
- 用户确认后才追加一行,并回报写入结果。
写外部表格是唯一的“不可逆”动作,预览—确认这一步不可跳过。若连接器不可用或用户未确认,退回模式 A 并说明原因。
写入后回执
一句话回报:[已记录] 日期 ¥金额 类别 备注,并附当月累计。
第 3 步:查询与月报
用户说「本月支出」「上月账单」「消费分类」「超支预警」时用脚本统计,不要凭记忆心算:
python scripts/report.py # 默认本月
python scripts/report.py --month 2026-09 # 指定月份 YYYY-MM
python scripts/report.py --month 2026-09 --output ~/finance/report-2026-09.md脚本自动完成:总支出、笔数、日均(当月按已过天数,历史月按自然天数)、各分类金额与占比文本柱状图、环比上月百分比与变动最大的三项、超支预警(读取 assets/budget.yaml,超支标红,用量 ≥80% 提示接近上限)。
把脚本输出的 Markdown 直接呈现给用户,并按需要在末尾补一句针对性点评。不要自己重算或改数字。
若 assets/budget.yaml 不存在或无预算,脚本会跳过预警——此时提示用户可在预算文件里填预算,不要编造预算数字。
边界
- 不记录转账、还款、借贷、发工资、投资理财等非消费行为。遇到这类需求说清本技能只管日常消费,不要记进账本。
- 金额只能来自用户输入,不推算、不估计、不补全。用户没说金额就问金额。
- 负数或零金额拒绝。
- 金额 > 100000 提示确认。
- 写外部表格(腾讯文档)前必须预览并经用户确认。
- 月报数字以 CSV 实际记录为准,坏行的处理已在脚本中标注,不外推缺失数据。