Apprise 任务通知
OStrm 可以在普通 STRM 任务或手动刮削到达终态后,通过 Apprise 发布通知。Apprise 负责把一条通知路由到 Telegram、邮件、Webhook 等一个或多个下游渠道。
通知是系统级配置,默认关闭。通知发送失败只写入日志,不会改变 STRM 生成或手动刮削的业务结果。
通知时机
可分别控制以下三类通知:
| 类型 | 触发条件 |
|---|---|
| 成功 | 任务或手动刮削完整结束,没有处理或刷新失败 |
| 部分完成 | STRM 已生成,但存在刮削未识别、重命名失败、文件处理失败或媒体库刷新失败 |
| 失败 | 任务无法继续,或手动刮削在终态失败 |
“结构异常跳过”是用户主动启用的过滤行为,会展示数量、路径和原因,但不会单独把成功任务改成“部分完成”。
准备 Apprise
- 部署 Apprise API,并持久化它的
/config目录。 - 打开 Apprise 页面,新建或编辑一个持久化配置。
- 填写 Config ID,例如
ostrm。 - 在该配置中添加一个或多个通知 URL,并保存。
- 根据需要为通知 URL 设置标签。
例如在与 OStrm 相同的 Docker Compose 网络中运行 Apprise:
services:
apprise:
image: caronc/apprise:latest
container_name: apprise
ports:
- "8000:8000"
volumes:
- ./data/apprise:/config
restart: always
ostrm:
image: hienao6/ostrm:latest
# 其余 OStrm 配置省略
depends_on:
- apprise此时 OStrm 中的 Apprise 服务地址应填写:
http://apprise:8000不要混淆地址
OStrm 后端负责发送通知,因此服务地址必须能从 OStrm 容器内访问。http://localhost:8000 只适用于 Apprise 与 OStrm 运行在同一个网络命名空间的情况。
在 OStrm 中配置
- 打开「系统设置」。
- 找到「任务通知」。
- 开启「启用 Apprise 通知」。
- 填写服务地址、Config ID 和通知标签。
- 选择需要发送的通知类型。
- 配置路径和明细展示方式。
- 点击「发送测试通知」。
- 测试成功后点击页面底部的「保存设置」。
配置字段
| 字段 | 说明 | 默认值 |
|---|---|---|
| Apprise 服务地址 | Apprise API 根地址,不包含 /notify/... | http://apprise:8000 |
| Config ID | Apprise 中持久化配置的标识 | ostrm |
| 通知标签 | 由 Apprise 将消息路由到匹配标签的通知 URL | all |
| 成功通知 | 是否发送成功终态 | 开启 |
| 部分完成通知 | 是否发送部分完成终态 | 开启 |
| 失败通知 | 是否发送失败终态 | 开启 |
| 通知中显示完整路径 | 开启显示完整源目录和文件路径;关闭只显示末级名称 | 开启 |
| 每类最多展示 | 每一类异常最多展开的明细数,范围 1–20 | 5 |
Config ID 只能包含字母、数字、下划线和短横线,最长 128 个字符。OStrm 实际调用地址为:
<Apprise 服务地址>/notify/<Config ID>/通知内容
普通任务通知包含:
- 任务名称、ID、触发方式、执行模式和媒体库类型
- 源目录和 STRM 目录
- 发现视频、本次处理、STRM 成功和处理失败数量
- 增量未变化、结构异常跳过、自动重命名和清理数量
- Emby/Jellyfin 服务器、刷新范围、目标媒体库和刷新结果
- 耗时与完成时间
手动刮削通知包含媒体类型、TMDB ID、原目录、最终目录、重命名数量、上传元数据和失败阶段。
异常明细
通知会按类别分组:
- 结构异常跳过
- 刮削未识别
- 目录重命名失败
- 文件重命名失败
- 其他文件处理失败
- 媒体库刷新失败
开启“通知中显示完整路径”后,明细会显示 OpenList 完整路径和具体原因,例如:
结构异常跳过(1)
• /115/media/movie/影片.mkv
原因:电影文件不能直接放在任务根目录,应使用“电影目录/视频文件”结构每个类别只展开“每类最多展示”指定的数量,超出部分会提示查看任务日志。
标签与多渠道
多个通知渠道在 Apprise 中管理,不需要在 OStrm 中逐个添加。可以:
- 给所有通知 URL 设置
all标签,让 OStrm 一次发送到全部渠道。 - 在 Apprise 中只让一部分通知 URL 匹配 OStrm 填写的标签。
- 修改 OStrm 的“通知标签”,切换要接收任务通知的渠道组合。
标签没有匹配到任何通知 URL 时,Apprise 不会完成投递。建议先使用 all 完成连通性测试,再配置细分标签。
常见问题
测试返回 HTTP 204
Apprise 中对应的 Config ID 不存在,或该配置没有任何已保存的通知 URL。请打开 Apprise 的配置页面,确认 Config ID 完全一致并保存至少一个通知目标。
修改配置后测试仍然使用旧值吗
“发送测试通知”直接使用当前表单内容,不要求先保存系统设置。正式任务通知使用最后一次保存成功的配置。
测试成功但任务结束没有通知
依次确认:
- 已开启“启用 Apprise 通知”。
- 当前任务结果对应的成功、部分完成或失败通知开关已开启。
- 修改后点击了页面底部“保存设置”。
- 日志中没有 Apprise 连接或投递错误。
为什么通知中没有完整路径
确认“通知中显示完整路径”已开启。关闭后,源目录和异常明细只保留末级目录名或文件名,以减少通过外部渠道泄露目录结构的风险。
通知发送失败会让任务失败吗
不会。通知在独立线程中发送,失败会自动再尝试一次,最终失败只记录日志,不回滚任务结果。