Install
openclaw skills install listform智能表单 - 通用记账本与信息汇总工具。支持支出账单、出货台账、运行日志等结构化数据记录,可附加图片/文档做存档,支持自动归类、周期报表、定时提醒。用户说「记一下 xxx」即可自动触发,支持记账、备忘、出货、日志等多种记录类型。Smart form, notes, bookkeeping, records, document archive.
openclaw skills install listform说"记一下"就完事了。用户不需要选类型、填字段——说了就自动归类存好。
记一下 xxx 即可命令式触发(直接执行):用户说「记一下 + 内容」这种明确命令句式时,直接识别并保存,无需确认。 模糊触发(先确认):用户只说了单个词(如 "记账"、"记录一下"、"日志"、"list")时,先问「要记一笔吗?」得到肯定答复后再执行。
workspace/memory/list-data/ 目录,每种记录类型独立 JSON:
memory/list-data/
├── expenses.json # 支出
├── shipments.json # 出货
├── logs.json # 运行日志
├── photos.json # 图片归档(自动识别类型时用)
└── ... # 自动创建的新类型
记录格式:
{
"config": {"fields": {"category":"text","amount":"number","note":"text"}},
"records": [
{
"id": "uuid",
"timestamp": "2026-05-19T19:00:00+08:00",
"data": {"category":"餐饮","amount":200,"note":"晚饭"},
"tags": [],
"attachments": []
}
]
}
所有数据操作通过 scripts/list.py,模型不直接改 JSON:
| 操作 | 命令 |
|---|---|
| 新增记录 | python3 scripts/list.py add <type> --data '{"k":"v"}' [--image <path>] |
| 查询记录 | python3 scripts/list.py query <type> [--from DATE] [--to DATE] [--filter JSON] |
| 周期汇总 | python3 scripts/list.py summary <type> [--from DATE] [--to DATE] [--by category] |
| 列出类型 | python3 scripts/list.py types |
| 新增类型 | python3 scripts/list.py new-type <type> --fields '{"字段":"类型"}' |
| 删除记录 | python3 scripts/list.py delete <type> <id> |
用户说「记一下 XXX」,自动判断类型并保存:
判断逻辑(由上到下匹配):
操作步骤:
new-type 自动创建,按内容推断字段python3 scripts/list.py add <type> --data 'JSON' [--image <path>]判断示例:
| 用户说 | 自动识别 | 存入 |
|---|---|---|
| "记一下今天吃饭200" | expenses | {category:"餐饮",amount:200,note:"今天吃饭"} |
| "记一下发了50件到广州" | shipments | {product:"未指定",quantity:50,destination:"广州"} |
| "记一下服务器宕机了" | logs | {system:"服务器",status:"异常",detail:"宕机"} |
| 拍收据说"记一下" | expenses | 存图片,自动尝试读取金额 |
用户问"查一下 x月花了多少" → query + 模型加工输出趋势。
用户说"月底总结/本月花了多少" → summary,按分类聚合。
用户发图片说"记一下":
memory/list-data/attachments/⚠️ 注意:图片自动识别需要大模型支持图片识别能力(如 GPT-4o、Claude 3.5 Sonnet 等)。如当前模型不支持,仅做图片存档,需用户手动补充描述。
Cron 定时问用户要不要记一笔:
openclaw cron add \
--name list-remind-expense \
--cron "0 21 * * *" \
--tz "Asia/Shanghai" \
--message "list-remind: 睡前记账时间到~ 今天花了多少?" \
--channel feishu --to <目标> \
--session isolated --no-deliver
模型在自动创建类型时参考以下模板结构:
expenses(支出) — 字段:category(text), amount(number), note(text)
shipments(出货) — 字段:product(text), quantity(number), destination(text), note(text)
logs(运行日志) — 字段:system(text), status(text), detail(text)
photos(图片归档) — 字段:description(text), tags(text), date(text)
不在模板中的类型由模型推断字段并 new-type 创建。
用户第一次触发 skill(或说「怎么用」)时,在回复末尾附上简短功能指引:
📋 智能表单已激活!试试: • 记一下 — "记一下今天吃饭200"(自动分类支出) • 查一下 — "查一下五月花了多少" • 月底总结 — "本月花了多少" • 拍照 — 发收据说"记一下",自动识别 • 还能记录出货、运行日志等
成功记录、查询、汇总后,末尾加一句简短引导:
| 场景 | 末尾提示 |
|---|---|
| 记录成功 | ✅ 已记录 💬 回复「查一下」查看记录 |
| 查询完成 | 💬 回复「记一下」继续记录,或「月底总结」看汇总 |
| 汇总报表 | 📊 本月已汇总 💬 回复「流水」查看完整清单 |
用户说得太模糊时,先问清楚再操作:
你是想记一笔支出、出货,还是其他?或者直接说「记一下 xxx」我自己判断