Developer · Creator · Doer
A programmer who loves tinkering — a NAS enthusiast, passionate about coding, with a few small projects under my belt. This is my corner of the web for projects, writing, and ideas.一个爱折腾的程序员 —— NAS 爱好者,写代码,也攒了几个小项目。这里是我放项目、文章和一些想法的地方。
Who I am
I build things at the intersection of AI, code and curiosity.以代码为径,在 AI 与未知的交汇处且行且探。
Always chasing the next challenge - whether that's a gnarly problem, a new language, or a side project that refuses to leave my head.总在奔赴下一个挑战——一个棘手的问题、一门新语言,或一个在脑子里挥之不去的灵光。
Mobile Engineer移动端工程师
Building mobile experiences that feel fast, smooth, and reliable.把移动端做得又快、又顺、又可靠。
Indie Developer独立开发者
Shipping ideas end to end — from first commit to launch.从第一次 commit 到上线,一个人把想法做完。
NAS EnthusiastNAS 玩家
From storage to self-hosting — always tinkering with my home NAS.从存储到自托管,家里的 NAS 永远在折腾。
Reader阅读者
From fiction to non-fiction — always chasing the next good story.小说到非虚构,总在追下一个好故事。
Selected work精选作品
Featured projects精选项目

FnMessageBots(日志推送)
飞牛 NAS 的事件监控机器人:只读轮询 SQLite 事件库,一轮轮询合并成一条汇总后分发到 10 种渠道。Python 单进程,Docker / FPK 双发行,应用中心 7 万+ 下载。

家底(家庭总账)
不记流水、不做预算、不连银行的家庭总账:一次盘点只填余额。Node 22 零第三方依赖,单文件账本 + 原子写 + 加密备份,fnOS 微应用 / Docker / 纯 Node 三种跑法。

Pome Panel(桌面工作台)
Electron 桌面工作台:待办、笔记、链接、录音、9 家 AI 工具额度与完成提醒。工作区可配对飞牛 NAS 多端同步,服务端 CAS + 客户端 rebase,无云端。

FnMessageBots
An event monitor for fnOS NAS boxes: it polls the read-only SQLite event database, folds each poll into one summary, and fans it out to 10 channels. Single-process Python, shipped as Docker and FPK, 70k+ App Center downloads.

Jiadi — household ledger, balances only
A household ledger that skips transactions, budgets and bank connections: one check-in, balances only. Node 22 with zero third-party dependencies, a single-file ledger with atomic writes and encrypted backups. Runs as an fnOS micro app, in Docker, or as plain Node.

Pome Panel (desktop workbench)
An Electron desktop workbench: todos, notes, links, recordings, quotas for 9 AI tools, and completion alerts. The workspace can pair with an fnOS NAS to sync across machines — server-side CAS, client-side rebase, no cloud.
From the blog博客随笔
Latest writing最近写的
「日志推送」十个推送渠道怎么配:从企业微信到自建 Webhook
企业微信、钉钉、飞书、Bark、企业微信应用、SMTP、PushPlus、魔法推送、通用 Webhook、MeoW —— 十个渠道的准备步骤、要填什么、各自的坑,以及排错对照表。
November 8, 20262026年11月8日21 min read约 12 分钟FnMessageBots:让 NAS 主动给你发消息
从「自己去看日志」到「日志主动找人」——这台小机器人的来龙去脉,以及 Docker 和 FPK 两条安装路线、怎么配、怎么用、怎么验证它真的在工作。
November 8, 20262026年11月8日18 min read约 11 分钟家底怎么用:从建账到每月盘点
成员、账户、每月一次盘点、趋势与分人视图、只读报告、隐私遮罩、加密备份 —— 按操作顺序走一遍家庭总账。
November 8, 20262026年11月8日14 min read约 8 分钟Configuring the ten push channels: from WeCom to your own webhook
WeCom, DingTalk, Feishu, Bark, the WeCom app, SMTP, PushPlus, MagicPush, a generic webhook, MeoW — what each one needs, what to type where, where each one bites you, and a troubleshooting table.
November 8, 20262026年11月8日14 min read约 8 分钟FnMessageBots: get your NAS to message you first
From "I should check the logs" to "the logs found me" — how this little bot came about, the two install routes (Docker and FPK), how to configure it, how to use it, and how to prove it is actually running.
November 8, 20262026年11月8日12 min read约 7 分钟How to use Jiadi: from first setup to the monthly check-in
Members, accounts, one check-in a month, trends, per-person splits, read-only reports, a privacy mask and encrypted backups — the household ledger, in the order you will actually use it.
November 8, 20262026年11月8日9 min read约 5 分钟