通过 KeyAPI REST API(基于实时官方文档)分析 YouTube 视频与频道。支持以下功能:视频信息查询、评论及子评论获取、直播流信息、相关视频推荐、Shorts 搜索、视频搜索、热门视频(Trending Videos)、频道描述、频道视频列表、频道 ID 与 URL 相互转换、频道搜索、筛选式搜索(Filtered Search)以及搜索建议(Search Suggestions)。
YouTube KeyAPI Skill. 将自然语言YouTube的请求转换成文档引导的KeyAPI REST工作流程. 从用户业务目标开始,将其映射到最接近是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将自然语言形式的 YouTube 请求转化为基于文档指导的 KeyAPI REST 工作流。从用户业务目标出发,映射至最贴近的场景,依据最新 KeyAPI 文档验证当前端点契约,随后在存在辅助脚本时调用该脚本执行请求;否则直接发起 REST 调用。
https://docs.keyapi.ai/llms.txt 及其链接的各端点页面为权威来源,用于确认方法(method)、/v1/... 路径、参数、枚举值、分页机制、请求体(request body)和响应结构(response shape)。KEYAPI_TOKEN。针对 YouTube 数据查询、排序、分析、搜索、对比或报表生成,必须使用 KeyAPI API 执行及官方 KeyAPI 文档。不得以平台网页替代 API 结果。
references/global-rules.md 作为基础执行契约。node scripts/configure-keyapi-auth.mjs --status 检查认证状态;将 authStatus: "available" 视为已就绪,authStatus: "unavailable" 视为凭证缺失。authStatus 为 unavailable,则中止实时执行,加载 references/setup-and-auth.md,并向用户提供精确的配置命令:node scripts/configure-keyapi-auth.mjs。不得仅提示“设置 KEYAPI_TOKEN”。references/scenarios.md 将请求映射至 YouTube 相关场景。references/routing-policy.md 选择搜索/列表、详情、解析、排序/趋势、关联实体或组合型工作流模式。references/youtube-rules.md 中关于 YouTube 特定标识符、分页及报表生成的规则。references/scenarios.md 中所引用的对应场景说明文档。node scripts/search-keyapi-docs.mjs --query "<语义化实体动作>" --resolve 解析当前文档;否则直接打开 https://docs.keyapi.ai/llms.txt 及所选端点页面。查询语句应基于推断出的场景/API 概念构建,而非字面复制用户模糊或翻译后的表述。/v1/... 路径、必需的查询参数/请求体参数、示例及响应契约,再执行任何实时 API 调用。严禁根据文档 URL、场景名称、端点标题、记忆中的路由或历史 404 错误推断 API 路径。node scripts/keyapi-api.mjs 发起实时 REST 调用;仅当脚本不可用,或辅助工具无法表达文档中定义的请求时,才使用宿主环境的 HTTP 客户端。code = 0 表示成功;非零 code 表示 API 层级失败。阅读 references/scenarios.md 以选择最佳场景卡片。若无完全匹配的场景,则选用最接近的场景并明确标注假设;或回退至高级模式,逐步暴露筛选条件。请始终以官方文档索引为端点权威来源,而非场景卡片本身。
将参数繁多的 API 压缩为以下决策字段:
当用户尚未配置凭证时,应主动提供配置脚本命令。不得仅回答“配置 KEYAPI_TOKEN”。
当 authStatus 为 unavailable 时:
KEYAPI_TOKENnode scripts/configure-keyapi-auth.mjs 在本地完成配置node scripts/configure-keyapi-auth.mjs --status 检查认证是否可用--status 输出为 available 或 unavailable;仅当输出为 available 时继续实时请求本技能包含位于 scripts/ 下的辅助脚本,用于保障本地执行的可靠性:
scripts/configure-keyapi-auth.mjsscripts/search-keyapi-docs.mjsscripts/keyapi-api.mjs请从此技能目录下运行脚本命令。若宿主代理(host agent)当前工作目录不同,请将 scripts/... 相对于本 SKILL.md 文件进行解析。对于大型 JSON 请求体(尤其是含 base64 编码图像载荷的情况),推荐使用 --body-file 或 --image-file,而非内联 --body。其中 keyapi-api.mjs 总是发起实时 API 请求;重复相同请求将再次调用 API。除非显式指定 --output-file,否则该辅助工具不会创建本地响应文件。大型响应可能仅返回 stdout 预览;如需完整字段以供提取、排序、聚合或校验,请使用 --output-file 保存完整辅助工具输出,并从 data.data 字段读取 API 响应载荷。对于代理内部分析,可写入临时路径(如操作系统临时目录,或 workspace 下的 .tmp-keyapi-*.json 文件);但不得将该临时文件作为面向用户的交付物呈现,且应在可行时及时清理,或仅在最终答复中简要提及。当用户要求保存结果、导出 JSON 或提供文件时,应将 --output-file 视为有意为之的面向用户输出文件。仅当用户明确需要原始 JSON 输出至 stdout 时,才使用 --stdout full。对于查询字符串,优先采用重复的 --query-param key=value 或 --param key=value;仅在需结构化数组/对象型查询值时,才使用 --query-file query.json 或 --query。查询参数按如下顺序合并:--query → --query-file → 重复的 query params,后出现的值覆盖先出现的值;空值的 query-param 不会被发送。
当脚本可执行时,按如下优先级使用:
若宿主代理不支持脚本执行,或辅助工具无法表达文档中定义的请求,则不得因此使任务失败。应改用宿主环境可用的 HTTP 客户端,以相同文档定义的 REST 方法、路径、请求头、查询参数及请求体发起调用。
解析本平台当前文档:
node scripts/search-keyapi-docs.mjs --query "<实体 动作>" --resolve
执行已记录的 GET 端点:
node scripts/keyapi-api.mjs --path /v1/youtube/... --query-param example=value
从 JSON 文件读取查询参数执行:
node scripts/keyapi-api.mjs --path /v1/youtube/... --query-file query.json
预览大型响应而不保存:
node scripts/keyapi-api.mjs --path /v1/youtube/... --query-param example=value --stdout preview
将完整响应写入临时文件供内部分析:
node scripts/keyapi-api.mjs --path /v1/youtube/... --query-param example=value --output-file .tmp-keyapi-youtube-response.json
为用户保存或导出完整响应:
node scripts/keyapi-api.mjs --path /v1/youtube/... --query-param example=value --output-file response.json
执行已记录的 POST 端点:
node scripts/keyapi-api.mjs --path /v1/youtube/... --method POST --body '{"example":"value"}'
使用大型 JSON 请求体执行已记录的 POST 端点:
node scripts/keyapi-api.mjs --path /v1/youtube/... --method POST --body-file request.json
从本地文件执行图像 JSON 端点:
node scripts/keyapi-api.mjs --path /v1/youtube/... --method POST --query-param example=value --image-file ./image.jpg --image-field image_base64
references/global-rules.mdreferences/scenarios.mdreferences/routing-policy.mdreferences/youtube-rules.mdreferences/youtube-video-rules.mdreferences/youtube-channel-rules.mdreferences/youtube-search-trends-rules.mdreferences/setup-and-auth.md