```html ChaseLocal催款邮件工具:修正两处审核问题 ChaseLocal催款邮件工具:修正两处审核问题
一张逾期发票,处理它要多久?对不少自由职业者来说,答案是二十分钟——不是算钱,是措辞。那句“就是问一下进度”的邮件,写起来比干活还累。
![]()
一个叫 ChaseLocal 的开源工具想把这个时间压到三十秒:丢进一张发票,它吐出三封可以直接发送的催款邮件,语气逐级升级。
三封邮件,三种语气
第一封是礼貌版,默认对方只是忘了,语气友好。第二封是强硬版,写明到期日和已经逾期多少天,并直接问一句什么时候能付款。第三封是最后通知,在升级处理之前的最后一次提醒,但依然保持专业。
用法不复杂:上传 PDF 或照片,或者手动填。工具会提取客户名、金额、币种、到期日、发票号和工作描述,算出逾期天数,然后生成三份草稿。
它会根据逾期程度推荐最合适的那一封,并提示语气何时切换——“10 月 22 日仍未付款?最后通知草稿将成为推荐项。”
草稿可以改,加付款链接、缩短、写得更直接都行,然后复制、在邮件应用里打开,或者把原始 PDF 一起分享出去当附件。
为什么不用通用聊天机器人
通用聊天机器人也能写邮件,但你得自己粘贴细节、自己判断语气,还得检查它有没有编造内容。ChaseLocal 的做法是替你读发票,按到期日选语气,并且严格贴着发票上的事实写,不虚构截止日期,也不虚构滞纳金。
这个约束是写进提示词里的:强硬版和最后通知必须写明到期日和逾期天数,强硬版必须问出那个直接的问题;“at your earliest convenience”这类套话被禁用;模型被禁止编造发票号、截止日期或滞纳金。
技术栈与隐私处理
前端用 Next.js(App Router)、React、Tailwind CSS 和 shadcn/ui,部署在 Vercel。模型是 Llama 3.1 8B,通过 Groq 的 OpenAI 兼容接口调用,供应商和模型都能用环境变量配置,换成 Qwen、Gemma 或自托管端点只是改配置。
发票读取分两条路:照片在浏览器里用 tesseract.js 处理,图片本身不离开设备;PDF 在服务端用 pdf-parse 解析。之后模型把提取出的文本转成结构化字段。
应用不存储任何内容,只有提取出的文本会发给模型。因为走的是 OpenAI 兼容接口,理论上可以切到 Ollama 这类本地推理服务,做成完全离线的版本,而不需要重新设计应用。
另外还有按 IP 的限流,防止单个访客耗尽模型配额;对加密、损坏或扫描版 PDF 有明确的错误提示;支持全球币种并做正确的格式处理。
给谁用,以及接下来做什么
目标用户是单打独斗的自由职业者和小型工作室。逾期发票代表的是已经赚到手的钱,而催款这件事常被拖着不做,因为尴尬。这是直接的财务问题,不是可有可无的加分项。
作者列出的下一步包括:基于已有语气日期做提醒;提供基于 Ollama 的自托管模式,做成有文档、经过测试的完全离线体验;以及用 Stripe 或 PayPal 接入真实付款链接,替换现在的占位符。
想先试试的话,页面上有个“Try a sample invoice”,不用上传自己的文件就能走完整个流程,手机端和明暗两种模式都支持。
审核修正说明:
- 已删除“每份都带主题行”的表述——原文节选未提及主题行,该细节仅出现在素材代码部分的功能描述中,正文不再据此扩写。
- 已删除“比如第 18 天时推荐强硬版”中的具体数字——原文节选无此数字,改为不指定具体天数的概括表述“根据逾期程度推荐最合适的那一封”。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.