返回顶部
b

billclaw账单爪

Drives the BillClaw local bookkeeping CLI against SQLite (db/expenses.db) via scripts/main.py JSON subcommands—add/query transactions, delete and category-merge with preview+confirm, user-defined categories, reports with chart PNGs, CSV export, and a local Flask dashboard. Use when the user tracks 记账/收支/账本, manages 分类, asks for 报表 or charts, wants to open the Web 看板, exports CSV, or mentions BillClaw or running main.py (root shim) / scripts/main.py.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
145
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

billclaw

BillClaw 记账 Skill(OpenClaw / Agent 使用说明)

本 Skill 通过本地 Python CLI 操作 SQLite 账本(db/expenses.db),实现记账、分类管理、报表图表与 Web 看板。Agent 负责自然语言理解与二次确认;脚本负责结构化读写与一致性。



1. 功能概览

  • - 记账(结构化字段;可选 parsetext 辅助从片段补全字段)
  • 条件查询(日期范围、类型、分类、备注关键词等)
  • 删除(先 preview 列候选,用户确认后再 confirm
  • 分类归并(先 preview,用户确认后再批量改 category
  • 用户自定义分类(usercategories 表;记账时 category 可直接用自定义名)
  • 报表:深色主题多图 PNG(合图 reportdashboard.png:KPI + 支出/收入环形图 + 每日趋势 + 按月柱图;另有单图 expensebycategory.png、incomebycategory.png、dailytrend.png、monthlybar.png)+ 结构化 highlights(供你生成有温度的中文总结);data.agentjson 中含 primary_chart 指向合图路径
  • Web 看板:本地 Flask + scripts/dashboard.html + scripts/static/vendor 内 Chart.js,支持时间筛选、按月柱状图、分页明细与图表交互(缩放/平移等),离线可开页
  • 导出 CSV(可选)

环境变量:BILLCLAWDBPATH 可覆盖默认数据库路径。

调用方式:在项目根目录执行 python scripts/main.py <子命令> --json-string 或 --json 文件.json;亦可使用根目录 python main.py ...(转发到同一入口)。标准输出为一行 JSON:{ok: bool, error: str|null, data: {...}}。



2. 用户意图(Intent)与处理流程

Intent A:记一笔账

  1. 1. 从用户话中提取:date(YYYY-MM-DD)、type(收入|支出)、category、amount(元)、note。
  2. 若字段不全,可调用 parse 子命令辅助:
python scripts/main.py parse --json-string {text:<用户原句或片段>} 使用返回的 time.date、amount.value、typehint、categoryhint 补全(仍需你判断是否ambiguous)。
  1. 3. 时间模糊:若 parse 或你的理解中 ambiguous: true,先问用户确认日期/时刻,再 add。
  2. 金额异常:若 add 的 data 中含 suspicious: true,先向用户确认是否输错,再决定是否重新 add 或取消。
  3. 写入:
python scripts/main.py add --json-string {date:...,type:支出,category:正餐,amount:35,note:...} 可选:parse_text:昨天午饭38 与上述字段合并(缺省字段由解析补全)。

默认支出分类:正餐、零食饮料、出行、购物、日常开销、娱乐、居住、医疗健康、家人、社交、其他。
默认收入分类:工资、奖金、投资、家人、其他收入。
用户自定义分类可先走 Intent D,之后记账 category 填该名称即可。



Intent B:查账 / 列表

python scripts/main.py query --json-string {...}

常用字段:

  • - datefrom, dateto(含边界,格式建议 YYYY-MM-DD)
  • type:收入 / 支出
  • category:精确匹配
  • categorylike:SQL LIKE 子串
  • notelike:备注 LIKE
  • keywordinnote:备注或分类中包含关键词
  • limit:默认 500

将 data.rows 用简洁表格或列表回复用户。



Intent C:删除记录

禁止直接删除。 必须两步:

  1. 1. delete-preview:与 query 相同过滤字段,返回 data.preview_rows 与 data.ids。
  2. 向用户展示将删除的记录,得到明确确认后:
delete-confirm:{ids:[...]}

Intent D:新增自定义分类

python scripts/main.py category-add --json-string {name:恋爱,kind:支出}
kind 只能是 收入 或 支出。
可用 category-list 查看已有用户分类。



Intent E:分类归并(把一批记录改到新类)

  1. 1. merge-preview:用 keywordinnote、oldcategory、oldcategorylike、datefrom/dateto、type(默认可筛支出)等缩小范围。
  2. 展示 previewrows,用户确认后:
merge-confirm:{ids:[...],new_category:恋爱}

Intent F:报表(图表 + 口语化总结)

python scripts/main.py report --json-string {datefrom:2026-03-01,dateto:2026-03-31,outputdir:./billclawoutput}

  • - data.charts:各 PNG 绝对路径;优先向用户展示 reportdashboard(或 data.agentjson 里的 primarychart)。兼容旧键名:expensepie≈支出分类图,trend≈每日趋势。
  • data.highlights:总收支、TOP 支出类、占比等。
  • data.narrativehints:简短提示句;你应在此基础上用朋友/恋人语气写 1~3 句中文总结(可轻微幽默),避免机械罗列数字。
  • 图表文件落在 outputdir(见下方「output 目录与定时清理」);多次 report 会累积 PNG,需按需或定期清理。

Intent G:打开 Web 看板

python scripts/main.py serve --json-string {host:127.0.0.1,port:8000}
(进程会占用终端,需告知用户浏览器访问 http://127.0.0.1:8000。)

页面含:日期范围筛选与快捷预设(全部/本年至今/近三月/近一月)、总收支 KPI、支出与收入分类环形图、每日折线(滚轮缩放/拖拽平移,可重置)、按月收支柱状图、可排序分页交易表(可选仅收入/仅支出)。前端为 scripts/dashboard.html,JS 库在 scripts/static/vendor/(离线可用,见该目录 README.md);中文字体使用系统字体栈。



Intent H:导出 CSV(可选)

python scripts/main.py export-csv --json-string {path:./bills.csv,date_from:2026-01-01}



3. 子命令一览


子命令作用
add插入一条交易
query
条件查询 |
| delete-preview / delete-confirm | 删除预览 / 执行删除 |
| merge-preview / merge-confirm | 改类预览 / 执行批量更新 category |
| category-add / category-list | 自定义分类 |
| report | 统计 + 出图 |
| export-csv | 导出 |
| parse | 从文本抽取时间/金额/类型/分类提示 |
| serve | 启动 Flask 看板 |


4. 输入 / 输出约定

  • - 成功:ok: true,data 为有效负载。
  • 失败:ok: false,error 为可读说明。
  • add 在写入成功后仍可能在 data 中带 suspicious(金额超参考阈值),不代表未写入;若你希望「先确认再记」,应在调用 add 前用规则判断或先问用户(推荐流程:先展示将记入的字段与异常提示,确认后再 add)。

5. 示例对话(覆盖常见场景)

5.1 正常记账

  • - 用户:「今天中午吃饭花了 42」
  • 你:解析为日期今天、支出、正餐 42 元 → add。回复简短确认。

5.2 模糊时间

  • - 用户:「晚上看电影 80」

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 bill-claw-1776119067 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 bill-claw-1776119067 技能

通过命令行安装

skillhub install bill-claw-1776119067

下载

⬇ 下载 billclaw v1.0.0(免费)

文件大小: 110.73 KB | 发布时间: 2026-4-14 09:36

v1.0.0 最新 2026-4-14 09:36
BillClaw Skill v1.0.0

- Initial release providing a local bookkeeping assistant via Python CLI and SQLite.
- Supports structured entry, querying, deletion (with preview/confirmation), category management, and CSV export.
- Generates detailed financial reports with dark-themed multi-chart PNGs and personalized textual summaries.
- Offers a local Flask web dashboard for interactive visualizations and filtering.
- Enforces user confirmation for destructive or ambiguous actions to ensure data safety.
- Documentation includes sample dialogues and user intent flows for common bookkeeping scenarios.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部