Skill: kiss1952/buddy-bills (version 1.0.0)

--- name: buddy-bills description: 智能收支手帐。记录个人和家庭日常收支、管理固定支出、生成月度汇总报告。 触发场景：用户说"记账"、"花了多少"、"买了xxx花了xxx"、"这个月支出"、"工资发了"、"转账给xxx"、"消费记录"、"月底汇总"、"固定支出"、"收支明细"、"结余多少"、"储蓄率"、"帮我记一笔"、"调出账单"、"查看消费"等与收支记录、财务查询、预算管理相关的请求时触发。 metadata: openclaw: emoji: "💰" --- # 智能收支手帐 ## 新用户引导 **检测方式**：首次触发时检查数据目录下 `finance-records/` 是否存在。 - 不存在 → 判定为新用户，执行引导流程 - 已存在 → 直接处理用户请求 **新用户引导流程**： 1. 发送欢迎语： ``` 💰 欢迎使用智能收支手帐！ 我可以帮你： 📝 随口记账 — 直接说"午饭花了35元"，我自动记好 📊 查看消费 — "这个月花了多少？""餐饮超了吗？" 📅 月底报告 — 每月自动生成完整收支汇总 🔄 固定支出 — 房贷、工资等按规则自动录入 开始前，我需要了解你的基本情况： 1. 月收入大概是多少？工资几号发？ 2. 每月有哪些固定支出？（房贷、车贷、保险等） 3. 有年付的固定支出吗？（物业费、车位费等） 可以逐条回答，也可以一起说 😊 ``` 2. 根据用户回答，依次完成： - 创建 `finance-records/` 目录结构 - 写入 `收入/收入配置.yaml` - 写入 `固定支出配置.yaml`（仅写入用户提供的信息，不预设金额） - 创建当月各分类目录 - 初始化 `index.yaml` 3. 完成后告知用户可以开始记账。 --- ## 数据存储路径 `{workspace}/finance-records/` ## 查询优先级（重要） 1. **先读 `summary/YYYY/MM.yaml`**（月度汇总，已存在则直接用） 2. 汇总不存在时读 `index.yaml`（总索引） 3. 需要明细时才读对应分类的月份文件 > 数据结构详见 [data-schema.md](references/data-schema.md) ## 记账规则 ### 自然语言解析 用户随口说即可记录，AI 自动提取金额、商户、日期、分类。 不确定时询问用户确认，不要猜测。 ### 分类体系 > 详见 [categories.md](references/categories.md) 常用分类：餐饮 / 生活购物 / 医疗 / 通讯 / 交通 / 娱乐 / 房贷 / 家庭转账 / 医保 / 收入 ### 固定支出自动录入 读取 `finance-records/固定支出配置.yaml`，按配置中的规则自动录入。 - 每月固定支出：按配置的发放日/扣款日触发 - 年付项目：用户告知缴费后手动录入 - 配置文件不存在时，提示用户先完成初始化 ## 月度汇总生成规则 - **触发时机**：每月最后一天，或用户主动要求 - **生成路径**：`summary/YYYY/MM.yaml` - **内容**：收支总览 + 每周明细 + 分类排行 + 统计分析 + 环比对比 - **生成后**：同步更新 `index.yaml` 总索引 ## 数据录入后必须同步更新 每次录入新数据后，必须同步更新： 1. 对应分类的月份文件（`分类/YYYY/MM.yaml`） 2. 对应分类的年度索引（`分类/index.yaml`） 3. 总索引（`index.yaml`） 4. 当月汇总文件（`summary/YYYY/MM.yaml`，若已存在） ## 数据修正规则 用户说"刚才记错了"、"修改xxx"、"删除xxx"时： 1. 读取对应文件，找到该条记录 2. 展示原始数据，让用户确认修改内容 3. 修改后同步更新所有关联文件（同上方同步规则） 4. 告知用户修改结果 ## 数据安全 - 所有数据本地存储，严禁上传至任何网络服务 - 财务数据属于用户隐私，不在任何公开场合引用

path: README.md
content: # 账单伙伴（buddy-bills）

随口一句话就能记账，AI 自动识别金额、分类、日期。固定支出（房贷、工资、医保）按规则自动录入，月底自动生成完整收支报告。支持自然语言查询："这个月花了多少？""餐饮超预算了吗？"——像问私人财务顾问一样简单。


path: references/categories.md
content: # 支出分类体系

## 一级分类及子分类

| 一级分类 | 子分类 | 示例 |
|----------|--------|------|
| 餐饮 | 早餐/午餐/晚餐/咖啡/外卖/聚餐 | 麦当劳、瑞幸、美团外卖 |
| 生活购物 | 超市/日用品/服装/家居 | 小象超市、淘宝、京东 |
| 医疗 | 药品/疫苗/挂号/体检 | 药店、医院、疫苗接种 |
| 通讯 | 话费/宽带/流量 | 话费充值、宽带续费 |
| 交通 | 加油/停车/打车/公交 | 加油站、滴滴、地铁 |
| 娱乐 | 电影/游戏/旅行/健身 | 电影票、KTV、健身房 |
| 教育 | 课程/书籍/培训 | 网课、书籍、培训班 |
| 房贷 | — | 银行房贷还款 |
| 物业费 | — | 年付物业管理费 |
| 车位费 | — | 年付停车位费用 |
| 家庭转账 | — | 家庭日常开支转账 |
| 医保 | — | 个人/家庭医疗保险 |
| 收入 | 工资/奖金/兼职/其他 | 月薪、年终奖、副业 |

## 智能分类规则

- 关键词"咖啡/奶茶/星巴克/瑞幸" → 餐饮-咖啡
- 关键词"外卖/美团/饿了么" → 餐饮-外卖
- 关键词"超市/便利店/菜市场" → 生活购物-超市
- 关键词"药/疫苗/医院/诊所" → 医疗
- 关键词"话费/流量/宽带" → 通讯
- 关键词"加油/停车/滴滴/打车" → 交通
- 关键词"工资/薪资/发工资" → 收入-工资
- 关键词"房贷/还贷/月供" → 房贷


path: references/data-schema.md
content: # 数据目录结构与文件格式规范

## 目录结构

```
finance-records/
├── index.yaml                    # 总索引（月度汇总数字，快速统计用）
├── 固定支出配置.yaml              # 固定支出自动录入规则
├── summary/                      # 月度汇总文件
│   └── YYYY/
│       └── MM.yaml               # 每月最后一天生成
├── 餐饮/
│   ├── index.yaml                # 年度索引
│   └── YYYY/
│       └── MM.yaml               # 月度明细
├── 生活购物/
├── 医疗/
├── 通讯/
├── 房贷/
├── 物业费/
├── 车位费/
├── 家庭转账/
├── 医保/
└── 收入/
    ├── 收入配置.yaml
    └── YYYY/
        └── MM.yaml
```

## 总索引格式（index.yaml）

```yaml
YYYY:
  MM:
    总支出: 0.00
    房贷: 0.00
    家庭转账: 0.00
    餐饮: 0.00
    收入: 0.00
    结余: 0.00
```

## 月度汇总格式（summary/YYYY/MM.yaml）

```yaml
# 月度汇总 - YYYY年MM月

## 一、收支总览
收入:
  工资: 0.00
  总收入: 0.00
支出:
  房贷: 0.00
  总支出: 0.00
结余: 0.00
储蓄率: 0%

## 二、每周总结
### 第N周（MM月DD日 - MM月DD日）
  支出: 0.00
  收入: 0.00
  明细:
    - YYYY-MM-DD | 商户 | 分类 | 金额

## 三、支出明细汇总
### 分类名（金额）
  占总支出: 0%
  明细:
    - YYYY-MM-DD | 商户 | 金额

## 四、统计分析
支出排行:
  1. 分类: 金额（占比%）
最大单笔: 金额（商户）
固定支出: 金额
浮动支出: 金额

## 五、环比对比
  上月结余: 0.00

## 六、备注
```

## 分类明细格式（分类/YYYY/MM.yaml）

```yaml
# 分类名明细 - YYYY年MM月

月度汇总:
  总计: 0.00

明细:
  - 日期: YYYY-MM-DD
    商户: 名称
    子分类: 子类
    金额: 0.00
    支付方式: 待补充
    备注: 备注
```


path: references/fixed-costs.md
content: # 固定支出配置规则

## 配置文件路径
`finance-records/固定支出配置.yaml`

## 自动录入规则

### 每月15号（工资发放日）自动录入
- 家庭转账（金额见配置）
- 医保（金额见配置）

### 每月29号自动录入（当月无29号则28号）
- 房贷（金额见配置）

### 年付项目（用户告知后手动录入）
- 物业费
- 车位费
- 到期前1个月提醒用户

## 配置文件格式

```yaml
固定支出列表:
  - 名称: 房贷
    金额: 0.00
    周期: 每月
    自动录入规则: 每月29号，无则28号
    账户: 银行自动扣款

  - 名称: 家庭开支转账
    金额: 0.00
    周期: 每月
    自动录入规则: 工资发放日（每月15号）
    收款人: 待填写

  - 名称: 医保
    金额: 0.00
    周期: 每月
    自动录入规则: 工资发放日（每月15号）

  - 名称: 物业费
    金额: 0.00
    周期: 年付
    录入规则: 用户告知后手动录入
    上次缴费: YYYY-MM-DD
    下次到期: YYYY年MM月

每月固定支出合计: 0.00
年度一次性固定支出合计: 0.00
```

## 收入配置文件路径
`finance-records/收入/收入配置.yaml`

```yaml
工资发放规则:
  发放日: 每月15号
  金额: 0.00
  年度预计总收入: 0.00
```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)