
Actual Budget 25.8.0 版本全解析标签管理页面、货币符号实验特性与快捷键体系升级【免费下载链接】actualA local-first personal finance app项目地址: https://gitcode.com/GitHub_Trending/ac/actual本篇技术指南围绕 Actual一款本地优先的个人财务管理应用发布的 25.8.0 版本展开深入解读该版本三大核心改进——全新的交易标签管理页面、以货币符号显示为代表的实验性功能机制以及可搜索的键盘快捷键帮助菜单同时覆盖命令栏增强、排程交易发布选项、规则与模板修复等一批增强与缺陷修复。读完本文你将掌握该版本的完整功能清单、对应源码实现位置与升级注意事项可直接应用于实际部署与使用。发布概览25.8.0 是 Actual 在 2025 年 8 月发布的常规月度版本官方发布说明将其概括为三项显著改进新增一个用于管理交易标签transaction tags的专属页面引入实验性功能在应用的某些区域显示货币符号升级键盘快捷键帮助菜单使其支持搜索。该版本的 Docker 镜像标签为25.8.0可通过actualbudget/actual-server:25.8.0拉取部署。发布说明还包含 16 项 Feature、28 项 Enhancement、27 项 Bugfix 以及若干 Maintenance 条目其中维护类工作重点包括将.d.ts文件迁移为.tsPR #5208、SelectLinkedAccountsModal组件的 TypeScript 化PR #5059以及引入翻译一致性与覆盖率相关的 lint 规则PR #5212。全新交易标签管理页面25.8.0 之前标签的管理分散在交易备注编辑等交互中本版本为其建立了独立的管理入口用户可以在一个集中页面中完成标签的创建、重命名、着色、隐藏与批量操作。页面与交互构成从源码结构看该功能由三层组成页面容器 ManageTagsPage.tsx一个带 Tags 页头的Page组件内部渲染标签管理主体主体组件ManageTags.tsx与其测试 ManageTags.test.tsx负责列表渲染、行内编辑与批量选择交互数据层 queries.ts 与 mutations.ts分别封装标签读取与变更逻辑。查询层使用 TanStack Query 的queryOptions定义tagQueries.list()通过send(tags-get)拉取标签列表并以staleTime: Infinity缓存、在标签发生变更时手动失效保证多端数据一致。变更层暴露了完整的 mutation 钩子useCreateTagMutation、useUpdateTagMutation、useRenameTagMutation、useDeleteTagMutation、useDeleteTagsMutation、useHideTagsMutation、useUnhideTagsMutation与useDiscoverTagsMutation分别对应tags-create、tags-update、tags-rename、tags-delete、tags-delete-all、tags-hide-all、tags-unhide-all与tags-discover八个后端方法所有失败场景都会通过addNotification弹出错误提示。后端处理器与命名约束服务端实现位于 app.ts所有写操作创建、删除、隐藏、重命名等都包装了mutator(undoable(...))意味着标签管理操作可被纳入 Actual 的撤销栈与同步消息批次。关键实现细节包括标签命名约束renameTag使用正则/^[^#\s]$/校验新名称即标签名不能包含空白字符与#号与创建标签时的约束保持一致同时拒绝重命名为已存在的标签名“A tag with that name already exists”。重命名联动重命名标签时renameTagInNotes来自#shared/tags会扫描所有交易备注中的旧标签引用并同步替换保证备注中的#tag文本与标签本体保持一致。创建去重createTag会先查找同名标签若已存在则直接更新其颜色、描述并清除 tombstone 标记相当于复活已删除标签。批量操作deleteAllTags、hideAllTags、unhideAllTags均通过batchMessages合并为单批同步消息减少客户端同步开销。从交易备注中发现标签该版本还带来一个实用的增强标签页面提供“发现标签”按钮tags-discoverPR #5368。其实现逻辑是扫描所有交易备注使用正则/(?!#)#([^#\s])/g提取形如#tag的文本排除被##转义的场景凡是不存在于当前标签库中的都会自动创建为正式标签。这意味着用户之前在备注里随手写的#旅行、#报销等标签可以一键批量收录进标签体系无需手动逐个创建。标签颜色与同步修复配合新页面PR #5032 允许用户自定义标签颜色PR #5387 修复了标签同步异常的问题涉及youngcw与pogman-code两位贡献者PR #5409 则确保已删除交易的备注不再参与标签搜索。此外PR #5263 修复了使用 Enter 键在“has tag(s)”过滤器中创建空标签的缺陷PR #5386 将has tags相关过滤器整合统一降低查询入口的碎片化。实验性功能货币符号显示25.8.0 引入了一个新的实验性开关PR #5167在应用的某些区域显示货币符号currency symbols。这属于 Actual 实验性功能机制的一部分——Actual 在 2024 年 2 月发布的实验性功能政策中明确规定废弃的实验性功能将被移出代码库且实验性功能不能作为细小视觉/功能怪癖的开关使用例如“分类选择器是否显示隐藏分类”这类场景。货币符号显示之所以采用实验性开关是因为它涉及全局数字格式化行为的调整影响面较广需要社区反馈验证后再决定是否转正。从实现机制看数字格式化行为与hideFraction隐藏小数位偏好紧密相关。桌面端账户页 Account.tsx 通过useSyncedPref(hideFraction)读取该偏好并在渲染流水行、余额等位置按需隐藏小数PR #5288 进一步保证当开启隐藏小数位时所有模板金额template amounts也会被正确舍入避免出现显示与计算不一致的情况。货币符号实验特性正是在此类格式化链路上增加符号渲染开发者可以结合hideFraction、numberFormat等偏好组合观察其在不同页面的效果。可搜索的键盘快捷键帮助菜单25.8.0 对键盘快捷键体系做了整体升级。入口位于帮助菜单 HelpMenu.tsx通过dispatch(pushModal({ modal: { name: keyboard-shortcuts } }))打开快捷键弹窗弹窗本体为 KeyboardShortcutModal.tsx以Modal namekeyboard-shortcuts注册于 Modals.tsx。本版本对它的升级包括可搜索PR #5340快捷键弹窗支持关键字过滤用户输入动作名称即可快速定位对应快捷键无需逐行翻找新增快捷键PR #5330补充了复制交易duplicate transaction、编辑日期edit date、编辑金额edit amount的快捷键命令面板入口提示PR #5334在快捷键弹窗中新增“显示命令面板command palette”的快捷键说明帮助菜单增强PR #5286帮助菜单新增 Discord 社区链接提升用户可发现性与支持可达性配套新增了 Help 菜单的测试PR #5371。命令栏Command Bar增强命令栏是 Actual 的全局快速操作入口25.8.0 对其做了两项增强聚合账户视图PR #5348命令栏新增 On Budget预算内账户、Off Budget预算外账户、All Accounts全部账户三种聚合视图入口用户可快速跳转到按预算属性归类的账户集合账户余额展示PR #5355命令栏中直接显示账户余额在执行跳转前即可预览各账户当前余额。排程交易发布选项25.8.0 为排程交易schedules新增了发布时机选项PR #5359发布排程交易时可选择今天发布或按下一排程日期发布。服务端实现位于 schedules/app.ts 的postTransactionForSchedule它根据today参数决定交易日期——date: today ? currentDay() : schedule.next_date随后以addTransactions将交易写入对应账户交易初始状态为未结清cleared: false并关联schedule.id以便追踪。配套修复还包括PR #5319 允许周期超过 1 个月的每日间隔排程在中间月份正确参与预算PR #5290 在排程交易表格中新增备注列。规则、模板与预算相关增强25.8.0 在规则与预算模板方向有一批值得关注的改进转账触发规则PR #5279由转账transfer自动创建的交易现在也会触发规则但仅作用于备注notes与结清cleared字段避免规则误伤金额等关键数据周模板扩展PR #5295week 模板从固定周期扩展为支持天、周、月、年的周期模板余数模板上限PR #5301余数remainder模板现在会尊重上限up to limits优先级与模板收入修复PR #5316修复追踪预算中使用优先级与模板收入时的模板计算问题净财富报表区间选择PR #5282净财富报表新增区间选择器报表 Totals 行着色PR #5104ReportTable 的 Totals 行支持颜色显示移动端批量应用模板PR #5293移动端分类组菜单新增“应用本组所有预算模板”按钮。其他值得关注的修复25.8.0 的 Bugfix 清单覆盖了从数据导入到界面细节的多个方面以下按主题归类隐私模式PR #5281启用隐私模式时隐藏余额图表数值上下文菜单PR #5269、#5358上下文菜单操作现在作用于所有选中的交易/收款人无选中项时不再误弹菜单交易导入PR #5247修复importTransactions()的defaultCleared选项未被使用的问题规则模板PR #5259修复日期上的规则模板化导致崩溃的问题目标设定PR #5239基于历史平均值设定预算目标的函数现在正确忽略隐藏分类移动端性能PR #5405移除移动端运行余额running balance功能以改善大账户性能结算reconcile流程PR #5373、#5446修复结算数值初始点击选择、空值时输入框被隐藏的问题批量更新金额PR #5360修复批量金额更新时崩溃的问题GoCardless 银行同步PR #5344修复 Boursorama 银行多行交易收款人错误的问题PR #5309 将 Bank of Valletta 加入历史数据受限银行列表日期格式PR #5353新增 DD-MM-YYYY 日期显示格式选项PR #5356 与 #5423 修复日期选择器的mm/yyyy输入校验及空日期回车崩溃问题。升级与验证建议升级到 25.8.0 前建议关注以下几点版本获取自托管用户使用 Docker 镜像actualbudget/actual-server:25.8.0对应文档中的 Docker tag桌面端用户等待各平台发布渠道推送新功能试用交易标签管理页面与“发现标签”功能对已有大量#备注标签的用户价值最高可先在测试预算中批量收录标签并验证颜色自定义与隐藏效果货币符号显示属于实验性功能建议在备份预算后开启观察各页面渲染效果并按实验性功能政策关注其后续去留回归重点若你重度依赖排程交易请验证“今天发布”与“下一排程日期发布”两种路径若使用转账请确认转账触发规则后的备注/结清字段是否符合预期若使用隐藏分类请复核预算目标与超支横幅PR #5305 修复了追踪预算中隐藏分类被计入超支横幅的问题的表现。小结25.8.0 是 Actual 在标签体系、排程发布与快捷键体验上的一次集中升级标签从“备注里的散兵游勇”进化为拥有专属管理页面、颜色、发现与批量操作的一等公民货币符号实验特性展示了项目以 feature flag 渐进式打磨格式化体验的工程实践可搜索的快捷键弹窗则显著降低了高级用户的学习成本。对于自托管用户25.8.0镜像同时附带了一批影响数据准确性的修复默认结清选项、规则模板崩溃、同步异常等值得及时跟进升级。【免费下载链接】actualA local-first personal finance app项目地址: https://gitcode.com/GitHub_Trending/ac/actual创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考