Skip to content

Apprise 任务通知

OStrm 可以在普通 STRM 任务或手动刮削到达终态后,通过 Apprise 发布通知。Apprise 负责把一条通知路由到 Telegram、邮件、Webhook 等一个或多个下游渠道。

通知是系统级配置,默认关闭。通知发送失败只写入日志,不会改变 STRM 生成或手动刮削的业务结果。

通知时机

可分别控制以下三类通知:

类型触发条件
成功任务或手动刮削完整结束,没有处理或刷新失败
部分完成STRM 已生成,但存在刮削未识别、重命名失败、文件处理失败或媒体库刷新失败
失败任务无法继续,或手动刮削在终态失败

“结构异常跳过”是用户主动启用的过滤行为,会展示数量、路径和原因,但不会单独把成功任务改成“部分完成”。

准备 Apprise

  1. 部署 Apprise API,并持久化它的 /config 目录。
  2. 打开 Apprise 页面,新建或编辑一个持久化配置。
  3. 填写 Config ID,例如 ostrm
  4. 在该配置中添加一个或多个通知 URL,并保存。
  5. 根据需要为通知 URL 设置标签。

例如在与 OStrm 相同的 Docker Compose 网络中运行 Apprise:

yaml
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 服务地址应填写:

text
http://apprise:8000

不要混淆地址

OStrm 后端负责发送通知,因此服务地址必须能从 OStrm 容器内访问。http://localhost:8000 只适用于 Apprise 与 OStrm 运行在同一个网络命名空间的情况。

在 OStrm 中配置

  1. 打开「系统设置」。
  2. 找到「任务通知」。
  3. 开启「启用 Apprise 通知」。
  4. 填写服务地址、Config ID 和通知标签。
  5. 选择需要发送的通知类型。
  6. 配置路径和明细展示方式。
  7. 点击「发送测试通知」。
  8. 测试成功后点击页面底部的「保存设置」。

配置字段

字段说明默认值
Apprise 服务地址Apprise API 根地址,不包含 /notify/...http://apprise:8000
Config IDApprise 中持久化配置的标识ostrm
通知标签由 Apprise 将消息路由到匹配标签的通知 URLall
成功通知是否发送成功终态开启
部分完成通知是否发送部分完成终态开启
失败通知是否发送失败终态开启
通知中显示完整路径开启显示完整源目录和文件路径;关闭只显示末级名称开启
每类最多展示每一类异常最多展开的明细数,范围 1–205

Config ID 只能包含字母、数字、下划线和短横线,最长 128 个字符。OStrm 实际调用地址为:

text
<Apprise 服务地址>/notify/<Config ID>/

通知内容

普通任务通知包含:

  • 任务名称、ID、触发方式、执行模式和媒体库类型
  • 源目录和 STRM 目录
  • 发现视频、本次处理、STRM 成功和处理失败数量
  • 增量未变化、结构异常跳过、自动重命名和清理数量
  • Emby/Jellyfin 服务器、刷新范围、目标媒体库和刷新结果
  • 耗时与完成时间

手动刮削通知包含媒体类型、TMDB ID、原目录、最终目录、重命名数量、上传元数据和失败阶段。

异常明细

通知会按类别分组:

  • 结构异常跳过
  • 刮削未识别
  • 目录重命名失败
  • 文件重命名失败
  • 其他文件处理失败
  • 媒体库刷新失败

开启“通知中显示完整路径”后,明细会显示 OpenList 完整路径和具体原因,例如:

text
结构异常跳过(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 完全一致并保存至少一个通知目标。

修改配置后测试仍然使用旧值吗

“发送测试通知”直接使用当前表单内容,不要求先保存系统设置。正式任务通知使用最后一次保存成功的配置。

测试成功但任务结束没有通知

依次确认:

  1. 已开启“启用 Apprise 通知”。
  2. 当前任务结果对应的成功、部分完成或失败通知开关已开启。
  3. 修改后点击了页面底部“保存设置”。
  4. 日志中没有 Apprise 连接或投递错误。

为什么通知中没有完整路径

确认“通知中显示完整路径”已开启。关闭后,源目录和异常明细只保留末级目录名或文件名,以减少通过外部渠道泄露目录结构的风险。

通知发送失败会让任务失败吗

不会。通知在独立线程中发送,失败会自动再尝试一次,最终失败只记录日志,不回滚任务结果。