AHTV PK To Xunlei
Use this skill only for 《快乐无敌大PK》 on 安徽网络电视台. Treat all unspecified years as 2026.
Quick Start
- 1. Run the date parser first.
Windows:
python "{baseDir}\scripts\parse_date_expr.py" --date-expr "<date_expr>"
If
python is unavailable, retry with:
py -3 "{baseDir}\scripts\parse_date_expr.py" --date-expr "<date_expr>"
- 2. Run the resolver on the same expression.
python "{baseDir}\scripts\resolve_episodes.py" --date-expr "<date_expr>"
- 3. Use the resolver JSON as the source of truth for
expanded_dates, episode_url, video_url, and target_filename.
Supported Date Expressions
- - Single date:
3月5日, INLINECODE7 - Multi-date list:
3月5、6、7、8日, INLINECODE9 - Closed range:
3月5-10日, 3月5日至3月10日, INLINECODE12 - Open range:
3月5日之后, INLINECODE14
Interpretation rules:
- - Default missing years to INLINECODE15
- For
3月5、6、7、8日, inherit month and year from the first date - For
3月5-10日, inherit month and year for the end date from the start date - For
3月5日之后 and 3月5日以后, exclude the day itself and start from INLINECODE20 - For open ranges, stop at the latest currently discoverable 快乐无敌大PK episode date on 安徽网络电视台
Reject these requests as unsupported instead of guessing:
- -
起, 以来, 前后, 本周, INLINECODE25 - Cross-year shorthand without an explicit year
- Requests that mix 快乐无敌大PK with a different program
Resolution Workflow
Run the resolver before opening 迅雷云盘. The resolver already does the deterministic parts:
- - Search
https://www.ahtv.cn/search for INLINECODE27 - Filter candidates to INLINECODE28
- Match by the episode date embedded in the title, not by the search result publish time
- Prefer titles containing INLINECODE29
- Cross-check ambiguous dates against
https://www.ahtv.cn/pindao/ahzh/pk and its paginated index pages - Extract the real media URL from the single-episode page hidden input INLINECODE31
Treat the resolver output like this:
- -
status=ready: proceed to 迅雷云盘 - INLINECODE33 : record the failure and continue with the next date
- INLINECODE34 : record the failure and continue with the next date
- INLINECODE35 : record the failure and continue with the next date
- INLINECODE36 : record the failure and continue with the next date
迅雷云盘 Workflow
Process dates one by one and continue even if one date fails.
For every resolver item with status=ready:
- 1. Open
https://pan.xunlei.com/. - If the user is not logged in, use
$sms-login-dom-first to complete 迅雷云盘 login with phone number plus SMS code, then return to the cloud drive page. - Search the whole cloud drive for the exact
target_filename. - If an exact same file already exists anywhere in 迅雷云盘, mark the item as
skipped-existing and do not add it again. - If it does not exist, ensure the folder path
/快乐无敌大PK/2026 exists. - Use 迅雷云盘's link-based add flow. UI labels can vary, so look for controls such as
链接添加, 添加链接, 云添加, 添加任务, or a plus menu with a chain/link icon. - Paste the resolver
video_url exactly as returned. - Save into
/快乐无敌大PK/2026 if the dialog lets you choose the destination. If it saves elsewhere first, move it into /快乐无敌大PK/2026 immediately after creation. - Wait until the file becomes visible in the target folder.
- If 迅雷 keeps the source file name, rename it to
target_filename.
Do not download to local disk as a fallback in v1. Only use 迅雷云盘 link add / cloud add.
Naming Rules
- - Basename format: INLINECODE51
- Final filename format: INLINECODE52
- Example: INLINECODE53
Use the resolver's target_filename directly. Do not invent an alternate naming scheme.
Final Output Format
Return one compact JSON-like summary in Markdown. Include these top-level fields:
- - INLINECODE55
- INLINECODE56
- INLINECODE57
- INLINECODE58
INLINECODE59 must include:
- - INLINECODE60
- INLINECODE61
- INLINECODE62
- INLINECODE63
- INLINECODE64
Each item must include:
- - INLINECODE65
- INLINECODE66
- INLINECODE67
- INLINECODE68
- INLINECODE69
- INLINECODE70
- INLINECODE71
Status values for the final answer:
- - INLINECODE72
- INLINECODE73
- INLINECODE74
- INLINECODE75
Map resolver failures into the final response like this:
- -
not-found stays INLINECODE77 - INLINECODE78 ,
video-url-missing, and error become INLINECODE81
Notes
- - Prefer the resolver scripts over ad-hoc parsing in the model.
- Treat the site structure as authoritative as of the current run. If the resolver fails because the site changed, report the failure clearly instead of fabricating URLs.
- Keep the browser workflow deterministic: exact filename search first, then add, then rename if needed.
AHTV PK 转 迅雷
仅将此技能用于安徽网络电视台的《快乐无敌大PK》。所有未指定的年份均视为 2026。
快速开始
- 1. 首先运行日期解析器。
Windows:
powershell
python {baseDir}\scripts\parse
dateexpr.py --date-expr
如果 python 不可用,请重试:
powershell
py -3 {baseDir}\scripts\parsedateexpr.py --date-expr
- 2. 对同一表达式运行解析器。
powershell
python {baseDir}\scripts\resolveepisodes.py --date-expr expr>
- 3. 使用解析器 JSON 作为 expandeddates、episodeurl、videourl 和 targetfilename 的权威数据源。
支持的日期表达式
- - 单一日期:3月5日、2026-03-05
- 多日期列表:3月5、6、7、8日、3月5日,3月6日,3月7日
- 闭区间:3月5-10日、3月5日至3月10日、2026-03-05~2026-03-10
- 开区间:3月5日之后、3月5日以后
解释规则:
- - 默认缺失年份为 2026
- 对于 3月5、6、7、8日,从第一个日期继承月份和年份
- 对于 3月5-10日,结束日期从开始日期继承月份和年份
- 对于 3月5日之后 和 3月5日以后,排除当天本身,从 2026-03-06 开始
- 对于开区间,截止到安徽网络电视台当前可发现的最新《快乐无敌大PK》剧集日期
拒绝以下请求,视为不支持,不要猜测:
- - 起、以来、前后、本周、最近几天
- 无明确年份的跨年简写
- 将《快乐无敌大PK》与其他节目混合的请求
解析工作流程
在打开迅雷云盘之前运行解析器。解析器已完成确定性部分:
- - 搜索 https://www.ahtv.cn/search 查找 快乐无敌大PK
- 将候选结果过滤为 https://www.ahtv.cn/pindao/ahzh/pk/split/...
- 根据标题中嵌入的剧集日期进行匹配,而非搜索结果发布时间
- 优先选择包含 整期 的标题
- 针对模糊日期,交叉核对 https://www.ahtv.cn/pindao/ahzh/pk 及其分页索引页面
- 从单集页面隐藏输入 #m3u8 中提取真实媒体 URL
将解析器输出视为如下:
- - status=ready:继续到迅雷云盘
- status=not-found:记录失败并继续下一个日期
- status=ambiguous:记录失败并继续下一个日期
- status=video-url-missing:记录失败并继续下一个日期
- status=error:记录失败并继续下一个日期
迅雷云盘工作流程
逐个处理日期,即使某个日期失败也继续。
对于每个 status=ready 的解析器项目:
- 1. 打开 https://pan.xunlei.com/。
- 如果用户未登录,使用 $sms-login-dom-first 通过手机号加短信验证码完成迅雷云盘登录,然后返回云盘页面。
- 在整个云盘中搜索精确的 targetfilename。
- 如果迅雷云盘中任何位置已存在完全相同的文件,将该项目标记为 skipped-existing,不再添加。
- 如果不存在,确保文件夹路径 /快乐无敌大PK/2026 存在。
- 使用迅雷云盘的基于链接的添加流程。UI 标签可能不同,请查找诸如 链接添加、添加链接、云添加、添加任务 或带有链/链接图标的加号菜单等控件。
- 按原样粘贴解析器返回的 video
url。如果对话框允许选择目标位置,保存到 /快乐无敌大PK/2026。如果先保存到其他位置,则在创建后立即将其移动到 /快乐无敌大PK/2026。等待文件在目标文件夹中可见。如果迅雷保留源文件名,将其重命名为 target_filename。
在 v1 版本中不要回退到下载到本地磁盘。仅使用迅雷云盘链接添加/云添加。
命名规则
- - 基础名称格式:快乐无敌大PK.2026.S02E{MMDD}
- 最终文件名格式:快乐无敌大PK.2026.S02E{MMDD}.mp4
- 示例:快乐无敌大PK.2026.S02E0315.mp4
直接使用解析器的 target_filename。不要发明替代命名方案。
最终输出格式
在 Markdown 中返回一个紧凑的类 JSON 摘要。包含以下顶级字段:
- - inputexpr
- expandeddates
- summary
- items
summary 必须包含:
- - total
- added
- skippedexisting
- notfound
- failed
每个项目必须包含:
- - date
- status
- episodeurl
- videourl
- targetfilename
- xunleipath
- message
最终答案的状态值:
- - added-and-renamed
- skipped-existing
- not-found
- add-failed
将解析器失败映射到最终响应如下:
- - not-found 保持为 not-found
- ambiguous、video-url-missing 和 error 变为 add-failed
备注
- - 优先使用解析器脚本,而非模型中的临时解析。
- 将网站结构视为当前运行时的权威来源。如果解析器因网站变更而失败,请清晰报告失败,而不是编造 URL。
- 保持浏览器工作流程确定性:先精确文件名搜索,然后添加,最后在需要时重命名。