用途:在项目环境中解压 ZIP 压缩包。当用户要求“unzip”“extract zip”“解压文件”或提取 .zip 归档时触发;若未指定文件,则查找项目中最近修改的 .zip 并解压到项目根目录。
主要能力与流程:用 Bash 执行 find . -name "*.zip" 定位压缩包(Glob 可能漏掉含空格的文件名),选取最近修改的一个,多个时告知用户所用文件。用 pwd 获取项目根绝对路径,手动拼接为字符串字面量,不使用命令替换 $(...)。用 file "path/to/file.zip" 检查类型;若输出为 ASCII text 说明是 base64 编码,需先用 Node 一行命令原地解码,再用 file 复核。解压前读取并保存 package.json 内容作为快照,然后执行 npx extract-zip "/root/app/code/Scope Engine V6.zip" /root/app/code,源与目标均须为绝对路径。解压后重新读取 package.json 与快照比较,若内容不同或此前不存在,则运行 pnpm install --no-frozen-lockfile;若因构建被阻止而失败,可在 pnpm-workspace.yaml 中把 allowBuilds 条目设为 true 后重试。若安装了依赖,用 DevServerRestart 工具重启开发服务器。最后向用户报告解压内容、是否重装依赖、是否重启服务器。
用户指定文件或目标目录时:使用其给出的 zip 路径而非搜索;使用其给出的目标目录而非项目根目录。
限制:该环境中 tar 被 ACL 阻止,应始终使用 npx extract-zip;base64 -d 被 ACL 阻止,须用 Node 一行命令解码;命令替换 $(...) 被 ACL 阻止,须先单独获取 pwd 再硬编码路径;npx extract-zip 的目标目录必须是绝对路径,不能是相对路径。npx 无需单独安装步骤。