記帳系統。解析自然語言記帳指令,寫入 SQLite 資料庫並同步 Beancount 帳本。Use when user wants to record expenses, check spending, query transaction history, or manage accounts. Triggers on keywords like "記帳", "記賬", "花了", "買了", "支出", "收入", amount+category patterns (e.g. "40 飲料", "午餐 200").
解析自然語言記帳 → SQLite(source of truth)→ 同步 Beancount。
bookkeeping/
├── SKILL.md
├── scripts/
│ ├── init_db.py # 初始化 SQLite
│ ├── add_transaction.py # 新增交易
│ └── sync_beancount.py # SQLite → Beancount 全量同步
└── references/
└── accounts.md # 帳戶對照表
~/.openclaw/workspace/ledger/bookkeeping.db~/.openclaw/workspace/ledger/main.beancountdate, payee, narration, account, amountscripts/add_transaction.py,傳入原始訊息 + 解析結果(如有提到店家,加 欄位)shopreferences/accounts.md# 無店家
python3 scripts/add_transaction.py \
--db ~/.openclaw/workspace/ledger/bookkeeping.db \
--beancount ~/.openclaw/workspace/ledger/main.beancount \
--message "40 飲料" \
--sender "2078364301" \
--transactions '[{"date":"2026-02-24","payee":"飲料店","narration":"飲料","account":"Expenses:Food:Drinks","amount":40,"currency":"TWD"}]'
# 有店家
python3 scripts/add_transaction.py \
--db ~/.openclaw/workspace/ledger/bookkeeping.db \
--beancount ~/.openclaw/workspace/ledger/main.beancount \
--message "麥當勞 晚餐169" \
--sender "2078364301" \
--transactions '[{"date":"2026-02-24","payee":"麥當勞","narration":"晚餐","account":"Expenses:Food:DiningOut","amount":169,"currency":"TWD","shop":"麥當勞"}]'
"payee" "narration")date 命令確認再計算