/install hobohan-expense-tracker
Expense Tracker
Track daily spending via Telegram check-ins. Three prompts per day; cron-driven. All data flows to local .md ledger + Google Sheet.
Ledger format
Each file at ledger/YYYY-MM-DD.md:
# Ledger — 2026-06-03
- Food & Drinks $1.80 | Coffee
- AI $11.53 | Netlify
Format: - Category $Amount | Notes
Categories
Allowed: Food & Drinks | Groceries | Transportation | Household/Utilities | Pet | Shopping | Entertainment | Other | AI
- Bakery bread → Food & Drinks (NOT Groceries)
- Groceries = supermarket bulk/household runs
- Unsure → ask Hobo or default to Other with note
Check-in schedule
| Time | Prompt |
|---|---|
| 10am | Morning spend (coffee, breakfast, transport) |
| 1:30pm | Afternoon spend (lunch, transport) |
| 10pm | End-of-day recap |
Each check-in runs as an isolated cron agentTurn with model: deepseek/deepseek-v4-flash and timeoutSeconds: 300.
Transport check-in (9am, previous day)
Separate cron asks: "Any transport yesterday?" Pinned to deepseek/deepseek-v4-flash.
Dedup rules
Before writing to today's ledger file:
- Read today's ledger file first.
- Time qualifiers (morning/afternoon/evening coffee): always ADD new entry, never replace.
- Same category + amount: assume repeat purchase → ADD new entry.
- Only REPLACE if Hobo explicitly says "change X to Y".
- When in doubt → ask Hobo to confirm.
Expense sync
Daily at 9:30am via scripts/sync-ledger-to-sheet.py:
- Reads all
ledger/*.mdfiles - Parses entries per format above
- Generates dedup key:
(normalized_date|normalized_amount|notes)wherenormalize_amount()strips trailing zeros - Compares against existing sheet rows → appends only new ones
- Uses Google Sheets API with service account at
/home/hobopi/.openclaw/secrets/google-service-account.json - Sheet ID:
1Ikbydh-Xzc6F3pk1Q5lbCTbdEERSb4Hq8obzbABVZbU, tab:Sheet1
Historical backfill
To backfill missing days (e.g., April 18-26 reconstructed from sheet data):
- Query sheet for all rows with dates not in ledger
- Parse each row as
Date, Category, Amount, Notes - Create
ledger/YYYY-MM-DD.mdwith entries in correct format - Verify count matches between ledger and sheet
Scripts
scripts/sync-ledger-to-sheet.py— main sync enginescripts/gen-expense-data.py— dumps all entries to JSON for dashboard
Cron notes
- All expense crons MUST pin model to
deepseek/deepseek-v4-flash(time-sensitive) - Timeout: 300s minimum (600s for 10pm check-in)
- Use absolute paths only in payload messages — no
cd && python3chains
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install hobohan-expense-tracker - 安装完成后,直接呼叫该 Skill 的名称或使用
/hobohan-expense-tracker触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Expense Tracker 是什么?
Log daily expenses via check-in prompts; dedup, categorize, sync to local ledger and Google Sheets. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 28 次。
如何安装 Expense Tracker?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install hobohan-expense-tracker」即可一键安装,无需额外配置。
Expense Tracker 是免费的吗?
是的,Expense Tracker 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Expense Tracker 支持哪些平台?
Expense Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Expense Tracker?
由 Hobohan(@hohobohan)开发并维护,当前版本 v1.0.0。