tjxj/ai-bookkeeping-skills · Archived

record-ai-bookkeeping

用自然语言录?

First seen Aug 18, 2026

Installation

$ npx skills add tjxj/ai-bookkeeping-skills --skill record-ai-bookkeeping

Summary

用自然语言录入和维护个人账目。当用户说“记一笔”“今天花了”“买了什么”“收到工资”“退款了”“报销垫付”“报销到账”“转账”“改一下刚才那笔”“撤销上一笔”或“恢复流水”时触发。负责分类、预览、去重、提交、修改和可恢复撤销。

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from tjxj/ai-bookkeeping-skills.

npx skills add tjxj/ai-bookkeeping-skills

Browse all from tjxj/ai-bookkeeping-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,805 B
  • docs SUMMARY.md 368 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Record AI Bookkeeping

把用户的一句话拆成一条或多条可核对流水,写入统一账本。

何时触发

  • “记一笔:今天午饭 46,支付宝”
  • “早上咖啡 18,中午面 32,晚上打车 56,都走支付宝”
  • “今天和小王吃饭我付了 260,其中 130 公司报销”
  • “从招行转 3000 到支付宝”
  • “大阪晚饭 4200 日元,汇率 0.049,Visa”
  • “这单退了 80 / 报销到账 130”
  • “刚才金额写错了 / 撤销上一笔 / 恢复那笔”

共用入口

所有操作都通过共享脚本,配置路径在本次会话中保持一致:

python3 "$AI_BOOKKEEPING_HOME/scripts/bookkeeping.py" \
  --config "/absolute/path/to/config.json" record "用户原话"

新增流水

  1. 保留用户原话、消息来源和稳定的消息 ID。消息 ID 用于防止重试时重复写入。
  2. 先运行不带 --commit 的命令,读取预览中的金额、币种、类型、分类、账户、日期、账本、置信度和追问。
  3. 逐项检查:

- 金额必须大于 0。 - 外币必须有该笔确认汇率。 - 退款必须关联原支出。 - 报销到账必须关联原垫付。 - 转账必须有付款账户和收款账户。 - 累计退款、累计报销到账都不能超过原流水上限。

  1. 用户已经明确说“记账/录入/帮我记”,只有一条小额人民币流水,置信度至少 0.85,且没有追问时,可以直接提交。
  2. 以下情况先展示预览并等待确认:

- 多笔批量流水。 - 金额达到配置中的大额线。 - 外币、退款、报销、转账、借款或还款。 - 日期、账户、金额、汇率或关联流水不完整。 - 分类可能有两种合理解释。

  1. 确认后用完全相同的输入和消息 ID 提交:

``bash python3 "$AIBOOKKEEPINGHOME/scripts/bookkeeping.py" \ --config "/absolute/path/to/config.json" \ record "用户原话" \ --source-message-id "稳定消息 ID" \ --commit ``

  1. 提交后核对返回的 createdcount、duplicatecount 和流水 ID,再用一句话回执。

开放式表达

内置解析器覆盖 examples/natural-language.md 中的高频句式。遇到更自由的表达时,先整理为结构化 JSON,字段参照 schema/transactions.schema.json,然后预览:

python3 "$AI_BOOKKEEPING_HOME/scripts/bookkeeping.py" \
  --config "/absolute/path/to/config.json" record-json input.json

用户确认后追加 --commit。不要补造金额、日期、汇率、账户或关联 ID。

修改、撤销和恢复

修改基础字段:

python3 "$AI_BOOKKEEPING_HOME/scripts/bookkeeping.py" \
  --config "/absolute/path/to/config.json" \
  update "BK-..." '{"amount":"38"}' --reason "用户纠正金额"

金额、类型、币种、汇率、可报销金额变更后,系统会重算本位币金额、现金流和个人消费。派生金额不能直接改。

撤销与恢复:

python3 "$AI_BOOKKEEPING_HOME/scripts/bookkeeping.py" --config "/absolute/path/to/config.json" undo "BK-..."
python3 "$AI_BOOKKEEPING_HOME/scripts/bookkeeping.py" --config "/absolute/path/to/config.json" restore "BK-..."

没有流水 ID 的“撤销上一笔”会撤销最近一条有效流水。回复时必须带回被操作的流水 ID、金额和状态。

分类原则

  • 优先使用现有二级分类和用户历史习惯。
  • 旅行费用写入具体项目账本,同时保留餐饮、交通、住宿等消费分类。
  • 房租、水电、保险、订阅等标为固定或弹性,再标必要性。
  • 退款沿用原消费的分类、账本和消费属性。
  • 报销垫付的个人消费只保留用户最终承担的部分。

边界与异常

  • 同一个来源消息重复提交时,把它当作同一笔,回报“已存在”。
  • 找不到唯一的退款或报销原流水时,只问一个最小问题。
  • 用户说“改刚才那笔”时,先展示最近一笔的关键信息再修改。
  • 撤销保留历史,禁止物理删除。
  • 报销到账撤销或恢复后,要再次核对原垫付的报销状态。
  • 用户手工锁定的分类,后续自动分类不能覆盖。

回执格式

已记 1 笔:7 月 1 日午饭 46.00 元,餐饮 / 午餐,支付宝。
流水 ID:BK-...

批量录入时先给总笔数和合计,再列出需要关注的异常。