普通视图

记账工具 Firefly III

2025年12月7日 16:50

前言

多亏 Firefly III 让我养成了记账的习惯,快半年的时间里几乎每天能用上,收支一笔记一笔。在此之前我是一个完全不记账的人,反观老婆对记账是非常积极的,起初这个工具也是为了她方便记账而部署。

工作性质使得她有为家庭收支记账的习惯,且一直使用 Excel,对于公式函数之类的 Excel功能玩的算是很溜,以至于不屑于用那些记账 App。然而使用 Fireflyiii 一段时间下来,坚持在用的是我,而老婆最终回归 Excel,她习惯就好。

选择

那会老婆问我有没有好用的工具来平替 Excel 记账,并提了几点要求,首先是排除手机应用商店中的记账 App,再是功能要符合她的记账习惯,三是可以让她随时随地记账,重要的是能在电脑上使用。让我找的话当然是开源为首,根据她的习惯往复式记账类方向找,于是便在搜索引擎找,在饭桶中心找,还挺多的,把问题抛给 ChatGPT 得到如下表格(以各自官方文档为准):

项目 移动端 桌面端 自托管 中文支持
Actual PWA Web / PWA ✔ ❌
Firefly III Android/iOS Web ✔ ✔
ezBookkeeping PWA Web / PWA ✔ ✔
GnuCash Android Windows / macOS / Linux ✖ ✔
Money Manager Ex Android/iOS Windows / macOS / Linux ✖ ✔

根据此推荐琢磨了一翻,最终选择了 FireflyIII。

实用

FireflyIII —— 开源、自托管,支持多种部署方式,采用复式记账法,报告功能丰富,预算、类别标签和自动化等,并且提供 REST API,可以说是该有的都有。官方有 Demo 站 (语言可在偏好设置中改成中文),方便新人了解 FireflyIII 全方面功能。

我很喜欢它的几点功能:

预算 :设置好预算后,以进度条的方式展示我的支出及上限,虽然每个月都是超出把进度条撑红~;

订阅 :把周期性账单放在这里,比如我的 Apple iCloud+ Music 订阅,及月付的服务器续费、话费等,可以设置交易日期,让我知道这个周期是否付过,下个周期是什么时候该缴钱。

定期交易 :顾名思义就是时间一到便自动创建交易记录,我会把一些到期自动从账户中扣固定金额的订阅放在这里,它可以完成 订阅 中的项目,让该项订阅变成已付状态。有个问题就是我的 Apple 订阅是美金账单,虽然 Fireflyiii 有汇率功能,但定期交易无法自动完成汇率转换。

管理后台有丰富的收支 图表,且要是不知道钱都花到哪里去了,试试创建 对账 或生成 报表,一目了然。

以上截图为官方演示站

部署

Fireflyiii 支持 Docker、K8s 及 MySQL+PHP 的方式部署,更多信息可参考官方文档,我则以 Docker Compose 的方式把它部署在 NAS 中,利用 Cloudflare Tunnel 来实现远程使用。

官方提供标准的 Docker Compose 文件,内容包含了数据库,以及用来实现定期交易和自动更新汇率的 Cron,且推荐用 .env 来配置变量。而我的部署场景是已有正在使用的数据库 MariaDB,Cron 用 青龙面板 来实现,且习惯直接在 Compose 文件中添加变量,方便自己。

根据官方文档去部署完全没问题,要了解有哪些变量及作用可以查阅 Docker 部署文档中的 .env 示例。以下只列出推荐添加的几个变量及开启个别功能:

#...其它省略...
  environment:
    #... 推荐添加
    - DEFAULT_LANGUAGE=zh_CN        # 默认界面语言
    - SITE_OWNER=admin@example.com  # 管理员Email
    - APP_KEY=APP_KEY=base64:xxx    # 生成加密密钥,用于加密敏感数据和会话
    - APP_ENV=production            # 表明生产环境
    - TRUSTED_PROXIES=**            # 让反代正常工作
    - TZ=Asia/Shanghai              # 时区
    #... 以下看个人需求,我开启了邮件提醒、Webhooks及汇率
    - MAIL_FROM=user@example.com    # 发送人Email,用于通知
    - MAIL_MAILER=smtp
    - MAIL_HOST=smtp.example.com
    - MAIL_PORT=587
    - MAIL_ENCRYPTION=tls
    - MAIL_USERNAME=user
    - MAIL_PASSWORD=xxx
    - ALLOW_WEBHOOKS=true           # 开启Webhook功能
    - ENABLE_EXCHANGE_RATES=true    # 开启汇率功能
    - ENABLE_EXTERNAL_RATES=true    # 开启更新汇率
#...其它省略...

以上几点功能必须在变量中开启,其它所支持的通知方式有 ntfy、Slack、Pushover,这三种通知方式可在后台设置,看个人喜好。

Fireflyiii 支持多用户,部署后第一个注册的用户将自动成为管理员,而后会禁止注册。若要多用户可在后台启用注册,或以分享邀请链接的形式新增用户。

客户端

FireflyIII 官方并没有 Web 之外的应用,但它提供 REST API 支持,所以有丰富的第三方应用,官方给了个应用列表自己挑。桌面端自然使用 Web,移动端能让人随时随地快速地记上一笔,我认为好用且使用最多的是 iOS客户端 Abacus;其次是针对移动设备优化 PWA 的 Firefly-Pico(需自行部署,支持 Docker,阅安装文档);安卓客户端推荐 Waterfly III,老婆用 Fireflyiii 时在手机上安装过,一样非常不错。

新建交易看起来要填很多东西,但 Abacus 和 Pico 都能快速克隆已有交易表单,使得一些日常账单新增起来方便快速;另外 Pico 在新建交易时可实时汇率转换,对于一些有外币账单的人来说非常实用。

尾声

FireflyIII 是个很棒的开源个人财务管理工具,自托管 + 数据自主,非常适合想要长期掌控自己财务状况的人,在 GitHub 上已有约21.7k ⭐,社区挺活跃的,有兴趣的朋友可以试试。

至于我老婆不喜欢用,她认为“复杂”、“不习惯”。那会还花时间设置好常用的收支类目、标签、分类等,尽量达到让她只需输入几个字点一点便完成记账之程度,哎哟自作多情了。

用壁纸引擎制作BB动态壁纸

2025年5月24日 23:20

壁纸引擎即 Wallpaper Engine,对于 Steam 玩家来说一定不陌生,我的 Windows 电脑开机进入桌面后首个画面就是它给的,在 Steam 平台史低售价18元,应该都入库了吧。最有魅力的还是它的 Steam 创意工坊内容,里面的壁纸只有你想不到,没有你找不到,懂得都懂嘻嘻嘻。

Wallpaper Engine

Wallpaper Engine 使您可在 Windows 桌面上使用动态壁纸。它支持各种类型的动画壁纸,包括 3D 和 2D 动画、网站、视频、乃至某些应用程序。选择现有壁纸,或创建自己的壁纸并在 Steam 创意工坊上分享!此外,您还可以使用适用于 Android 的 Wallpaper Engine 免费伴侣应用程序,将您最喜爱的壁纸传输到 Android 移动设备,并随身携带动态壁纸。

以上引用内容是它在 Steam 中的介绍,80多万评测其中98%好评如潮!只可惜不支持 MacOS,可见官方的解释

强大的创意工坊可以找到想要的各类壁纸,如果自己有DIY需求,可以利用 Wallpaper Engine 的编辑器功能自己手搓;创意工坊中的壁纸均是各路大佬通过编辑器功能所制作,内容非常丰富哟。

此次老婆想让我帮她电脑做一个关于儿子的动态壁纸,便利用它的编辑器功能简单的制作了几个,她很喜欢下面这张嘿嘿。留空和滑动偏移为考虑到她桌面要放的东西多,这样可避免过多的视觉妨碍,选的BB照片也蛮合适动来动去的哈哈。先给大家看看成品(马赛克后加):

我的思路是先选好儿子的照片并利用 Photoshop 扣出,然后在 Illustrator 或 CorelDRAW 等矢量图形制作软件中简单设计出版式;动态壁纸嘛就要动起来,因此需要各元素层独立,待版式定形后根据构思的动态互动,将各制作好的矢量元素归类并导出成 PNG 透明图片。如下图所示一些做好的素材:

Vector
Wallpaper Engine编辑器

将这些 PNG 图片以组件的形式添加到 Wallpaper Engine 编辑器,然后对图层进行调整及添加一些互动元素。动作比较简单,用的最多的功能是视差,就是鼠标移动图层反向移动,并添加了时钟及鼠标轨迹元素,还有一些简单的图层特效,小功告成。

其实还有做其他的样式,但都被老婆愤怒地否决了;我确实有点恶搞过头,添加了些不良的东西:打火机烟和酒~其中打火机和烟盒是通过实物摆好角度照着大概弄,花了点小心思,本以为是惊喜,结果是惊怒!老婆验收时被她暴骂一顿🤕~切记!🚫未成年人禁止烟酒!!!

此次壁纸制作用到编辑器的小部分功能,还有更多的功能待研究。之前也有弄过几个壁纸,不过只是在 YouTube 博主 pwnisher 的 “Top 100 3D Renders from the Internet’s Biggest CG Challenge” 系列中找喜欢的视频,然后下载下来制成简单的视频壁纸而已。

Wallpaper Engine 的性价比与可玩性很高,功能强大资源丰富,不论是想找中意的桌面壁纸还是想自己高度自定义创作,它均可以胜任,喜欢折腾桌面的小伙伴不妨一试。

❌