Deploy Website 是一个用于发布网站的技能,主要面向两类目标:已有的本地网站项目,或单独的本地 .html/.htm 文件。其用途是把这些内容发布到公开 URL,典型触发场景是用户要求部署或发布网站的首个版本。
主要能力围绕发布前的准备与校验展开。技能会按目标原生的路径语法解析路径,不擅自改写。若用户提供 HTML 路径,则要求其为常规 .html 或 .htm 文件,并拒绝缺失文件、目录、符号链接或控制字符,也不会把工作区之外的路径传给 website_deploy。技能会定位项目源码根,复用其锁文件和现有包管理器,从项目配置中发现真实构建命令与构建产物目录,不额外添加依赖或臆造构建;若存在真实构建,则执行构建并验证产物根目录有常规 index.html。
对于没有项目构建的独立站点,技能先检查源码目录是否已是自包含的公开静态目录,且根目录有常规 index.html、依赖可本地解析;若是则直接验证并使用。否则,针对独立 HTML 文件或依赖需重写的页面,在当前工作区内新建暂存目录,不修改源文件;仅复制所选页面需要的静态文件,生成常规 index.html,并保留或安全重写相对 URL、根相对资源、base URL、CSS url() 引用、JavaScript 导入和 fetch 目标,随后验证暂存页面。若依赖无法解析,会停止并说明,而不是发布损坏页面或复制可能含隐私文件的整棵源码树。技能不使用符号链接、/tmp 或仅 Unix 的路径逻辑,Windows 盘符和 UNC 路径保持原生形式。
使用方式上,最终将已验证的构建产物或部署暂存目录作为 path;source_path 仅在项目/源码根位于工作区内时使用原根,否则使用隔离的源码快照。已自包含的公开静态站可用同一目录作为 path 与 source_path;独立 HTML 或需重写依赖的页面必须使用独立暂存目录;框架项目必须用实际构建产物作为 path、源码根作为 source_path。path 根目录须有常规 index.html,并选择简短易读的 project_name。发布前需说明网站将公开可访问、source_path 将上传至私有云存储;当前没有密钥扫描器,因此需请用户确认 source_path 不含密钥,并获得明确的发布确认。最后调用 website_deploy({ path, source_path, project_name }) 工具,不自行创建 zip 或用 HTTP、OSS 等其他工具上传。交付格式遵循工具返回的 URL 与 node_id,不猜测或手写 cover,工具失败按原样呈现。
适用场景包括发布本地静态站点、框架项目构建产物,或单个 HTML 页面到公网。限制在于:目标须位于工作区或能安全创建快照;HTML 目标须为常规文件;path 根目录必须有 index.html;依赖无法安全复制或解析时会停止;发布前必须获得用户明确确认。