市面上有很多记账软件但大多不尽人意:收费的、记起来很麻烦的、越记账反而花得更多
有没有办法聊着天就把账记了?有了这个想法第一时间想到的就是前不久很火的openclaw,无论是QQ、微信、企业微信、飞书都对openclaw做了深度定制插件,不用下载多余软件,直接置顶在你的微信,使用时打开一句话即可完成记账。
在微信里随手发一笔「午餐 35」,机器人自动归类、记账、统计本月总消费,并按可编辑的每月预算配比在每次支出后提醒你剩余额度。整套系统跑在你的 OpenClaw 上,数据存本地。
它能做什么
你只需在微信里像跟朋友聊天一样把每一笔花销发出去,机器人帮你完成记录、归类、汇总和预算提醒,月底一眼看清钱花在哪、还能花多少。
- 📝 自然语言记账 — 发「午餐 35」「打车 28」「工资 +8000」,机器人自动识别金额、收支方向并归类。
- 🗂️ 自动分类 — 内置餐饮/交通/购物/娱乐/居住等 9 类关键词,无需手动选分类,发完即记。
- 📊 本月账单 — 发「本月消费」即可看到总支出、总收入、结余与各分类明细及占比条。
- ⚙️ 可编辑预算 — 支持按分类设绝对预算,或按配比百分比一次性设置所有分类预算,随时改。
- 🔔 剩余预算提醒 — 每笔支出后自动提醒该分类剩余额度,超支或接近上限(≥80%)触发告警。
- ↩️ 撤销与持久化 — 记错了?发「撤销」删最近一笔。所有数据存本地 SQLite,重启不丢。
工作原理
OpenClaw 由四个部分组成:渠道适配器、大模型大脑、技能插件、记忆系统。记账机器人就是其中一个自定义技能,挂载到微信通道上。
> 图 1:从微信发消息到收到记账回复的完整链路 设计要点:大模型负责理解你说的话并提取金额、分类、收支方向等参数,真正的记账、汇总、预算计算都在技能的 Python 逻辑里完成,结果确定可复现,不依赖模型的算数能力。数据存在挂载目录下的 SQLite 文件中,与 OpenClaw 容器解耦。
环境准备
两样东西到位即可开始:一个能跑 Docker 的机器(或云厂商一键部署的 OpenClaw)、一个微信号。
1. 确认 Docker 已运行
终端执行
docker --version && docker ps,能输出版本号即正常。未安装请先装 Docker Desktop(Win/Mac)或sudo apt install docker.io(Linux)。2.安装微信官方插件
npx -y @tencent-weixin/openclaw-weixin-cli@latest install为什么不用 WeChaty
OpenClaw 官方提供了微信插件,支持长连接接收消息、主动发送、对话记忆、文本/图片/语音/视频/文件等格式。这是官方推荐方式,稳定性远高于第三方 WeChaty 方案。
第一步:部署 OpenClaw
拉取官方镜像并启动容器,挂载好技能目录和配置文件,后续加技能无需改镜像。
创建工作目录并启动容器
# 1. 创建专属工作目录
mkdir -p ~/openclaw-bot/skills && cd ~/openclaw-bot # 2. 拉取官方镜像(约 380MB,国内已加速) docker pull ghcr.io/openclaw/core:2026.2.5 # 3. 启动容器(注意端口映射和挂载) docker run -d \ --name openclaw-bot \ -p 3000:3000 \ -v $(pwd)/skills:/app/skills \ -v $(pwd)/config.yaml:/app/config.yaml \ -e TZ=Asia/Shanghai \ --restart=unless-stopped \ ghcr.io/openclaw/core:2026.2.5参数说明:
-v $(pwd)/skills:/app/skills把本地 skills 目录挂载进容器,放进来的技能会实时生效;-v $(pwd)/config.yaml:/app/config.yaml挂载配置;--restart=unless-stopped让容器开机自启。启动后访问
http://localhost:3000,看到 Runtime Status: Healthy 即部署成功。第二步:部署记账技能
记账机器人是一个自定义技能,由
skill.yaml(声明触发词/参数)和main.py(记账逻辑)组成。本项目已为你写好,直接放入挂载目录即可。1. 放入技能文件
把随附项目里的
skills/bookkeeping/整个目录复制到~/openclaw-bot/skills/下。2. 放置配置文件
把项目里的
config.yaml放到~/openclaw-bot/下(覆盖空文件)。3. 重启容器加载技能
bash docker restart openclaw-bot刷新 Web UI 的 Skills 页面,应看到 bookkeeping: Enabled ✅。技能目录下的
data/bookkeeping.db会在首次记账时自动创建。热更新:修改
main.py或skill.yaml后,只需docker restart openclaw-bot即可生效,数据库文件不受影响,历史记录保留。第三步:接入微信
在前面安装插件时可登录,若未登录可在终端重新输入该命令生成登录二维码
openclaw channels login --channel openclaw-weixin开始记账:对话演示
下面是真实的微信对话效果(来自技能自测输出)。发完一笔,机器人立刻回复记录详情并附带预算提醒。
记一笔支出(自动归类)
记一笔收入
超支自动告警
查本月账单
全部指令速查
你发送 机器人行为 午餐 35/打车 28记一笔支出,自动归类 工资 +8000/报销 200记一笔收入 本月消费/本月账单查本月总支出/收入/结余 + 分类明细 设置预算 餐饮 2000 设置某分类当月预算 预算配比 餐饮40 交通20 购物20 娱乐20 总额5000 按比例一次性设置各分类预算 预算/余额查各分类预算执行情况 撤销/删除撤销最近一笔记录 进阶定制
技能代码完全开放,按需调整即可。下面是三个最常见改动。
1 增加自定义分类
在
main.py顶部的两个字典里加一项即可,比如加「宠物」类:python # main.py 顶部 DEFAULT_CATEGORIES = [..., "宠物"] CATEGORY_KEYWORDS = { ... "宠物": ["猫粮", "狗粮", "宠物", "疫苗", "洗澡"], }2 改预算告警阈值
默认已花满 80% 提醒「接近上限」。如想改成 70%,把
format_record和format_budget_status里的80改成70即可。3 导出账单到 CSV
可在
main.py加一个导出函数,触发词如「导出账单」,把当月记录写成 CSV 回传。技能返回纯文本,OpenClaw 会原样推送到微信。技能开发零门槛
OpenClaw 的技能只需定义「什么时候触发」和「触发后做什么」。记账技能没写一行大模型相关代码,所有逻辑都在 Python 里,改完
docker restart openclaw-bot即可生效。附录:目录结构
随附项目的完整文件树,对照即可部署。
openclaw-bookkeeping/ ├── config.yaml # OpenClaw 主配置(含微信通道开关) ├── requirements.txt # 依赖说明(本技能仅用标准库) ├── README.md # 项目说明 ├── skills/ │ └── bookkeeping/ │ ├── skill.yaml # 技能声明:触发词 / 参数 / 返回格式 │ ├── main.py # 记账核心逻辑(SQLite 持久化) │ └── data/ # 运行后自动生成 │ └── bookkeeping.db └── README.md部署时把
skills/和config.yaml挂载进容器即可:skills 目录 →/app/skills,config.yaml→/app/config.yaml。教程结束。开始记账,让每一笔花销都心里有数
---
记账技能skill文件下载




