跳到主要内容

workspace pack

workspace pack 将本地 workflow 源码复制到打包暂存目录,再使用 tar 生成 .tgz 包。该命令只处理本地文件,不请求 Workflow Server。

Workflow/Conversation 校验 package.jsonindex.ts;Kanban 使用 package.json.workflowCode.projectType: "kanban" 识别,并校验 workflowCode.kanban.artifactDir 中配置的 HTML entry。未配置时继续使用项目根目录 index.html。README 可以保留为项目说明,但不是上传必需文件。图片、字体等二进制资源会原样进入归档和源码版本。

该命令不会安装或检查本地项目依赖。即使项目声明了第三方依赖且本地没有 node_modules,仍可打包源码;依赖由用户在本地运行前手动安装,上传后的运行产物由服务器安装依赖并构建。

命令格式

pnpm exec workflow-code workspace pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]

参数

参数说明
<workflow>workflow 名称。默认源目录为 workspace/workflow/<workflow>
--path <workflow-dir>指定本地源目录。
--output <file.tgz>指定输出包路径。未传时写入 workspace/.packs
--project-group为 Kanban 根项目生成 project-group v1 归档。
--dependency <alias>=<path>projectInfo.relatedProjects 中已确认的 alias 映射到 included 项目本地目录;可重复。未映射的已确认关系保持 external。

默认路径

默认值
repo rootWORKFLOW_REPO_ROOT,未设置时从当前目录或 CLI 文件位置向上查找包含 pnpm-workspace.yaml 的仓库根目录。
源目录<repo-root>/workspace/workflow/<workflow>
输出目录<repo-root>/workspace/.packs
输出文件名<workflow>-<UTC timestamp>.tgz

.workflowignore

pack 只读取项目根目录 .workflowignore,不读取根目录或嵌套目录中的 .gitignore。语法支持注释、目录规则、通配符、**! 反向包含,路径按 / 匹配。

场景行为
缺失、空文件或仅有注释上传项目下全部普通文件,并输出文件数量和总大小警告。
.workflowignore 自身命中规则仍会保留在归档中。
package.json、项目入口或已有 kanban.json 被排除打包失败,并指出生效规则。
符号链接、特殊文件或大小写冲突路径拒绝打包,不由忽略规则放行,避免归档在 Windows、macOS 和 Linux 间出现覆盖差异。

Kanban 不会自动保留 dist 或其它产物目录;它们也不会被宿主暗中排除。应在 .workflowignore 中保留实际 artifactDir,同时按需排除 src/、测试和 source map。.gitignore 是否忽略产物与上传无关。

项目组归档

项目组根必须是带 workflowCode.projectInfo.relatedProjects 的 Kanban。每个 --dependency alias 必须命中双方已确认的直接关系,且本地依赖的 UUID 必须与声明一致;待确认关系不能作为 included 依赖。同一个关联 UUID 只打包一次。归档包含 project-group.json、根项目包和选中的依赖项目包;每个项目仍按自己的 .workflowignore 选择源码。

打包会拒绝符号链接、特殊 tar 成员,以及 .env*、KV、PersistentValue、定时计划、运行历史、SQLite、workflow-auth.json 和其它宿主用户配置;根 Kanban 也不能把自己的 UUID 声明为来源项目。项目组不携带本地运行数据,也不会修改任何 Server 状态;数据初始化由开发者在对应宿主运行 Workflow 完成。

输出

情况输出
成功{ "archivePath": "<absolute path>" }
打包失败输出错误信息,退出码为 1

示例

pnpm exec workflow-code workspace pack hello
pnpm exec workflow-code workspace pack hello --path ./workspace/workflow/hello
pnpm exec workflow-code workspace pack hello --output ./workspace/.packs/hello.tgz
pnpm exec workflow-code workspace pack stock-kanban --project-group \
--path ./stock-kanban \
--dependency stocks=./stock-workflow

后续命令

目标命令
上传刚打好的包upload --file
查看远程版本versions