用途:当生产环境出现问题而开发者只有一个 URL 时,用该技能判断 URL 属于哪类组件并反查对应开发仓库。可分析 Daemon(路径以 /admin 开头的主域名,仓库 ArcBlock/blocklet-server)、Blocklet Service(IP DNS 域名下以 /.well-known/service/admin 开头,仓库 ArcBlock/blocklet-server 的 core/service)、以及具体 Blocklet(IP DNS 域名下以挂载路径开头或根路径,需进一步识别具体 blocklet)。
主要能力:解析 URL 的 host 与 path;用正则区分 IP DNS 域名(.ip.abtnet.io、.did.abtnet.io)与 ArcBlock 域名;按路径判断类型;对 Blocklet 类型通过 curl 请求 ${ORIGIN}/blocklet.js?type=json 并用 jq 读取 appName、appId 与 componentMountPoints,按挂载路径匹配 name、did、title;再依据本地参考文件(org-arcblock-repos.md、org-blocklet-repos.md、org-aigne-repos.md)反查仓库。采用按需加载策略,不确定时先读 references/README.md。
使用方式:始终使用终端命令(curl、wget 等)直接发起 HTTP 请求。严格要求:绝不能使用 Chrome 浏览器或任何交互式浏览器工具分析 URL。分析完成后输出结构化数据,包裹在 <<<BLOCKLET_URL_ANALYSIS>>> 与 <<<END_BLOCKLET_URL_ANALYSIS>>> 之间,含 type、url、host、path、repo、repoType 及 blocklet(name、did、title、mountPath)。
适用场景:用户提供 Blocklet Server 相关 URL 想知道应在哪个仓库开发;调试时确认 URL 对应组件;从生产环境 URL 反查仓库;与 blocklet-dev-setup、blocklet-server-dev-setup 集成,在收到非 GitHub Issue 的 URL 时先分析类型与仓库再继续。
限制:非 IP DNS 域名的 URL 先尝试请求 Blocklet API,仍无法识别则标记 UNKNOWN,需用户提供更多信息或用 AskUserQuestion 手动指定仓库;部分组件 name 字段可能是 DID,需改用 title 检索;旧版 DID API 可能不适用于所有部署。具体功能、收费与使用步骤以官方资料为准,未提供。