跳到主要内容

Server Workspace CLI

steamharness workspace 由 @steamharness/cli 提供,管理 Workflow、Conversation 和 Kanban 项目的服务器存储。本地执行使用顶层 steamharness run/json。Server 不加载或执行上传的项目代码。

命令列表​

命令说明
login、logout、status登录、退出和查看连接状态。
health检查 Server 健康状态。
pack按 .steamharnessignore 打包本地文件。
upload上传源码或项目组,可同时发布。
preparation查询文件处理进度和失败原因。
publish保存不可变源码版本并更新 latest。
versions查询历史版本、发布说明和源码哈希。
download下载已发布项目或项目组。
file-upload、file-download、file-delete管理独立业务文件。
help查看帮助。

全局选项​

选项说明
--server <url>优先于 STEAMHARNESS_SERVER_URL、登录态和渠道默认地址(dev:http://localhost:7126)。
--token <token>优先于 STEAMHARNESS_SERVER_ADMIN_KEY 和保存的凭据。
--target <version>下载的精确版本或 latest,不接受 draft。
--release-log <text>发布说明;upload 指定后会自动发布。
--path <directory>本地项目或下载目录。
--file <path>已有归档或待上传业务文件。
--mime-type <type>指定业务文件 MIME。
--output <path>归档或业务文件下载路径。
--no-wait保存归档后立即返回文件处理任务,不轮询。
--create按本地 package.json.id 创建或复用项目。
--project-group、--dependency <alias=path>打包、上传或下载项目组。
--deployment <id>、--publish-group查询或发布项目组文件处理任务。

未知选项会报错。静态类型由 package.json.steamHarness.projectType 声明,版本由上传的 package.json.version 决定;同版本不可覆盖。Server 只解包、校验和保存,不安装依赖或构建。Kanban 静态产物需要先在本地准备完成。

上传与下载​

steamharness workspace login --server http://localhost:7126
steamharness workspace upload hello --create --release-log "初始发布"
steamharness workspace versions hello
steamharness workspace download hello --target latest --path ./downloaded-hello

项目参数支持 UUID、名称和本地目录,CLI 优先读取目录中的稳定 package.json.id。打包只按每个项目根目录的 .steamharnessignore 选择文件,不读取 .gitignore;规则文件自身和必需入口不能被排除。项目组 included 依赖锁定精确版本与源码哈希,下载逐项目检查源码权限,并报告跳过原因和申请入口。下载不受操作系统限制。

业务文件​

steamharness workspace file-upload <项目 UUID> --file ./map.png
steamharness workspace file-download <文件 ID> --output ./verified-map.png
steamharness workspace file-delete <文件 ID>

上传接受不超过 50 MiB 的普通文件,返回 storage: "server" 的 FileReference。写入要求项目数据写权限,读取要求项目访问权限。下载要求新路径,不覆盖已有文件;HTTP 失败不会生成本地文件。KV 保存文件引用,不保存图片 base64。

登录态与输出​

CLI 读取当前目录及源码仓库根目录的 .env,已有进程环境优先。登录态使用 workflow-auth.json,默认保存到操作系统应用配置目录,可用 STEAMHARNESS_CLI_AUTH_DIR 指定位置。

成功输出 { errCode: 0, errMessage: "", data };服务端错误和本地参数错误返回非零退出码。准备任务保留进度和失败反馈;失败上传不会替换已有发布快照。

创建或首次上传可用 --group-id <id> 选择归属组(至少开发者);未指定则创建个人项目并成为所有者。上传、发布和服务器数据写入需要开发者,已发布源码下载和数据读取需要访客。Cookie 与 API Key 均按最新项目、组成员关系鉴权。

未指定 Server 时,地址随客户端构建渠道选择:dev 使用 http://localhost:7126,alpha 与 main 使用对应站点。STEAMHARNESS_SERVICE_CHANNEL=dev|alpha|main 可显式选择默认渠道;--server、STEAMHARNESS_SERVER_URL 和已有登录连接的优先级更高。