AI PLAY玩法更新持续收录
← 回到更新流

2026-10-10 · 原文发布日

n8n模板:Chatwork记账便签经Claude提取后写入Google Sheets

该n8n流程每5分钟轮询指定Chatwork房间,新消息先存入Google Sheets日志,含关键词(默认#記録)的便签交给Claude提取成结构化记账JSON,再由代码校验金额、原文引用、日期与科目,相对日期换算不靠AI。合格的写入records表,存疑的标记'要確認',并可在Chatwork回执记录结果。

原文要点

原文描述免费n8n模板:每5分钟轮询配置的Chatwork房间,清理消息标记、过滤旧消息/系统消息/自身回执,新消息追加到Google Sheets的log页签;含关键词(默认#記録)的便签先查records页签去重,再交Claude提取成记账JSON;代码校验金额须原文出现、引用须命中、币种须为日元、科目须在清单内,昨日、10/3、先週金曜等相对日期由代码而非AI换算;可疑记录标要確認并附日文理由,可选在Chatwork回执。作者自测30条短便签(Claude Haiku 4.5):26条普通便签对25条,4个陷阱拦住3个;'12,000円 x 2泊'会被记成12,000,因为代码不做算术。每5分钟轮询在n8n Cloud约8640次/月(作者的推算)。

这次做成什么

搭建“Chatwork记账便签→Claude提取→代码校验→写Sheets并回执”的流程,理解AI提取加代码兜底的双层结构,并用含陷阱的合成便签验证校验逻辑。

准备什么

  • Chatwork账号及API令牌(作者称免费套餐API可用),建议用专用账号发回执
  • Google账号及一张自建空白表格,Anthropic API密钥
  • 持续运行的n8n实例(流程每5分钟轮询一次)
  • 几个用于测试的Chatwork房间ID

具体怎么做

  1. 初始化表格与凭据

    建空白Google表格,按模板说明先跑一次“建表”分支生成log与records两个页签及表头,再在所有Google Sheets节点选中该表格。配置Chatwork(HTTP Header Auth的x-chatworktoken)、Google Sheets OAuth2、Anthropic三个凭据。

  2. 设置Config

    在Config节点填房间ID列表、触发关键词(默认#記録)、科目清单及各科目的示例(原文强调示例影响提取质量)、消息最大时限、时区,以及是否在Chatwork回执。练习阶段先把回执关掉。

  3. 理解轮询与过滤

    Schedule Trigger每5分钟触发,流程拉取房间列表和各房间最新消息,把Chatwork标记清理成纯文本,过滤旧消息、系统消息和自身回执,只保留本轮未见过的消息,并逐条写入log页签留痕。

  4. 提取与校验

    含关键词的消息先查records去重,再送Claude按提示词提取一条或多条JSON记录;随后的代码节点逐条校验:金额数字必须出现在原文、quote必须是原文片段、币种必须是日元、科目必须在Config清单内,相对日期由代码换算成实际日期。合格写records标OK,存疑标要確認并写原因。

  5. 用合成便签测试

    在测试房间发3条便签:1条正常、1条金额不在正文、1条'x 2泊'乘法陷阱,手动运行一次,检查log、records的状态列和原因列。

可直接复制的材料

记账便签提取提示词(本站编写)

本站编写的练习提示词;科目清单应与Config中的清单及示例保持一致,原文提示示例对准确率影响明显。

你是记账信息提取器。从日文便签中提取费用或销售记录,只返回JSON数组,每个元素格式为{"amount":数字,"currency":"JPY","quote":"原文中包含金额的连续片段","date_text":"原文中的日期表述或空字符串","category":"科目","memo":"一句话摘要"}。科目只能从给定清单中选择:[交通費, 宿泊費, 飲食費, 消耗品費, 売上]。金额必须是在原文中明确写出的数字,不要计算、不要推测;找不到金额的便签返回空数组。

校验规则清单(本站整理)

依据原文Additional info整理的校验边界,已知缺口为作者自述的测试结果。

{"rules":["amount的数字必须能在便签原文中找到","quote必须是原文连续子串","currency仅接受日元","category必须命中Config科目清单","昨日/10月3日/先週金曜等日期词由代码换算,不采用AI给的日期"],"knownGap":"代码不做算术:'12,000円 x 2泊'只会记录12,000,两个金额选错也不会被发现"}

合成测试便签(三条)

本站虚构便签;第三条是作者提到的乘法陷阱,预期只记12,000而非24,000,用于确认你知道这一边界。

#記録 10/3 新幹線 東京→大阪 14,720円 出張交通費
#記録 昨日 クライアント会食 8,500円 飲食費
#記録 ホテル代 12,000円 x 2泊 宿泊費

输入与输出示例

本站虚构演示,未实际调用Claude或Chatwork,日期换算结果取决于运行时区。

输入

测试房间发便签:#記録 昨日 クライアント会食 8,500円 飲食費

对应输出

log页签新增该消息的纯文本记录;records页签新增一行:amount=8500、currency=JPY、quote='8,500円'、日期为代码换算的昨日实际日期、category=飲食費、status=OK。若发'8,500円'改成'約9千円'这种非明确数字,则状态为要確認并附日文原因。

做完检查这些

  • 正常便签在records中状态为OK,金额、quote、科目与原文一致,日期由代码换算
  • 便签中无明确金额数字时,记录标要確認而不是被丢弃,原因列为日文说明
  • '12,000円 x 2泊'记录为12000,确认你理解该已知缺口而非误以为已修复
  • 同一便签重复轮询不会二次入账(records去重生效)

容易卡住的地方

  • 回执以API令牌所属账号发出,作者建议用专用账号,否则回执显示为你本人所发
  • 每5分钟轮询约8640次执行/月(作者推算),n8n Cloud计费前先核算额度
  • 代码不做算术也不判断两个写出的金额孰对,重要账目仍需人工核对要確認行
  • 便签内容会发送给Anthropic,含敏感信息时先评估合规性
  • 科目清单改了但示例没改会拉低提取质量,两者须一起维护

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Record Chatwork expense and sales notes to Google Sheets with Claude checks
原作者
久保田 卓磨
原始发布日期
2026-10-10T09:07:59.455Z
来源
https://n8n.io/workflows/20733