增加全局与来源级订阅过滤,统一正式处理与测试预览。修复电驴链接提示和 AI 规则生成格式兼容问题,并补齐回归测试。 重写项目介绍,补全快速开始、日常使用、常见问题和文档导航。 Co-Authored-By: Claude Code <noreply@anthropic.com>
167 lines
9.3 KiB
YAML
167 lines
9.3 KiB
YAML
# ===== Reelay 配置示例 =====
|
||
# 一般不需要手写:首次启动会生成 data/config.yaml,之后在管理台「设置」「插件」页修改,自动写回这个文件。
|
||
# 想直接编辑时,复制为 data/config.yaml;有效配置会被重载,新任务使用新策略,已接收任务保留快照。
|
||
# 密钥(AI / TMDB key、Telegram API、控制 Bot Token、Web 密码)不写在这里,在管理台「设置」中填写,
|
||
# 保存在 data/secrets.json。
|
||
|
||
# ---------------------------------------------------------------- 系统配置
|
||
system:
|
||
# 可替换 Provider;配置保存/启动会校验名称
|
||
providers:
|
||
source: telegram
|
||
notify: [console]
|
||
|
||
# 115 目录别名 -> cid 映射(转存目标,可随时切换)
|
||
save_dirs:
|
||
电影: "0" # 填你 115 里对应目录的 cid(0 仅占位)
|
||
剧集: "0"
|
||
动漫: "0"
|
||
默认: "0"
|
||
|
||
# 监听多个 bot,各挂各的规则(先设全局默认,再按 bot 覆盖)
|
||
defaults:
|
||
approval_mode: manual # manual(人工确认)| auto(AI 处理:规则都通过就直接转存,拿不准的仍交给你)
|
||
bot_notify: true # Bot 通知:推送审批卡片与入库通知;关闭后在管理台处理,出问题的提醒照常发送
|
||
subscriptions_only: false # 仅处理订阅:开启后需匹配有效订阅的作品与季,否则直接忽略,不进入待审批
|
||
parser: llm # llm | regex;LLM 异常/非法输出降级后必须人工确认
|
||
llm_response_format: json_schema # 不支持 schema 的兼容接口可显式用 json_object,仍严格本地校验
|
||
decision: subscription # default(只按规则)| subscription(规则 + 订阅放行)| llm(再加自然语言偏好)
|
||
storage: p115
|
||
confidence_threshold: 0.5 # 置信度由标题/类型/年份/TMDB 匹配等确定性信号计算,不采信 LLM 自报值
|
||
preferences: "" # decision=llm 时,例如:只收 4K 电影,动画放入动漫目录
|
||
episodes_from: share # share:以分享内文件名为准并跳过已入库的集 | message:只转存消息声明的集
|
||
save_to: 默认
|
||
|
||
sources:
|
||
- bot: "@example_movie_bot"
|
||
approval_mode: manual
|
||
save_to: 电影
|
||
# 来源自己的识别规则(逐字段正则,没写的字段用通用规则):规则识别直接使用,
|
||
# AI 识别时作为参考,AI 不可用时兜底。管理台来源卡片的「识别规则」可让 AI 按最近的消息起草
|
||
# parse_rules:
|
||
# title: '^名称:(.+?)\s*\(\d{4}\)'
|
||
# episodes: 'E(\d+)'
|
||
filters:
|
||
must_have: ["115.com", "115.cn"]
|
||
block_keywords: ["广告", "招商", "投稿", "频道"]
|
||
# 结构化规则(可用管理台「用一句话生成规则」起草):识别与 TMDB 补全后按字段判断
|
||
# allow: [{origin_country: "CN,HK,TW"}] # 命中任一条才收
|
||
# deny: [{genre_ids: "10764,10767"}] # 真人秀、脱口秀不收
|
||
# min_resolution: 1080p # 清晰度未知时转人工
|
||
|
||
# 高度信任的源:AI 处理 + 自然语言偏好;低置信度、TMDB 未匹配和 LLM 降级仍会转人工
|
||
- bot: "@example_tv_bot"
|
||
approval_mode: auto
|
||
decision: llm
|
||
preferences: "只要 4K 或 1080p 的国产剧和日本动画,综艺不要"
|
||
save_to: 剧集
|
||
forward:
|
||
enabled: false # 来源级覆盖,全局 target/template 继续继承
|
||
|
||
# 追剧订阅与「不再接收」的作品不在配置里:在管理台「追剧订阅」、Telegram 审批卡片与 MCP 里维护,存在数据库中。
|
||
|
||
# 转发(识别成功后按模板转发到目标,可一键开关)
|
||
forward:
|
||
enabled: false
|
||
target: "@your_archive_channel"
|
||
template: "🎬 {title} ({year}) {resolution}\n📦 {size}\n🔗 {link}"
|
||
|
||
# 审批超时兜底(manual 卡片久未处理)
|
||
approval:
|
||
timeout_hours: 24
|
||
on_timeout: remind # remind(提醒)| skip(超时忽略)
|
||
reminder: digest # digest:所有超时任务合并成一条汇总 | card:逐条重推确认卡片
|
||
max_reminders: 3 # 每条最多提醒次数,之后不再提醒但保留在待审批(0 = 不限)
|
||
|
||
# 每日系统事件(日报、追更巡检)的发送时刻,本地时间 0-23 点
|
||
schedule:
|
||
daily_hour: 9
|
||
|
||
# AI 能力:人工裁决回流、转人工前兜底、审批建议与「改为自动转存」建议
|
||
ai:
|
||
examples: 3 # 识别时参考同一来源最近几条人工修正(0 关闭)
|
||
history: 20 # decision=llm 时参考同一来源最近几条批准与忽略(0 关闭)
|
||
assist: true # 分享里的文件按规则无法确定时先让 AI 给方案,方案经同一套规则校验
|
||
advice: true # 待审批附建议动作与理由(动作由规则决定,AI 只措辞)
|
||
suggest_auto: {min_decisions: 20, approve_rate: 0.9, max_correct_rate: 0.1}
|
||
|
||
# 同一集多个版本时的偏好:收件箱推荐版本与洗版共用,列表顺序即优先级
|
||
release:
|
||
prefer_subtitles: [chs, cht] # chs | cht | eng | jpn | kor
|
||
prefer_audio: [] # mandarin | cantonese | english | japanese | korean
|
||
hdr: any # any | prefer | avoid
|
||
prefer_sources: [] # remux | bluray | web-dl | webrip | hdtv | dvd
|
||
|
||
# AI 服务(OpenAI 兼容接口):base_url 留空用 OpenAI 官方地址
|
||
llm:
|
||
base_url: ""
|
||
model: gpt-4o-mini
|
||
reasoning_effort: "" # none | minimal | low | medium | high | xhigh | max;留空不传,各模型支持的取值不同
|
||
|
||
# TMDB:base_url 留空用官方地址;国内连不上时可改用 https://api.tmdb.org/3 或自己的反向代理
|
||
tmdb:
|
||
base_url: ""
|
||
language: zh-CN
|
||
timeout: 10
|
||
|
||
# Telegram:控制 Bot 只服务 owner_id(你的数字 ID);监听启动时按来源补拉停机期间的消息
|
||
telegram:
|
||
owner_id: ""
|
||
backfill_limit: 200 # 每个来源最多补拉条数,0 关闭
|
||
backfill_max_days: 7
|
||
alert_after_sec: 120 # 消息源断开多久告警
|
||
|
||
# 115 请求治理:各类接口每秒请求数,触发风控后全部接口暂停的秒数
|
||
p115:
|
||
open_qps: 3
|
||
cookie_qps: 2
|
||
share_qps: 1
|
||
risk_cooldown_sec: 3600
|
||
|
||
# 网络代理:国内网络连不上 Telegram、TMDB 或 AI 服务时使用;115 始终直连
|
||
proxy:
|
||
url: "" # http://192.168.1.2:7890 或 socks5://127.0.0.1:1080,留空不使用;需要认证时写成
|
||
# http://用户名@地址:端口,密码在管理台「设置 → 网络代理」中填写(保存在 secrets.json)
|
||
telegram: true # 监听、控制 Bot 与登录(改了重启主进程生效)
|
||
tmdb: true
|
||
ai: true # 用国内的 AI 服务或本地模型时可以关掉
|
||
|
||
# 主进程:同时处理的任务数与日志级别(重启生效)
|
||
runtime:
|
||
concurrency: 3
|
||
log_level: INFO
|
||
|
||
# ---------------------------------------------------------------- 插件配置
|
||
# plugins.<插件名>:enabled 开关(不写按插件默认)与该插件的设置;转存检查点仍绑定原 Provider 和文件 ID
|
||
plugins:
|
||
tmdb_enrich: {enabled: true}
|
||
share_probe: {enabled: true}
|
||
failure_explainer: {enabled: true} # 失败解释:任务停下来等人处理时说明原因与建议操作
|
||
|
||
# 媒体库整理(管理台「插件」页维护):转存前选存放目录,转存后按 Jinja2 模板改名归类,变量同 MoviePilot。
|
||
# 目录名中的 [tmdbid=xxx] 在 TMDB 匹配成功时写入,Jellyfin/Emby 据此精确刮削。
|
||
organizer:
|
||
enabled: true
|
||
# 目录方式:category(二级分类,规则随插件发布:reelay/plugins/organizer/category.yaml)
|
||
# | media_type(按媒体类型,见 type_dirs)| none(不分类)
|
||
layout: category
|
||
# 按媒体类型时的文件夹名;anime 留空则动漫不单独分
|
||
type_dirs: {movie: 电影, tv: 剧集, anime: 动漫}
|
||
naming:
|
||
movie: "{{title}}{% if year %} ({{year}}){% endif %}{% if tmdbid %} [tmdbid={{tmdbid}}]{% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{% if videoCodec %} {{videoCodec}}{% endif %}{% if audioCodec %} {{audioCodec}}{% endif %}{{fileExt}}"
|
||
tv: "{{title}}{% if year %} ({{year}}){% endif %}{% if tmdbid %} [tmdbid={{tmdbid}}]{% endif %}/Season {{season|pad2}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %} - 第 {{episode}} 集{% if videoFormat %} - {{videoFormat}}{% endif %}{% if videoCodec %} {{videoCodec}}{% endif %}{% if audioCodec %} {{audioCodec}}{% endif %}{{fileExt}}"
|
||
# 库里已有同一集 / 同一部的文件时:manual(转人工,默认;可在管理台选删除转存文件或覆盖保存)| skip(保留旧文件,新文件进回收站)
|
||
# | suffix(新文件加「 (2)」并存)| upgrade(洗版:按版本偏好更好则替换,旧文件进回收站)
|
||
conflict: manual
|
||
|
||
# 缺集追更:订阅的剧(在管理台「追剧订阅」管理,存在数据库里)之外,也自动跟踪最近有更新的剧
|
||
episode_tracker:
|
||
enabled: true
|
||
track_all: true
|
||
lookback_days: 30
|
||
|
||
# 每日日报;配置了 AI 时开头附一段提醒
|
||
daily_report:
|
||
enabled: true
|
||
narrative: true
|