一个自由职业者打开自己的银行流水,最想知道的其实只有三件事:这个月还健康吗,活少下来现金能撑多久,接下来该做什么。LedgerPilot 就是围绕这个观察做出来的小工具,作者把它定位成给自由职业者和一人公司的现金流副驾。
它不打算再做一个财务仪表盘。用户上传银行、Stripe、PayPal 或记账工具导出的 CSV,工具给出收入、支出、净现金流汇总,分类层面的支出信号,六个月预期与谨慎情形预测,外加三条用大白话写出来的具体行动建议。
产品边界被刻意收窄:一次五分钟的月度复盘,服务的是给客户开票的人,而不是取代会计,也不是做成完整的会计平台。它卖的东西是减少不确定性。
真正有意思的是作者在工程上的一个决定——把数字和语言分开。服务器先解析 CSV,算出事实:收入、支出、分类合计、月度净现金流、月均变化、波动性、现金跑道。预测是确定性的、可解释的,作者的原话是不让语言模型去做普通代码能更可靠完成的算术。
算完之后,结构化摘要才被交给开放权重模型做解读。如果配置了 OLLAMA_URL,LedgerPilot 默认使用 Ollama 和 qwen2.5:3b 模型,要求模型返回一段短 JSON 行动计划:一个标题、三条行动、一个注意事项。
这里藏着一个容易被忽略的细节:系统还有确定性兜底。第一次访问就能用,不需要下载模型、不需要 API 密钥、不会冒出意外账单。界面上会显示当前用的是哪个提供方,用户能分辨这份简报来自本地模型还是内置兜底。
整个应用没有数据库,也不需要连接银行。本地跑起来只要一行 python server.py,线上则作为 Python Web 服务部署在 Render 上,用 /api/health 做健康检查。
为什么要在这种小工具上较真开放创新?作者给出的理由很具体:财务导出不是通用文本,里面可能有客户名、发票金额、固定支出,足以勾勒出一家小公司的准确画像。把这一切发给闭源 API,对 LedgerPilot 想帮的这批人来说是个严肃的产品决策。
开放 AI 让隐私承诺从口号变成可操作的事。自由职业者可以用 Ollama 在本地跑完整流程,文件留在自己机器上;也可以换一个开放权重模型,把推理托管在自己信任的地方,或者干脆用确定性兜底,完全不做推理。
经济账同样变了。一个人公司每月查一次现金流,不该在产品还没产生价值之前就先接受不可预测的按请求计费。开放模型在这里不是装饰,而是可替换的推理层——算术留在普通代码里,模型只负责加一层解读。这个分工让系统更容易审计、更便宜、也更少依赖单一供应商。
代码规模被刻意压到能一口气读完:server.py 管 API、CSV 解析、汇总、预测和 AI 适配器,public/index.html 是产品界面,public/styles.css 是响应式视觉系统,public/app.js 把界面接到分析 API,render.yaml 描述 Render 部署。演示站点点开 Try live demo 就能用样例数据走完整流程,也支持按 date、description、amount、category 四列上传自己的 CSV。
一个 3B 模型被放在账本旁边,却不许它碰加减乘除——这个安排本身就是对当下 AI 产品惯性的一次小小反问。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.