73 Commits
Author SHA1 Message Date
DerrorsandClaude Code d27857c4d4 fix: 修复电驴电影探测并发布 v1.5.2
统一电影选片的季集字段,修正空季集摘要并补齐回归测试。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-04 23:19:16 +08:00
DerrorsandClaude Code 30d42ed97b fix: 修正云下载核验状态并发布 v1.5.1
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-01 15:18:04 +08:00
DerrorsandClaude Code 07b5d526b6 chore: 发布 v1.5.0
修复影视字段片名识别,精简 README,并同步已发布功能说明。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-01 12:22:17 +08:00
DerrorsandClaude Code ecae44a6b4 feat: 支持仅处理订阅并完善项目使用指南
增加全局与来源级订阅过滤,统一正式处理与测试预览。修复电驴链接提示和 AI 规则生成格式兼容问题,并补齐回归测试。

重写项目介绍,补全快速开始、日常使用、常见问题和文档导航。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-01 11:22:51 +08:00
DerrorsandClaude Opus 5.5 60e1a46341 chore: 发布 v1.4.1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:11:31 +08:00
DerrorsandClaude Opus 5.5 e45eb66abd chore: 发布 v1.4.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 08:58:13 +08:00
DerrorsandClaude Opus 5.5 be42c3330c feat: 支持电驴(ed2k)链接,交给 115 云下载后照常核对、整理入库
只有电驴链接、没有 115 分享的消息:从正文、超链接与消息按钮(链接按钮、「点击复制」)识别链接,按链接里的文件名与大小选集、显示大小与版本,
加成 115 云下载任务下到独占暂存目录,读回核对后整理入库;没下完时后台复查并写明进度,下载失败不再重试。
同一个链接 115 只认一个任务:旧任务已完成或失败时删掉记录再添加,还在下载时稍后重试;核验通过后删掉任务记录(不删文件)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 08:57:56 +08:00
DerrorsandClaude Opus 5.5 45b13487c0 feat: 一张来源卡片可以填多个来源,共用这张卡片的设置
sources[].bot 可以写成列表(只有一个时仍是字符串,旧配置不用改),一个来源只能出现在一张卡片里。
消息匹配、一句话生成规则、AI 评估的屏蔽词、接入向导按卡片处理;确认统计与「改为 AI 处理」的建议按卡片合起来算。
管理台的「Bot 或频道」可以用逗号分开填多个,识别规则对话框可选从哪个来源取样例。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 07:33:32 +08:00
DerrorsandClaude Opus 5.5 abe78e4b2c chore: 发布 v1.3.3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 21:22:47 +08:00
DerrorsandClaude Opus 5.5 3a5c966a54 chore: 发布 v1.3.2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 14:10:13 +08:00
DerrorsandClaude Opus 5.5 b9ae25b49f chore: 发布 v1.3.1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:31:19 +08:00
DerrorsandClaude Opus 5.5 b38ecb5e57 chore: 发布 v1.3.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-28 10:53:36 +08:00
DerrorsandClaude Opus 5.5 3049211e6f fix: 已入库的集直接跳过,AI 偏好判断不再选择保存目录,AI 评估兼容直接回数组
放行判断时,识别可靠、TMDB 已匹配且消息里的集都已入库的直接跳过,不再交给你确认(批准了也会在转存前被去重拦下)。
「AI 按偏好判断」只决定放不放行,保存位置只按来源的「保存到」与二级分类。
要求只含一个数组字段的结构时,模型直接回数组也照常校验(统计页「AI 评估」、待审批的建议措辞)。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-28 10:53:21 +08:00
DerrorsandClaude Opus 5.5 583deead34 chore: 发布 v1.2.2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 23:04:31 +08:00
DerrorsandClaude Opus 5.5 12f07721a1 chore: 发布 v1.2.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-27 16:42:43 +08:00
DerrorsandClaude Opus 5.5 5dede2468f chore: 发布 v1.2.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 23:04:44 +08:00
DerrorsandClaude Opus 5.5 b91fa34299 feat: 来源设置的「转存方式」改名为「放行方式」,显示所选方式的说明
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-26 23:04:16 +08:00
DerrorsandClaude Opus 5.5 466922b743 chore: 发布 v1.1.2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 19:39:36 +08:00
DerrorsandClaude Opus 5.5 7b7dd40963 chore: 发布 v1.1.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 19:16:27 +08:00
DerrorsandClaude Opus 5.5 38d62d7c0e chore: 发布 v1.1.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 14:52:34 +08:00
DerrorsandClaude Opus 5.5 9db99e9108 feat: 支持网络代理,Telegram、TMDB 与 AI 服务可分别走 HTTP / SOCKS5 代理
- 新增系统配置 proxy:代理地址与 Telegram、TMDB、AI 服务各自的开关;115 始终直连,
  没开代理的服务按原来的方式连接(TMDB 与 AI 仍认 HTTP(S)_PROXY)
- 代理密码作为密钥 proxy_password 存在 secrets.json,地址里只写用户名;与 AI 密钥一样绑定地址,
  改了地址自动清除,测试时也只发给已保存的地址
- Telegram 监听、控制 Bot 与终端登录经 Telethon 的 proxy 参数连接,监听重试时读取最新配置;
  直连失败的提示指向「网络代理」
- TMDB 走代理时改用 httpx2(标准库不支持 SOCKS),报错与直连一致且不带含 api_key 的地址;
  AI 客户端经代理连接,代理变了重建客户端
- 管理台新增「网络代理」页签:地址、代理密码、服务开关与「测试代理」(先确认代理可达,
  再逐项连接,Telegram 只建立连接不登录)
- 依赖:python-socks(Telethon 代理)、socksio(httpx2 的 SOCKS5),constraints.txt 同步
- 文档:配置参考、快速开始、配置示例与 CHANGELOG

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 14:51:02 +08:00
DerrorsandClaude Opus 5.5 ffd91abfd1 chore: 发布 v1.0.3
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 10:21:04 +08:00
DerrorsandClaude Opus 5.5 bbaa5bf2c2 chore: 发布 v1.0.2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 09:18:27 +08:00
DerrorsandClaude Opus 5.5 981223add2 chore: 发布 v1.0.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 00:09:12 +08:00
DerrorsandClaude Opus 5.5 9ce5343da2 fix: 首次打开管理台先设置登录密码,局域网设备也能完成
- 还没有密码时,管理台先显示设置密码页,设好后直接登录;NAS 上没有浏览器时,用局域网里的设备也能完成首次设置
- 首次设置(POST /api/auth/setup)只在请求来自局域网或本机、地址栏是 IP 或 localhost 时可用:挡住公网请求与 DNS 重绑定;
  设好之前其他接口仍只接受本机访问,设好一次后不能再用
- 用域名或从公网打开时说明原因(请用 IP 地址打开);Web 登录密码至少 8 个字符
- 快速开始、部署、配置参考、SECURITY 与 README 同步说明

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 00:08:39 +08:00
DerrorsandClaude Opus 5.5 4346b41964 chore: 发布 v1.0.0
- 版本号改为 1.0.0,classifier 改为 Production/Stable
- README 状态说明改为正式版:遵循语义化版本,1.x 内配置与数据格式保持兼容
- 文档中的镜像版本示例改为 1.0.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 23:33:04 +08:00
DerrorsandClaude Opus 5.5 a578a9e84c docs: 文档与实现对齐
- 架构:状态机(人工忽略为 skipped)、按版本的配置快照、补拉、StorageBusy 与风控暂停
- 部署:没设密码只允许本机、匿名可访问的接口、按 IP 限流与可信代理、健康检查;配置参考:订阅移出配置、密钥随地址清除、补全环境变量
- 插件指南:存储 Provider 契约、requires_storage、能力查询与 Services、UsesAI
- README 中英:入库与通知示例按当前默认命名,去掉 chown 步骤,状态改为 Beta;快速开始的界面文案对齐
- CONTRIBUTING:代码与测试结构、依赖锁定;CHANGELOG [Unreleased] 精简

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 23:15:11 +08:00
DerrorsandClaude Opus 5.5 833ed2e672 refactor(console): 管理台统一请求与类型,可用操作由后端给出
- TypeScript strict;统一的请求封装与按领域的接口模块;数据路由,离开设置页前确认未保存的修改
- 任务与待审批的可用操作按后端返回的 actions 显示;媒体库改用 /api/library
- AI 设置换了地址时要求填写这个地址的密钥,保存后提示被清除的密钥
- 无法访问时整页说明原因(如没设密码时从其他设备打开);页脚显示版本号;Telegram 监听显示「未登录」
- 「用一句话生成规则」重新排版;删除未用的组件、样式与依赖

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 23:15:04 +08:00
DerrorsandClaude Opus 5.5 47f1e799b4 feat: 日常操作基本都能在 Telegram 上完成,来源可配置识别规则
- Telegram:卡片上修正识别或重新识别;/pending、/failed 点开卡片处理,可一键全部批准或忽略;
  /subs 管理订阅与订阅建议,/ignored 恢复接收;命令登记到菜单,各命令回复重新排版
- 追更提醒可把缺的集标为不用等或不再提醒;订阅自动结束后可继续订阅;批准到第 3 条时建议订阅
- 日报与追更提醒重新排版,加类型图标与入库集号;审批卡片季集放在片名后,转存与忽略放第一行
- 每个来源可配置识别规则(读取频道最近消息或粘贴样例,AI 起草后试跑);AI 识别参考规则结果,不可用时按规则兜底
- 识别方式与转存方式只在来源卡片上设置;识别测试、命名预览移到对应设置处,按未保存的设置预览
- 对话助手与 MCP 新增取消/继续订阅、恢复接收、修正识别、重新识别
- 另含:卡片改用横版剧照与逐行字段、不再接收作品、审批选目录、部分转存可继续或放弃等

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 16:11:44 +08:00
DerrorsandClaude Opus 5.5 5c0bfedbb0 chore: 发布 v0.6.2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 20:52:24 +08:00
DerrorsandClaude Opus 5.5 1f599f5235 feat: 移动端适配优化,管理台可添加到主屏幕
- 命名预览页单列时限制列宽,不再横向溢出
- 开关可点范围扩大(外观不变);手机上加高变量插入按钮、媒体库类型切换等小控件
- 移动端「更多」只列底部标签栏没有的入口,工具不再折叠;任务页状态筛选换行显示
- 新增 Web 应用清单与图标(含 maskable 与 apple-touch-icon),以独立窗口打开;
  viewport-fit=cover,顶栏、底部标签栏、抽屉与页面底部按安全区留白
- theme-color 跟随管理台当前主题

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 20:52:07 +08:00
DerrorsandClaude Opus 5.5 7385959df1 chore: 发布 v0.6.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 17:53:12 +08:00
DerrorsandClaude Opus 5.5 bb7a7595e0 feat: 失败或待人工的任务可以忽略,任务页一键忽略失效分享
- 忽略(reject)扩展到失败与待人工任务:转为已忽略并释放占位,不记为反馈样本
- 只限网盘里没有留下这次转存的任务:结果不明(receiving)须先核验,已有转存文件须先整理或删除
- 任务详情与待人工卡片增加「忽略」;任务页「失败」标签提示分享已失效的任务并可全部忽略
- 失败解释对分享失效的任务建议「忽略这条任务」

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 17:25:25 +08:00
DerrorsandClaude Opus 5.5 0cce2aba1a feat: 整理冲突可选删除转存文件或覆盖保存,确认改用页面内弹窗
- 库里已有同一集 / 同一部时转人工,记下库里与本次转存的两份文件;待人工卡片与任务详情
  可直接选择「删除转存文件」或「覆盖保存」(重新整理时带 conflict=skip/replace)
- 覆盖保存先在扩展状态记下决定,删除后读回目录确认文件已不在;响应中断时续跑不重复删除,
  删除结果不明时再次核验后重删;补故障注入测试
- 失败解释对整理冲突建议「删除转存文件或覆盖保存」
- 新增页面内确认弹窗(confirmDialog + ConfirmHost),替换全部 window.confirm,并列出涉及的文件
- 媒体库与按片名汇总不再统计已被覆盖保存或洗版替换掉的文件(Store.replaced_file_ids)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 16:58:59 +08:00
DerrorsandClaude Opus 5.5 6196cd4d6d chore: 发布 v0.6.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 15:49:55 +08:00
DerrorsandClaude Opus 5.5 66a15d9bc0 feat: 通知附海报、可清空日志,命名变量与 MoviePilot 一致
- 待审批与入库通知附 TMDB 海报,显示评分、原名、题材、地区与简介;海报发送失败时退回纯文字
- 运行日志页可清空日志,含轮转留下的旧文件
- 命名模板变量改为 MoviePilot 的 videoFormat/videoCodec/audioCodec/fileExt/part 等,可直接沿用其重命名格式;
  默认文件名带清晰度与编码,缺年份时不再出现空括号
- 冲突判断从「完全同名」改为同一作品同一集,文件名带清晰度后同集不同版本也走冲突策略;并存只在真正重名时加序号
- 命名预览只需贴文件名:按 TMDB 识别片名、年份与 tmdbid(英文文件名也能取到中文片名),自动生成预览;
  文件名误贴进片名框时自动挪回
- 视频后缀判断移到 core/media 供转存与整理共用

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 15:49:36 +08:00
DerrorsandClaude Opus 5.5 360736fc95 chore: 发布 v0.5.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 11:51:33 +08:00
DerrorsandClaude Opus 5.5 3700aff343 feat: 媒体库整理合并选目录与整理,插件按目录组织,清理旧版兼容
媒体库整理
- 「二级分类路由」并入「媒体库整理」:转存前选目录、转存后整理,共用开关与设置
- 目录方式:二级分类 / 按媒体类型 / 不分类;按媒体类型的文件夹名可改
- 二级分类规则随插件发布(category.yaml,MoviePilot 式顺序匹配,增加剧集兜底),管理台只读
- 两种目录方式都以流程图展示,按媒体类型的文件夹名在图上修改

插件结构
- 每个插件一个目录;内置插件的默认设置与校验在插件的 settings.py,内核按目录调用
- 插件动作 ui_actions + 通用接口 /api/extensions/<名>/actions/<动作>,插件不依赖 Web 框架
- 前端插件专用界面移到 web/src/plugins/<名>/,按 config_type 登记
- storage_provider 统一校验,内核不再写死媒体库整理

管理台
- 插件页「运行概览」、统计页内部标签、运行状态徽标、标题与副标题「网盘转存助手」
- 设置页两列卡片不留空、下拉框直接选中默认项、统计页 echarts 按需引入(约 1 MB → 490 KB)

清理
- 移除启动迁移与 .env 导入、旧配置写法与 routing、旧凭证文件、旧去重键与旧中断状态
- 数据库结构迁移重置为单一基线;不认识的顶层配置项直接报错
- 删除未使用的代码与组件;修复测试警告;CI 固定 ubuntu-24.04

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 11:51:17 +08:00
DerrorsandClaude Opus 5.5 003f04a64b chore: 发布 v0.4.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 14:52:28 +08:00
DerrorsandClaude Opus 5.5 d74ce9eaa1 fix(web): 设置页两列卡片各自往下排,不再留空
「识别与确认」「运行与安全」用按行对齐的两列 grid,同一行里矮的卡片下面会空出一块。
新增 PanelColumns:左右两列各自往下排,窄屏合成一列;按高度分列让两列底边接近。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-22 14:52:03 +08:00
DerrorsandClaude Opus 5.5 03d99c7836 feat: Agent 工具统一定义,MCP 增加 HTTP 接入
- 新增 reelay/agent_tools.py:MCP 与控制 Bot 对话助手共用同一份工具定义、参数校验与实现
- Web 进程提供 /mcp(无状态 Streamable HTTP),凭读写 / 只读两个 MCP 访问令牌鉴权,与登录密码无关;未设置令牌时关闭
- MCP 补齐缺集、追剧订阅、找剧与订阅工具;list_pending 附审批建议、推荐版本与等待天数
- 工具带 readOnlyHint / destructiveHint / openWorldHint 标注
- approve / reject / retry 改为接收 task_ids 数组并逐条返回结果;search_library 改用媒体库查询,支持筛选
- 管理台「运行与安全」新增 Agent 接入面板,可随机生成令牌
- mcp 依赖最低版本提高到 1.30

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 23:05:09 +08:00
DerrorsandClaude Opus 5.5 b1401458d9 chore: 发布 v0.3.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 22:46:06 +08:00
DerrorsandClaude Opus 5.5 ea83ef438e refactor: 移除 STRM 插件
先完善转存与整理主链路,STRM 之后再另行考虑:
- 删除 STRM 生成插件、签名模块与 /api/strm 播放跳转接口,不再生成 data/strm.secret
- 旧配置里的 strm 设置读取时丢弃;.env 的 REELAY_STRM_SECRET 不再导入,启动日志提示可删除
- 同步更新示例配置、文档与测试

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 22:24:22 +08:00
DerrorsandClaude Opus 5.5 5cb284939b feat: 待核验转存自动复查、日志改进与登录会话持久化
- 115 落地慢导致转存核验未通过的任务,主进程后台自动只读复查(5 分钟起、间隔加倍、最长 1 小时,24 小时后停止),不重发、不重复通知
- 运行日志带日期并按大小轮转,屏蔽第三方库的 INFO 噪音,任务入库 / 失败 / 待人工各记一行
- 管理台登录会话存进数据库(只存摘要),Web 重启不掉登录;会话失效时回到登录页并停止后台刷新
- STRM 测试的签名密钥改写到临时目录,不再在项目 data/ 下生成

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 20:56:13 +08:00
DerrorsandClaude Opus 5.5 50de71db36 fix: 推理强度选了模型不支持的值时所有 AI 请求都会失败
各家支持的 reasoning_effort 取值不同(DeepSeek 只认 low / high / xhigh / max),选了不支持的值后每次请求都返回
HTTP 400,识别全部降级为规则并转人工。

- 请求因系统配置的推理强度被拒时,去掉这个参数立即重发,并记住该模型不支持这个值,之后不再先失败一次
- 新增 xhigh、max 两档
- 管理台检测当前模型支持哪些推理强度(每个模型检测一次,结果保存在数据库),不支持的选项不能选;
  已保存的值不被支持时提示改选

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 15:58:00 +08:00
DerrorsandClaude Opus 5.5 d899334043 fix(web): 模型改为只能从接口返回的列表中选择,打开页面时自动获取列表
原来用 datalist 提供候选,浏览器按已填写的内容过滤,只显示当前模型一项。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 15:17:45 +08:00
DerrorsandClaude Opus 5.5 0ff4d4fc0e feat: AI 服务支持获取模型列表、测试连通性与配置推理强度
- 「AI 服务」的模型可以从接口获取列表后选择(OpenAI 兼容的 GET /models),也可以手填
- 测试连通性:用表单里当前的地址、模型与推理强度发一条很短的消息,不必先保存;失败时显示原因(按已保存的密钥脱敏)
- 新增 llm.reasoning_effort(none / minimal / low / medium / high,留空不传),随每次请求作为 reasoning_effort 发送

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 15:04:22 +08:00
DerrorsandClaude Opus 5.5 17b4b4c66e fix: 授权文件管理的二维码用 App 扫码提示参数错误
授权二维码图片取的是网页登录的二维码接口,与开放平台的授权会话不是同一种登录,115 App 扫码后提示参数错误。
改为按开放平台返回的 qrcode 链接在本地生成,与扫码登录一致。还没扫码时 115 返回空的状态,页面原来显示
「未知状态」,改为「等待扫码」;授权二维码下的说明不再沿用扫码登录的文案。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 14:11:59 +08:00
DerrorsandClaude Opus 5.5 b6f35dbc2b feat: 配置在管理台修改并与文件同步,按系统 / 插件分组,运行文件固定在 data/
- 配置文件固定为 data/config.yaml,分为 system(系统配置)与 plugins.<插件名>(enabled 开关与插件设置);
  organize / dir_router / strm / daily_report / episode_tracker 归入对应插件,订阅移到 system.subscriptions。
  插件 ui_fields 改为相对 plugins.<名> 的路径,新增 runtime.plugin_config
- 原来只能写在 .env 的设置移进系统配置并提供表单:AI 接口地址与模型、TMDB 地址、Telegram 机主 ID 与补拉、
  并发与日志级别、115 限速与风控冷却;设置页新增「AI 与 TMDB」「Telegram」「运行与安全」,115 页加请求限速
- 密钥(AI / TMDB key、Telegram API、控制 Bot Token、Web 密码)在管理台设置,单独存 data/secrets.json
  (权限 600,按修改时间热加载),页面与接口只显示是否已设置;Web 密码只存 PBKDF2 摘要,修改需当前密码
  并让其他会话失效。AI 与 TMDB 的地址和密钥改了立即生效
- 数据库、会话、115 凭证、STRM 密钥、日志、外部扩展目录固定在 data/;LLM 重试、凭证探活等内部参数写死;
  环境变量只剩 Web 监听地址、端口与 MCP 只读开关。Docker 只挂数据卷 /app/data
- 首次启动迁移(core/bootstrap.py):旧位置的 config.yaml 移进 data/,旧结构先备份再改写;.env 旧变量
  按值摘要只导入一次(管理台改过的不会被覆盖回去),115 cookie / token 与 STRM 密钥写入各自文件;
  数据库在别处时报错给出移动命令
- 测试只有在入口程序加载后才读密钥文件,不会读到本机真实密钥;create_app 改为传 data_dir

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 10:50:28 +08:00
DerrorsandClaude Opus 5.5 1dbfe85941 fix: 实机处理最近 100 条待审批时发现的问题
转存与整理:
- 文件多的分享,115 接受转存后在后台陆续落地,立即核验文件不齐被转人工;核验不通过时退避重查,
  最多 3 分钟,错误信息写明暂存目录实际有几项
- 原盘文件名列出附带内容(「花絮中字」)时整个电影被当成花絮;电影分享按文件名全像花絮时按大小判断
- 等待同一集其他任务期间,轨迹每轮重复写入目录分类

AI 与人工裁决:
- 分享已失效的版本参与同集择优,可用的版本反被建议忽略;失效分享不再参与比较
- 忽略失效分享被记成偏好样本,会影响偏好参考、通过率与来源质量建议;不再记录,来源质量单独统计
  「分享在确认前失效」
- 修正片名后仍沿用旧的 TMDB 匹配;待审批任务按修正后的片名重新匹配并重算置信度
- 新来源向导用这个来源批准过的消息核对草案的关键词过滤,列出会被挡掉的
- 失败解释:分享里的文件需要人挑选时建议到网盘手动转存,不再建议修正识别结果
- 日报提醒把消息条数说成作品部数
- 当前模型带推理输出,识别一条要 11–28 秒:默认超时 30→60 秒;一句话规则(实测 80 秒)、
  来源向导、来源评估、转人工前方案与对话助手按实测放宽

配置读取:
- REELAY_115_* 设置与 REELAY_TMDB_BASE_URL 在加载 .env 之前就已读取而不生效;改为用到时读取

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-20 04:27:13 +08:00