飞牛 NAS · 事件日志推送

日志一直在写,
你只是不在看。

只读轮询飞牛 NAS 的事件库。一轮里发生的事合成一条汇总,送达到你已经开着的消息软件里。 默认每 5 秒查一次,影视、音乐库连续 60 秒没有新增才结算一轮。

fnOS 微应用 · Docker · Python 单进程 · 10 个通知渠道

运行方式
Python 单进程
分发渠道
10
配置端口
18080 / 18230
发行
Docker / FPK
01 — 运行示例interface preview

一次轮询,一条消息。

下面这段是界面示意:几秒内把新日志读进来、合并成一条汇总、再分发到各个渠道。真实部署默认每 5 秒查一次。

eventlogger / logger_data.db3 轮询中
21:14影视《某剧 S02E03》入库完成
21:15磁盘存储空间 1 唤醒
21:16系统软件更新检查完成
21:16音乐专辑《某专辑》入库 12 首
21:17磁盘存储空间 2 休眠

本轮还在收日志,汇总会在轮询结束时生成

本轮日志汇总3 条
  • 影视入库 1 部 · 刮削完成 2 部
  • 磁盘存储空间 1 唤醒 1 次(同类型已合并)
  • 系统更新检查完成,无需处理
送达 0 / 10
02 — 怎么工作

四件事,都在你自己的机器上做完。

事件库只读打开,配置和待发队列都留在本地。没有云端账号,也没有第三方中转。

01

只读轮询

定时查 log 表,以只读方式打开,只取启动之后的新记录。不写日志表、不改系统设置。

mode=ro · 默认 5s
02

合并与去重

300 秒去重窗口内同一事件不重复打扰;同一类型的磁盘事件 5 秒内合并;影视、音乐库静默 60 秒后结算。

dedup 300s · merge 5s
03

静默与队列

勿扰时段只累计、结束后补发一条;待发通知落盘保存,全部渠道都失败时保留整批、至少间隔 60 秒重试。

outbox · retry 60s
03 — 支持的渠道10 / 10

同一份汇总,按各家的格式发出去。

每个渠道可单独开关、单独填 key。消息直接从你的 NAS 发往各渠道。

01企业微信群机器人
02企业微信应用应用消息
03钉钉群机器人
04飞书群机器人
05BarkiOS
06PushPlus微信
07魔法推送App
08MeoWApp
09SMTP 邮件邮箱
10通用 Webhook自定义
企业微信 · 群机器人21:16 送达
飞牛NAS-影视处理汇总
> 入库 1 部:某电影(2024)
> 刮削完成 2 部
> 磁盘唤醒 1 次(已合并同类型)
Bark · iPhone21:16 送达
飞牛NAS-影视处理汇总
入库 1 · 刮削 2 · 磁盘唤醒 1
通用 Webhook21:16 送达
{ "title": "飞牛NAS-影视处理汇总",
  "content": "…" }
04 — 配置页
localhost:18230 · 通知配置
企业微信https://qyapi.weixin.qq.com/c…
钉钉https://oapi.dingtalk.com/…
飞书https://open.feishu.cn/…
Barkhttps://api.day.app/••••••
SMTPsmtp.example.com:465
去重窗口300 秒
勿扰时段22:00–07:00
标题前缀飞牛NAS

默认监听本机,带访问密码。

Docker 版默认端口 18080,FPK 版安装时默认 18230,仅本机可访问,从飞牛桌面打开。

保存即生效。 改完点保存,配置热加载,一般不需要重启容器。

key、token、SMTP 密码在页面上打码显示。密码不会明文保存,部署时可用环境变量预置初始密码(仅未设过密码时生效)。

另有历史记录页,能翻到最近的推送记录(最多保留 1 万条),以及哪些渠道投递失败过。

05 — 安装

装完就能配,不用写配置文件。

Docker 适合大多数情况;飞牛应用中心装 FPK 更省事,装完点开就能配。

docker compose
# 挂载 fnOS 的事件库(只读即可)
services:
  fn-message-bots:
    image: sunanang/fn-message-bots:latest
    container_name: fn-message-bots
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /usr/trim/var/eventlogger_service:/usr/trim/var/eventlogger_service:ro
      - ./config:/app/config
      - ./data:/app/data
飞牛应用中心 · FPK
# 用上面的按钮下载 .fpk
# 应用中心 → 手动安装 → 选择文件

# 或从源码打包(需要 fnpack)
./scripts/build-fpk.sh
v2.8.0 · 2026-11-09 最新版本 全部历史版本 →
飞牛应用中心包 FnMessageBot-2.8.0.fpk
712 KB 下载
root 版 FnMessageBot-2.8.0-root.fpk
712 KB 下载
SHA-256 校验值
96ff82881266b542b0edb9942487adc68170188cdc1f66bb24119e65237d2220  FnMessageBot-2.8.0.fpk
ccf0751132bf71d77709b76a58fb0da1af40ec685d89d33e8c0878c12357ee99  FnMessageBot-2.8.0-root.fpk

两个包只差安装权限:一般装普通版;需要写系统目录时才用 root 版。

06 — 常见问题

会被问到的几件事。

它会不会改我的日志或系统?+

不会。数据库只读打开,只查启动之后的新记录;它不写日志表、不改系统设置,除了自己的配置目录和本地数据目录(./config、./data)不落任何文件。

为什么一轮只收到一条,而不是每条都推?+

这是刻意的。一次导入会刷出几十条记录,逐条推送只会让人屏蔽群。打开「轮询汇总模式」后,一轮的日志按轮询批次合并成一条汇总;影视、音乐库还会在连续 60 秒没有新增后合成一条本轮汇总。默认是逐条推送 + 300 秒去重。

半夜磁盘唤醒的提醒怎么关掉?+

开勿扰模式(默认关闭,时段默认 22:00–07:00)。时段内不推送、只累计,结束后汇总成一条补发;同一类型的磁盘事件在 5 秒窗口内本来也会合并成一条。

某个渠道挂了,消息会丢吗?+

不会。待发通知会落盘保存,全部渠道都失败时保留整批、至少间隔 60 秒重试;连续失败达到阈值可触发进程内重启通知链路(默认关闭,可开启)。

能装在多台 NAS 上吗?+

能,每台各跑一份、各配各的渠道。不建议多个进程指向同一个数据目录:一个数据目录只允许一个进程。

支持哪些事件类型?+

影视入库与刮削、磁盘唤醒与休眠、音乐入库与移除、收藏与歌单变更、备份任务结果、相册共享与人脸识别、WAN IP 变化、SSH 登录与超时、系统更新等。可在配置页逐项开关。

Web 访问密码忘了怎么办?+

密码不会明文保存,也没有找回通道。部署时可用环境变量 FNMB_WEB_PASSWORD 预置初始密码(仅在还没设过密码时生效)。

开始

让它来告诉你,
今天 NAS 上发生了什么。

下载 v2.8.0

开源 · MIT 许可 · Python 3.9+