workspace download

workspace download 从 Workflow Server 获取指定 target 的 workflow 文件,并写入本地目录。写入前会清空目标目录。

命令格式

pnpm -C workspace workspace download <workflow> [--target draft|latest|version] [--path <dir>]

参数

参数说明
<workflow>远程 workflow 名称。
--target <target>下载目标。默认 draft
--path <dir>本地目标目录。未传时写入 workspace/workflow/<workflow>

Target

说明
draft默认值。下载远程 draft。
latest下载 latest 版本。
具体版本号下载指定版本。preparing 版本不可下载;offline 版本仍保留源码备份,可用于下载或重新上线前排查。

API

步骤Endpoint
获取文件GET /api/workflows/{workflow}/files?target=<target>

写入规则

规则说明
清空目标目录写入前执行递归清空。
创建目录根据 server 返回的相对路径创建目录。
写入内容将 server 返回的 content 写入目标文件。

安全校验

校验说明
禁止绝对路径server 返回 /... 或 Windows 盘符路径会被拒绝。
禁止路径穿越空路径、... 或包含空段的路径会被拒绝。
遵守排除规则node_modulesdist.git.cache.env.env.**.tmp 不会写入。
允许示例 env.env.example 可以写入。

输出

情况输出
下载成功先输出 server files API JSON,再写入文件。
文件路径非法输出错误信息,退出码为 1
未登录输出错误信息,退出码为 1

示例

pnpm -C workspace workspace download hello
pnpm -C workspace workspace download hello --target latest
pnpm -C workspace workspace download hello --target 20260520-101500 --path ./workspace/workflow/hello-copy

注意事项

场景建议
目标目录有本地改动先备份或选择新的 --path
只想查看远程版本使用 versions