用途:在本地机器上操作远程 Sprite。Sprite 是 Fly.io 上持久化、硬件隔离的 Linux VM,文件系统由对象存储支撑,数据可持久保留。
主要能力:sprite list 列出所有 Sprite;sprite exec -s <name> -- <command> 远程执行命令(阻塞至结束,输出回传本地终端);sprite console -s <name> 打开交互式 shell;sprite use <name> 为当前目录激活并生成 .sprite 文件,此后可省略 -s;-o 指定组织。
文件传输:无专用命令。拉取用 sprite exec -s mysprite -- cat /path > local-file.txt,二进制用 base64 管道;推送用 cat local-file.txt | sprite exec -s mysprite -- bash -c "cat > /path";大量文件可用 sprite proxy 2222 后经 SSHFS 挂载。
检查点:sprite checkpoint create -s mysprite(可用 -m 加备注)、list、sprite restore <checkpoint-id> -s mysprite。恢复是破坏性的,会丢弃当前会话及之后的改动;最近 5 个检查点挂载在 /.sprite/checkpoints/ 可供直接查看。
网络:每个 Sprite 有 https://<name>-<org>.sprites.dev/ 公网 HTTPS 地址,默认路由到 8080 端口;sprite url 查看地址与鉴权模式,sprite url update --auth public/default 切换公开或认证;sprite proxy 8080 3000 -s mysprite 转发远程端口到本地。网络出站策略只能通过 REST API 外部修改,Sprite 自身无权更改。
服务:用于跨重启和休眠的长期进程,通过 sprite-env services list/create/get 管理,日志位于 /.sprite/logs/services/。可指定一个服务作为 HTTP 服务。
生命周期与限制:sprite create/destroy 创建与销毁(销毁不可逆);空闲时自动休眠,下次 exec、console 或 HTTP 请求自动唤醒,磁盘数据保留但运行进程不保留,守护进程需用 Services。每次 exec 是独立会话,环境变量、工作目录、shell 状态不会保留,需用 bash -c 串联或用 console。多 Sprite 之间完全隔离,需通过 Tigris 共享桶、HTTP 端点或 Git 仓库显式通信。
其他内部路径:/.sprite/api.sock、/.sprite/policy/network.json、/.sprite/docs/、/home/sprite/。