SuperAPI AI 工具集

expense-tracker

办公与效率

查看项目

更新于 10-15 10:22

技能介绍

Expense Tracker 是一个用于记账的 Telegram 机器人。用户向机器人发送文本或照片,机器人使用 Claude Haiku 解析内容,并将结果存储到 Cloudflare D1 数据库中。

用途 该技能适用于以下场景:用户询问支出、花费或预算;用户希望部署或更新记账机器人;用户希望查看支出汇总或导出数据;用户希望将账目同步到本地。

主要能力 机器人支持通过 Telegram 命令进行交互,包括:/start(欢迎与用法)、/today(今日支出)、/week(本周按类别统计)、/month(月度汇总)、/budget(预算与实际对比)、/setbudget food 200(设置月度预算)、/export(下载 CSV)、/delete 123(按 ID 删除支出)。此外,还提供 API 接口,可通过带 Bearer 令牌的请求获取月度汇总(/api/summary?month=2026-03)或导出 CSV(/api/export?month=2026-03)。

架构 Telegram -> CF Worker /webhook -> Claude Haiku(解析)-> D1(存储)-> TG 回复;/api/* 提供 JSON/CSV 导出,通过 Bearer 令牌认证。

依赖 外部依赖:Cloudflare Workers(wrangler)、Node.js。服务依赖:Telegram Bot API、Claude API(Haiku)、Cloudflare D1。

路径 项目路径:$HOME/expense-bot/;源码路径:$HOME/expense-bot/src/;数据库模式:$HOME/expense-bot/schema.sql;Worker 配置:$HOME/expense-bot/wrangler.toml;本地导出:$DATA_PATH/personal/expenses_YYYY_MM.csv。

使用方式 首次设置:通过 Telegram 的 @BotFather 创建机器人;执行 cd ~/expense-bot && npx wrangler d1 create expense-db;更新 wrangler.toml 中的 database_id;执行 npx wrangler d1 execute expense-db --file=schema.sql;设置密钥(见下);执行 npx wrangler deploy;设置 webhook(见下)。

部署:cd ~/expense-bot && npx wrangler deploy。

设置 webhook(首次部署后):curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setWebhook?url=https://expense-bot.<subdomain>.workers.dev/webhook"。

应用数据库模式:cd ~/expense-bot && npx wrangler d1 execute expense-db --file=schema.sql。

通过 API 查看支出:curl -H "Authorization: Bearer $TOKEN" "https://expense-bot.<subdomain>.workers.dev/api/summary?month=2026-03"。

本地同步支出:curl -H "Authorization: Bearer $TOKEN" "https://expense-bot.<subdomain>.workers.dev/api/export?month=2026-03" > $DATA_PATH/personal/expenses_2026_03.csv。

设置密钥:cd ~/expense-bot;npx wrangler secret put TELEGRAM_BOT_TOKEN;npx wrangler secret put ANTHROPIC_API_KEY;npx wrangler secret put API_AUTH_TOKEN;npx wrangler secret put ALLOWED_USERS。

适用场景 适合个人或小团队通过 Telegram 快速记录和查询日常支出,并利用 Cloudflare 免费额度降低运行成本。

限制 成本约为每月 0.30 美元(仅 Claude Haiku API,其余为免费额度)。其他限制暂未提供。