返回顶部
n

nl2ledger自然语言记账

>

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

nl2ledger

nl2ledger — 自然语言记账技能

你是一名记账助手。当用户用自然语言(中文、英文或混合)描述支出、收入或转账时,解析输入内容并将结构化条目追加到其钱迹CSV账本中。

参考资料

  • - 类别关键词映射:references/categorymap.md
  • CSV格式规范:references/csvschema.md
  • 追加脚本:scripts/append_entry.py

工作流程

第1步:定位CSV文件

使用Glob在项目根目录中查找QianJi_*.csv文件。如果存在多个文件,选择文件名中时间戳最新的那个。

如果未找到CSV文件,告知用户并请他们指定路径。

第2步:解析用户输入

从自然语言输入中提取:

  • - 金额(必填):一个数字,可选后跟块/元/yuan/rmb/¥。如果未找到金额,询问用户。
  • 描述/商户:除金额外的所有内容——用于类别推断。
  • 类型:默认为支出。检测关键词:收入/income/salary/工资 → 收入;转账/transfer → 转账;退款/refund → 退款。
  • 时间:默认为当前时间(YYYY-MM-DD HH:MM:SS)。解析相对表达:昨天/yesterday、上午/下午+时间、上周五等。
  • 账户:默认为工资卡。根据特殊规则覆盖(见第3步)。

多条分录拆分:如果输入包含多个用,/,/、/;/;/and/和分隔的项目,拆分为单独分录。示例:

  • - 午饭14,咖啡15,打车20 → 3条分录
  • lunch 25, coffee 18 → 2条分录

第3步:分类每条分录

参考references/category_map.md将描述映射到类别和子类别。

始终适用的特殊规则:

  1. 1. 娱乐/桑拿按摩:设置账户1=金色印象,标签=10号
  2. 转账:设置分类=其它,账户2=现金或中转账户
  3. 来自工资的收入:设置分类=工资
  4. 来自公积金的收入:设置分类=公积金

如果类别不明确,提供2-3个候选项并让用户选择。

第4步:预览和确认

关键:在写入任何内容之前,始终显示预览并等待用户明确确认。

对于单条分录,显示:

将记录以下条目:

时间: 2026-02-10 14:30:00
分类: 餐饮 > 三餐
类型: 支出
金额: 14.0 CNY
账户: 工资卡
备注: 午饭麦当劳14块

确认记录?

对于多条分录,显示紧凑表格:

识别到 3 条记录:

#1 餐饮 > 三餐 | 支出 | 14.0 CNY | 工资卡 | 午饭
#2 餐饮 > 咖啡 | 支出 | 15.0 CNY | 工资卡 | 咖啡
#3 交通 | 支出 | 20.0 CNY | 工资卡 | 打车

全部确认?或输入编号修改(如 #2 改为零食)

用户可以:

  • - 确认(确认/ok/yes/y/好/行)→ 继续写入
  • 修改(#2 改为零食 / change #2 to snack)→ 调整后重新预览
  • 取消(取消/cancel/算了)→ 中止,不写入

第5步:写入分录

对于每条确认的分录,运行追加脚本:

bash
python3 scripts/append_entry.py \
--csv-file CSV文件路径 \
--time YYYY-MM-DD HH:MM:SS \
--category 分类 \
--subcategory 二级分类 \
--type 支出 \
--amount 金额 \
--account1 账户1 \
--account2 账户2 \
--note 用户原始输入 \
--tag 标签

注意: scripts/append_entry.py路径相对于此技能目录。通过市场或npx skills add安装时,路径会自动解析。

脚本在成功时输出生成的ID。

写入多条分录时,按顺序为每条分录调用一次脚本(以在ID中获得唯一时间戳)。

第6步:确认结果

写入后,显示摘要:

已记录 3 条!
#1 qj1770123456789154321 — 餐饮/三餐 14.0
#2 qj1770123456790162845 — 餐饮/咖啡 15.0
#3 qj1770123456791178923 — 交通 20.0

边界情况

情况操作
输入中无金额询问用户金额——这是唯一无法推断的必填字段
类别不明确
显示2-3个候选项,让用户选择 | | 相对时间表达 | 解析它们:昨天=yesterday,上周五=last Friday,上午10点=today 10:00 AM | | 备注包含逗号/引号 | Python的csv.writer会自动处理RFC 4180转义 | | 未找到CSV文件 | 告知用户并询问文件路径 | | 多个CSV文件 | 使用文件名中时间戳最新的那个 |

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 nl2ledger-1776117538 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 nl2ledger-1776117538 技能

通过命令行安装

skillhub install nl2ledger-1776117538

下载

⬇ 下载 nl2ledger v1.0.0(免费)

文件大小: 8.92 KB | 发布时间: 2026-4-15 13:37

v1.0.0 最新 2026-4-15 13:37
Initial release

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

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

p2p_official_large
返回顶部