
Actual Budget 25.9.0 版本解析移动端规则管理、Pluggy.ai 银行连接与自动化后端落地【免费下载链接】actualA local-first personal finance app项目地址: https://gitcode.com/GitHub_Trending/ac/actualActual 25.9.0 是 Actual Budget本地优先的个人理财应用在 2025 年 9 月发布的稳定版本核心围绕三大能力展开为移动端补齐规则Rules页面并提供独立编辑页、在报表中显示实验性预算货币、正式发布实验性的 Pluggy.ai 银行连接器。本文基于 官方 25.9.0 发布说明 展开并结合仓库源码desktop-client、loot-core、sync-server逐项剖析新特性、增强与修复的底层实现帮助读者理解每个功能的落地位置与使用方式。版本概览与升级方式本版本对应的 Docker 标签为25.9.0发布说明明确该版本包含若干新功能与大量修复。升级时按仓库根目录的 Dockerfile 与 docker-compose.yml 构建或拉取25.9.0镜像即可自托管用户也可直接使用actualbudget/actual-server:25.9.0镜像在 sync-server 目录下同样提供了 docker-compose.yml 与 Ubuntu/Alpine 两套 Dockerfile。核心新特性1. 移动端规则页面查看、管理、编辑一体化自 25.9.0 起Actual 在移动端正式提供了规则Rules页面用户可以在手机上查看、筛选、创建、编辑和删除规则。这一系列改动由多个 PR 组成#5390新增移动端规则页面用于在移动设备上查看和管理规则#5516将移动端规则编辑抽取为独立页面优化导航体验#5556移动端规则编辑支持通过确认弹窗删除规则#5587移动端新建规则的默认阶段由pre改为default。从源码看移动端规则列表页面位于 packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx其核心流程为通过send(rules-get)拉取全部规则并监听undo-event在撤销后自动刷新列表支持按文本过滤内部使用getNormalisedString归一化后匹配ruleToString生成的描述文本列表会过滤掉已完成completed的排期关联规则点击规则跳转到/rules/{rule.id}编辑页MobileRuleEditPage.tsx删除规则调用rule-delete-all若规则与排期关联导致删除失败会弹出 warning 通知成功删除则展示可撤销Undo提示。配套的 UI 组件还包括 AddRuleButton.tsx、RulesList.tsx 与 RulesListItem.tsx。在桌面端#5543为移动端独立编辑页提供了组件基础。2. 报表页面显示实验性预算货币#5283 为报表Reports页面增加了货币显示能力使实验性预算experimental budget中的货币得以展示。该功能与实验性功能开关联动用户需先在设置中启用相关实验选项报表才会体现对应的货币单位。3. 正式发布实验性 Pluggy.ai 银行连接器#5628 将 Pluggy.ai 银行同步集成正式纳入实验性发布。Pluggy.ai 是面向拉丁美洲金融市场的银行连接服务作为 GoCardless 之外的又一银行数据源选项。从 sync-server 源码可以看到完整的服务端接入路由挂载于/pluggyai见 sync-server/src/app.tsapp.use(/pluggyai, pluggai.handlers)处理器实现位于 app-pluggyai/app-pluggyai.js提供三个接口POST /pluggyai/status返回当前凭据来源per-budget-file/global/ 未配置POST /pluggyai/accounts按 itemId 拉取账户列表POST /pluggyai/transactions按账户与起始日期拉取交易区分已入账booked与待处理pending交易并计算起始余额。SDK 封装位于 pluggyai-service.js基于pluggy-sdk的PluggyClient实现凭据通过 secrets-service.js 存储支持全局与按预算文件两种凭据作用域。代码中还有若干细节值得注意信用卡CREDIT账户的金额会做符号反转trans.amount * -1起始余额同样取负信用卡分期installment交易会通过addMonthsClamped按分期期数修正交易日期避免 31 日加月跳月的边界问题Pluggy 沙箱数据账户 owner 为John Doe会将起始日期强制设为2000-01-01以便拉取全部历史数据。需要说明的是Pluggy.ai 连接器目前仍为实验性功能其可用性、机构覆盖范围与稳定程度以官方后续发布为准在使用前请确认你的银行机构是否在 Pluggy 覆盖范围内。4. 自动化的后端基础与 UI 连接25.9.0 还为预算自动化Automations功能埋下了地基#5532 增加支持自动化 UI 的后端逻辑#5533 将自动化 UI 与后端打通。从源码看loot-core 侧暴露了budget/get-category-automations与budget/set-category-automations两个方法见 loot-core/src/server/budget/app.ts分别对应goalActions.getTemplatesForCategory与goalActions.storeTemplates桌面端则在 BudgetAutomationsModal 目录下实现了完整的自动化编辑界面AutomationEditorPane、AutomationListRow、CleanupListRow、ConflictBanner 等并配套 BudgetAutomationsModal.test.ts 测试。该功能同样属于实验性范畴需在设置中开启后使用。增强项解读25.9.0 包含多项面向使用体验的增强报表时间范围#5419通过getLiveRange以priorYearToDate模式计算范围与已有的 Year to date、Last month、Current quarter 等预设并列展示在报表日期范围选择器中。排期相关#5482 在即将到来的交易upcoming transactions备注中显示排期名称#5580 将其限定为仅在即将到来的交易中展示。对账体验#5521 对账窗口同时展示绝对日期如08/08/2025与相对日期如3 days ago#5528 修复了对账窗口中的数学计算错误Bug #5527。余额历史图开关#5452 为侧边栏账户悬停提示中的余额历史图新增显隐开关。银行同步细节#5458 银行同步页面对最近一次同步时间提供更详细的悬停提示#5479 新增瑞典银行 Länsförsäkringar有限历史的 GoCardless 解析支持#5383 为慕尼黑 Stadtsparkasse 的 GoCardless 交易解析补充了交易信息到备注。货币扩展新增卡塔尔里亚尔#5456、波兰兹罗提#5472、瑞典克朗与土耳其里拉#5477、印度卢比#5483、菲律宾比索#5507。导入#5461 支持从 nYNAB 导入分类备注。移动端#5605 预算横幅显示未分类/超支总额#5607 移动端友好的 DateSelect 组件#5604 子交易支持 Make Transfer 菜单#5574 提升标签tags可读性。工具提示#5475 为 Tooltip 组件增加可配置的关闭延迟。重要修复一览发布说明列出了数十项 Bug 修复按主题归纳如下移动端#5072 修复多账户视图中预览交易不加载、未分类拆分交易不加载的问题#5415 修复移动端交易钩子与交易加载体验#5126 通过 AutoTextSize 增强移动预算表格的响应式文本缩放#5589 移动端未分类交易视图隐藏转账交易#5429 修复移动导航的响应式布局以适配更长文本/翻译。规则与排期#5529 修复 link schedules 条件的显示#5600 补充规则页面对排期的描述条件#5406 排期日期选择中 add specific days 换行并动态调整数字输入宽度#5519 修复日期失焦导致其他按钮全部禁用的问题。报表与预算#5520 修复汇总报表中负数显示#5495 修复实时报表日期模式不支持两个月窗口的问题#5573 修复日历报表卡片渲染循环#5608 修复按金额过滤时崩溃#5526 修复交易表中偶尔选中隐藏分类的问题#5496 当 to budget 为负时隐藏 hold for next month 选项#5594 修复部分堆叠模板条件下 by template 计算不正确的问题#5541 修复 SpendingCard 崩溃。账户与交易#5462 阻止账户关闭到自身#5438 允许基于已关闭账户的转账收款人进行过滤#5485 与 #5523 修复合并时旧收款人名称显示#5460 自定义映射字段缺失时收款人回退到默认值#5418 收款人列超长名称用省略号截断防溢出#5464 移除批量前置/追加备注时自动添加的空格与规则动作保持一致。翻译与本地化主要贡献者 milanalexandre#5396、#5411、#5421、#5471、#5486、#5514、#5549、#5565、#5634 等补齐了规则、报表、排期状态、关闭账户、导入交易弹窗等界面文本的多语言支持。其他#5457 修复系统默认浅色主题下标签颜色异常#5398 标签颜色默认改为 null回退到主题色并加强标签校验#5579 相同 redux action 已 pending 时避免重复调用数据库#5623 修复 sync server 在 arm64 Mac 上启动失败#5631 修复 Docker 健康检查脚本#5643 支持 webRoot 位于隐藏目录如.cache#5659 修复收入弹窗余额不显示。维护与工程化进展#5379#5566、#5567 移除未使用的依赖包 reselect、sourcemap、processRedux 状态重构contributor: joel-jeremy#5581 账户状态迁入 accountsSlice、#5592 收款人状态迁入 payeesSlice、#5593 分类状态迁入 budgetSlice、#5597 标签状态迁入 tagsSlice、#5598 queriesSlice 更名为 transactionsSlice#5576 修复 AutoTextSize 警告#5591 为 Command bar 增加视觉回归测试VRT#5544 文件为仓库目录分配维护负责人#5404 允许 fork 仓库通过 workflow dispatch 触发 Docker edge 镜像构建#5480 合并自动包版本号 workflow#5497 升级 sync-server 依赖。小结与升级建议25.9.0 是 Actual 在移动端体验、银行连接生态与自动化功能储备上的一个关键版本移动端规则页让手机端也具备完整的规则管理能力Pluggy.ai 连接器为拉美用户提供了新的银行同步选项自动化后端与 UI 的打通则为后续版本的完整自动化功能铺路。升级前建议先备份预算文件可参考 backup-restore 文档并在实际银行环境验证 Pluggy.ai 的可用性后再启用相关实验性开关。【免费下载链接】actualA local-first personal finance app项目地址: https://gitcode.com/GitHub_Trending/ac/actual创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考