跳转到主要内容

Beancount.io 3.6 夏季发布:更智能的导入、可操作的 AI,以及重建的移动体验

阅读需 1 分钟Mike ThriftMike Thrift
Beancount.io 3.6 夏季发布:更智能的导入、可操作的 AI,以及重建的移动体验

纯文本账本可以给你完全的控制权,但保持其更新也可能成为一件苦差事。

一位黏土风格的记账员将收据和手机连接到笔记本电脑与一条绿色的可审计账本变更轨迹。

一张收据躺在你的相机胶卷里。银行交易堆积起来等待审查。一个简单的问题需要查询,而一个小小的修正必须等到你回到电脑前才能完成。这些任务单独来看都不难,但放在一起,它们就足以制造足够的摩擦,让可靠的账本落后于现实生活。

这就是我们在 2026 年一直致力于解决的问题。

Beancount.io v3 奠定了坚实的基础:你的账簿是纯文本的,每次更改都有 Git 历史记录,并且你的数据保持可移植性。在 3.6 中,我们专注于缩短从事件发生到它成为账本中可信条目之间的距离——同时不牺牲透明度来换取黑箱操作。

第一个瓶颈:将数据导入账本

Smart Import 将导入的交易分配到账本账户,供用户在写入前审核。

手动录入是精确的,但这也是记账积压的开始。财务数据通常以不方便的形式出现:PDF 对账单、银行电子表格、纸质收据,或者不知道你的会计科目表的交易流。

我们从推出 Smart Import 开始。它将对账单、电子表格、收据和图片转换为结构化的 Beancount 条目。你不再需要复制行和修复语法,而是审查可编辑的结果,并决定哪些内容属于账本。

通过 Plaid 进行银行同步 现在遵循同样的原则。它可以将交易映射到你账本中已有的账户,并建议分类,但最终决定权在你手中。在过去的几个月里,我们增加了按银行和账户筛选、控制哪些关联账户被共享、按账户设置货币,以及选择导入条目目标文件的功能。

收据抓取完成了整个闭环。在网页上上传收据或在移动应用中拍照,Beancount.io 就会提取有用的详细信息并准备一笔交易供你审查。自动化处理转录工作,而你保留会计判断。

第二个瓶颈:将理解转化为行动

年初,Ask AI 只是一个只读的分析师。它可以回答关于余额、支出和账户历史的问题,但在需要修改账本的关键时刻就止步了。

这个界限是安全的,但并不总是有用。如果助手发现了一笔错误分类的费用,你仍然需要退出对话,找到正确的文件,编辑它,然后自己验证结果。

在 6 月份,Ask AI 变成了一个具有行动能力的智能体。它可以执行 BQL 查询、检查文件、读取上传的收据,并准备账本编辑。在写入任何内容之前,你会看到提议的更改并批准或拒绝它。接受的编辑变成普通的 Git 提交,因此它们保持可见、可审查和可撤销。

然后,我们将同样的能力开放给了人们已经在使用的工具。Beancount MCP 服务器 通过账本级 OAuth 2.1 将账本连接到 Claude、Cursor、Windsurf、Zed 和其他兼容 MCP 的客户端。你可以在不导出账簿副本到其他工作流的情况下,提出财务问题或准备编辑。

关键不在于让 AI 悄悄管理你的财务,而在于让 AI 做机械性的工作,同时将人工审批和 Git 历史记录置于核心地位。

记账不应止步于离开办公桌时

重建后的移动应用展示了首页仪表盘、可搜索交易和原生 Beancount 文件编辑器。

移动应用是这个承诺中最薄弱的环节。它可以显示有用的信息,但有太多实际任务仍然需要网页仪表板。今年夏天,我们围绕人们离开办公桌时真正需要做的工作重建了应用。

新的主屏幕首先展示最重要的账户和趋势。账户现在支持下钻和开设新账户。交易可以按状态、日期和账户进行搜索和筛选;多分录录入是默认流程;现有交易可以编辑或删除。报表将收入、支出和资产负债表视图整合在一起,而不是分散在单独的标签页中。

应用还可以扫描收据、建议账户、浏览和编辑 Beancount 文件、显示账本错误、展示最近的 Git 更改,以及跟踪预算。多币种金额更清晰,图表支持触摸交互,账本抽屉让在个人、企业和共享账簿之间切换更加容易。

一些最重要的变化故意不太显眼。会话凭证现在存储在操作系统的钥匙串或密钥库中。加载、深色模式、导航和下拉刷新行为得到了与新界面同样多的关注。应用继续支持 13 种语言。

它不再仅仅是一个查看余额的伴侣,而是一种在活动发生的任何地方维护账本的实用方式。

在网页上整合所有组件

当前 Beancount.io 网页仪表盘展示了公开示例账本的损益表。

随着导入、AI 和移动端能力的增强,网页仪表板也需要感觉像一个统一的工作区,而不是功能的集合。

仪表板现在具有可定制的概览、更简单的导航、更清晰的首启引导、账户开设和关闭、批量日记操作、预算历史、收据上传,以及从分录账户直接链接到报表。Smart Import、银行同步、Ask AI、文件、报表和版本历史现在共享更一致的工作流程和视觉风格。

在界面之下,我们将仪表板迁移到服务端渲染,将认证状态迁移到 PostgreSQL 和 Redis,加强了对登录和 Git 端点的保护,并扩展了关键工作流的自动化测试。我们还构建了一个由 Rust/WASM 引擎驱动的新 TypeScript 账本服务,并进行了平行测试。其生产切换正在谨慎推进,现有 Python 服务在验证期间保留为回滚路径。

理想情况下,你不需要考虑任何这些基础设施。你应该只会遇到更少的延迟、更少的意外,以及一个在网页、移动端、Git 和 AI 之间行为一致的产品。

3.6 的真正意义

个别功能很重要,但更大的变化是连接它们的工作流程。

一笔交易可以从银行流、文档、手机照片、表单、文本编辑器或与 AI 助手的对话开始。它仍然会结束在同一个地方:一个带有可审计 Git 历史的纯文本 Beancount 文件。便利性不再需要以可移植性或控制权为代价。

这就是 3.6 的承诺。

展望 4.0:完全开源

Beancount.io 4.0 的目标更大:让完整的 Beancount.io 产品完全开源。

网页仪表板和移动应用已经在公开环境中开发,还有 CLI、报表工具和面向编码智能体的技能。剩下的主要部分是连接这些客户端到托管账本的后端。开放它将使产品架构更接近 Beancount.io 从一开始就遵循的原则:如果你能拥有自己的财务数据,你也应该能够检查并帮助塑造管理它的软件。

从目前到 4.0 之间仍有工程和文档工作要做。我们希望最终的结果对贡献者来说是可理解、可维护和有用的——不仅仅是源码的堆砌。Beancount.io 3.6 是通往那个未来的重要一步:一个统一的财务工作区,今天建立在开放格式之上,并朝着完全开放的技术栈迈进。

帮助我们公开构建 4.0

Beancount.io 3.6 已在 beancount.io 上线。如果你也期待一个完全开源的财务技术栈,请在 GitHub 上为 Beancount.io 点亮 Star。每一个 Star 都能帮助更多开发者、会计从业者和纯文本记账用户发现这个项目,也让你能够第一时间见证我们迈向 4.0 的过程。

分享这篇文章