全量采集任务与缺口
有界元数据遍历 · 不下载视频 · AIKO 采用和发布独立操作
上游尚未提供完整快照合同,authority_complete 始终为 false。观察至某时点、遍历末页、成功状态或零缺口均不等于权威全库完整;缺席不会触发下架。
任务详情
操作结果未知,已停止控制。请主动读回后决定下一步,禁止盲重试旧 version。
控制绑定当前 version;暂停/取消拦截晚到提交。仅当服务器确认可恢复时提供原检查点观测续跑或复核并恢复原暂停页;恢复暂停页须核实原人工暂停审计,服务器重新验证冻结页身份、租约及安全检查。普通重试不会放宽检查。安排或恢复不等于执行完成,须继续读取本任务与缺口。
冻结窗口(上限 1023)
窗口状态为最后检查点;父任务取消后不再调度,晚到结果不能提交。
缺口账本
子批逐项结果
资源同步中心
统一管理 Plexadel 黑料库、黑料短剧、无界资源与老司机资源库
同步日报与通知预览
尚未读取。日报每天 00:10 生成;当前报告为预览,不会发送 TG。
黑料库 · Plexadel
黑料短剧
无界资源
LSJ2 新版
LSJ 旧版
新建同步
从上游抓取最新一批资源,自动写入中台资源库。
同步执行历史
最近25次执行片段,按开始时间倒序。处理成功不是新增资源数。
资源管理
检查中台已拉取的标题、缩略图、媒体组成及源数据
黑料库 · Plexadel
黑料短剧
无界资源
LSJ2 新版
LSJ 旧版
暂无资源
接入运维
采集与后台、独立签发、主备媒体网关分别观测
中台持续维护来源;业务方手动选取、复审与采用。这里只验证中台合同与媒体准备,不代表真实业务站已迁移。容量仅本机基线,真实峰值及独立故障域未证明。
运行健康与材料ACK
健康、版本及连接指标来自独立实时探测;ACK是材料安装证据。带宽由同进程连续两次刷新累计字节计算,不是链路峰值验收。
| 服务 / 节点 | 实际探测 | 运行版本 | 连接 / 传输 | 安全材料ACK |
|---|
来源与历史刷新覆盖
| 来源实例 | 成功核对 / 库存 | 最旧核对滞后 | 当前批次 | 支持类型与限制 |
|---|
安全策略与复审代次
恢复只解除中台拒绝,不代替业务复审。媒体恢复必须重新核实真实包和上游就绪状态;已撤销Key永久失效。
租户与 API Key
为每个业务方创建独立访问密钥和来源权限
新接口实例、能力和用途各自显式授权;旧 /v1 权限保留独立范围。修改使用当前policy_revision,过期页面会被拒绝。
| 租户 / 版本 | 角色 / 状态 | 实例范围 | 能力 / 用途 | 管理 |
|---|
兼容入口:仅创建新的旧 /v1 租户
API Key 仅显示一次
请立即复制并安全交给业务后端,关闭或刷新页面后无法再次查看。
接口文档
业务后端通过统一 API 拉取黑料库、黑料短剧、无界与老司机资源
新接入合同
新站点使用 /api/v1/catalog、引用与受控播放入口。source_link 模式由业务后端鉴权并流式转发清单、KEY 和分片,中台不落盘存储视频;媒体网关属于独立显式模式。旧 /v1 兼容既有租户。
接口冻结合同、来源能力、引用、中央租约与网关运行限制见交付接入包。运维控制台展示的媒体准备不能代替本站复审与租约准备。
旧接口接入流程(兼容)
- 管理员在“租户与 API Key”创建业务方密钥,并勾选允许访问的来源。
- 业务后端使用
Authorization: Bearer <API_KEY> 调用资源中台。 - 首次调用增量接口时不传
cursor,之后原样保存并回传 next_cursor。 - 业务后端保存统一资源,前端只使用审核上架后的数据和块内
media_url。
API Key 只放业务后端,禁止写入网页、App 或小程序前端代码。
公共接口
GET /v1/sources查询当前租户被授权的来源:black、black-drama、wujie、lsj。黑料短剧须单独授权。
GET /v1/resources?source=black-drama&limit=50按黑料短剧来源读取已同步剧目。
GET /v1/resources?source=lsj&limit=50浏览最近资源。source 支持逗号分隔;limit 默认 50、最大 200。
GET /v1/resources/{id}?include=source_payload按统一 ID 获取详情;仅排查上游数据时增加 include=source_payload。
GET /v1/changes?source=black,wujie,lsj&limit=100&cursor=...首次全量及后续增量同步。limit 默认 100、最大 500;cursor 必须原样传回。
GET /v1/media/{token}读取块内 media_url 或 cover_url 指向的图片、HLS 视频和音频;业务方不要自行拼接媒体地址。
统一资源契约
idblack/wujie:source:<source_id>;黑料短剧:black-drama:<postId>;老司机:lsj:<content_type>:<source_id>。
source / source_id / content_type黑料短剧 content_type 固定为 movie;老司机取值:movie / post / novel / audio / comics。
title / summary / tags / status / version清洗后的标题、摘要、标签、状态及内容版本。
source_updated_at / fetched_at上游更新时间与中台拉取时间,均为 Unix 秒。
blocks[]按上游顺序返回;type=text / image / video / audio。
blocks[].text / asset_id / media_url / cover_asset_id / cover_url文本块读取 text;媒体块直接使用 media_url,视频或音频封面使用 cover_url。
blocks[].episode_number / ready黑料短剧每集均为 video:asset_id 为源集标识,episode_number 为上游 ord + 1,保留集号空洞;text 为源标题或第 N 集。ready=false 时保留分集但不返回 media_url。详情封面字段为空时,中台不自动生成封面;按准确帖子与视频身份获取来源真实 poster,未就绪或受限项保留复核状态。
老司机增量同步示例
curl 'https://endoroot.com/v1/changes?source=lsj&limit=100' \
-H 'Authorization: Bearer <API_KEY>'
# 下一页:保存上次响应 data.next_cursor,并原样传回
curl 'https://endoroot.com/v1/changes?source=lsj&limit=100&cursor=<NEXT_CURSOR>' \
-H 'Authorization: Bearer <API_KEY>'
统一响应
{
"success": true,
"data": {
"items": [{
"id": "lsj:movie:资源ID",
"source": "lsj",
"source_id": "资源ID",
"content_type": "movie",
"title": "资源标题",
"blocks": [
{"type": "text", "text": "正文"},
{"type": "image", "media_url": "https://endoroot.com/v1/media/..."},
{"type": "video", "media_url": "https://endoroot.com/v1/media/...", "cover_url": "https://endoroot.com/v1/media/..."},
{"type": "audio", "media_url": "https://endoroot.com/v1/media/...", "cover_url": "https://endoroot.com/v1/media/..."}
]
}],
"next_cursor": "不透明游标",
"has_more": true
},
"request_id": "req-..."
}错误响应统一返回 success=false、code、message、request_id;业务方应记录 request_id 便于排查。