chore: 新增 ptd-site-definition skill;站点定义头注释补充上游关联链接 - #1521
Merged
Merged
Conversation
- SKILL.md:站点加载与实例化机制、新增/修改定义的工作流、硬性规则、按需读取索引、交付前检查清单 - references/:workflow、metadata-fields、selectors-and-filters、debugging 四篇通用文档 - references/engines/:NexusPHP、Unit3D、Gazelle、GazelleJSONAPI、AvistazNetwork、Luminance、Rartracker、TCG、私有站模板、BT 基类共 10 篇引擎文档 - scripts/check-site-definition.mjs:站点定义静态校验器(无第三方依赖,支持单文件检查与全量扫描) 文档结论均以本仓库源码为准并标注「文件:行号」;校验器已在 definitions/ 下全部定义上跑通,除本 skill 自身内容外未改动任何源码。
- @JackettDefinitions/@JackettIssue:按首选匹配补全 Jackett 定义/索引器文件链接,保留既有 issue 链接 - @PTPPDefinitions:链接 pt-plugins/PT-Plugin-Plus 的 resource/sites/<host>/config.json - @PDSDefinitions:链接 mantou568/pre-dessert-sites 的 site_config/sites/<id>.json - @PTMDefinitions:链接 JustLookAtNow/pt_mate 的 assets/sites/<id>.json - 仅改动文件头注释,无逻辑变更;vue-tsc 通过
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
把站点定义(
src/packages/site/definitions/*.ts)编写时依赖的约定沉淀成一份项目级 skill:新增站点、选引擎、写 selectors、覆写引擎方法时可直接按文档走,并附带一个静态校验器兜住常见字段错误。本次改动只新增
.dsh/skills/ptd-site-definition/,不改动任何源码(16 files / +2894)。内容
SKILL.md:加载与实例化机制(import.meta.glob免注册、default class>schema> 按type三级回落、SchemaMetadata不会自动合并、timezoneOffset缺省规则)、新增/修改定义的工作流、硬性规则(id/version/urls/legacyUrls/favicon/isDead)、按需读取索引、交付前检查清单references/:workflow.md、metadata-fields.md、selectors-and-filters.md、debugging.mdreferences/engines/:NexusPHP、Unit3D、Gazelle、GazelleJSONAPI、AvistazNetwork、Luminance、Rartracker、TCG、AbstractPrivateSite、AbstractBittorrentSite 共 10 篇,每篇结构一致——判定特征 →SchemaMetadata默认值表(逐项带源码行号)→ 最小可用骨架 → 搜索要点 → userInfo 要点 → 可覆写类方法 → 范例定义 → 常见坑scripts/check-site-definition.mjs:无第三方依赖的静态校验器,支持单文件检查与全量扫描;检查文件名与id一致性、必填字段、type、urls(含 rot13 还原)、timezoneOffset格式、categorykey 重复、levelRequirementsid 重复与非递增等验证
definitions/下全部定义上跑通;除下述三处既有问题外无其他 errorSKILL.md的 15 个内部链接全部可达SKILL.md骨架生成的探针定义通过pnpm check(全仓零 TS 错误),验证后已删除,未留在提交中顺带发现(本 PR 未改动源码)
校验器扫出三处既有的字段冲突,供参考:
definitions/beyondhd.ts、definitions/ptskit.ts:category存在重复key(types/search.ts:208-217明确要求同一站点内 key 不重复)definitions/ultrahd.ts:levelRequirements有两个id: 7需要的话可以另开 PR 修。
更新 58c561a:站点定义头注释补充上游关联链接(236 files / +846 -2,全为注释行)
为
src/packages/site/definitions/*.ts的文件头注释统一补充四类来源标注(顺序固定):@JackettDefinitionsblob/master/src/Jackett.Common/Definitions/<slug>.yml或.../Indexers/Definitions/<Name>.cs@JackettIssue@PTPPDefinitionsblob/dev/resource/sites/<host>/config.json(精确到子目录层级)@PDSDefinitionsblob/main/site_config/sites/<id>.json@PTMDefinitionsblob/master/assets/sites/<id>.json覆盖 252/302 个定义文件(Jackett 190、PTPP 113、PDS 144、PTM 40);50 个在上游均无对应站点的文件保持不变。匹配依据:克隆四个上游仓库,按「域名精确(含 additional_domain/baseUrls/legacyUrls)> id slug > 保守前缀(≥4 字符,兼容 aither→aither-api、1ptba→1ptbar 等)」建立映射,全部链接均指向实际存在的上游文件。对
urls使用 rot13 混淆的站点(如 hdcity)已先解码再匹配;@JackettIssue只增不删;被替换标签原有的自由文本(如 hdroute 的「完全自定义采集配置」)降级为普通注释行保留。验证:
pnpm check(vue-tsc)零错误;skill 校验器全量扫描与改动前基线一致(0 新增错误);prettier 无回归;git diff确认全部 hunk 均为注释行。