@delta-infra/cli 1.0.90 → 1.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/checksums.txt CHANGED
@@ -1,5 +1,5 @@
1
- 79a7cf6a8f997f1aa1fa66c4d3a2f8a342d5e709684dab4be487dfa4f0bf8e97 delta-cli-darwin-amd64.tar.gz
2
- 9883f3b2441349160389e32d32ef6a4c7b627f6277962da2cede032126530520 delta-cli-darwin-arm64.tar.gz
3
- cb0945d795f00e4ddb33bcb7cd0ea55ca847b1a7dd9698f7d45d6e38ff9ee20c delta-cli-linux-amd64.tar.gz
4
- 1bcc9be8107bd1785296cdb3060292576d6b5529de812445363b15347ef04aee delta-cli-linux-arm64.tar.gz
5
- b0b68d07995291b55a781c2ef30c333e67d838ad9b4fd7fe49c2fbab8ddac6cd delta-cli-windows-amd64.zip
1
+ 73f85d898d01577deb9da31d6aff2adb19a54e9ba8b812fd29c4b08edf320cad delta-cli-darwin-amd64.tar.gz
2
+ 75fcaf0eae02b0ba7d9786d33e6544dc6ca90b7a7077377e2a1ee44d341f32e6 delta-cli-darwin-arm64.tar.gz
3
+ ab61df3fbd2a3f04c5d2044af63a73033e1cdb21f47defbf8d01daca096a41f3 delta-cli-linux-amd64.tar.gz
4
+ 559098d8827ef333eaadcd361e032c8e58fc6201a237d1eaf880ed1b9527cedb delta-cli-linux-arm64.tar.gz
5
+ 839c483f51c625a2c9db6fe24774e1a78ead27e8beb9dd8080b541c86b3726d9 delta-cli-windows-amd64.zip
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delta-infra/cli",
3
- "version": "1.0.90",
3
+ "version": "1.0.92",
4
4
  "description": "Delta Infra CLI for sandbox compute and science tools.",
5
5
  "bin": {
6
6
  "delta-cli": "scripts/run.js"
@@ -566,11 +566,8 @@ async function stepAuthLogin(msg) {
566
566
  }
567
567
 
568
568
  p.log.step(msg.step4);
569
- const existingConfig = getExistingConfig();
570
- if (!existingConfig || (!existingConfig.token && !existingConfig.apikey)) {
571
- p.log.warn(msg.step4GuideTitle);
572
- p.log.info(fmt(msg.step4Guide, DASHBOARD_API_KEYS_URL));
573
- }
569
+ p.log.warn(msg.step4GuideTitle);
570
+ p.log.info(fmt(msg.step4Guide, DASHBOARD_API_KEYS_URL));
574
571
  try {
575
572
  run(deltaCli, ["auth", "login"]);
576
573
  p.log.success(msg.step4Done);
@@ -182,6 +182,7 @@ required_outputs:
182
182
  - `delta-cli sandbox recommend --cpu N --memory XGi [--gpu N]` — 资源配置推荐
183
183
  2. **创建**:`delta-cli sandbox create --image <img> --cpu 4 --memory 16Gi --gpu 1 --gpu-mem 8000 --max-life 120`。**返回的 JSON 信封中是 `data.sandbox_id`,不是 `data.id`;后续所有命令必须使用这个真实的 `sandbox_id`。**(创建后 sandbox 立即可用,无需额外连接)。**响应会回显请求的 `image`/`provider`/`resource`(服务端未返回的字段由 CLI 用请求值补齐,服务端返回值优先),可直接核对一遍资源配置,无需额外调 status。**(`provider` 请求值为 `auto` 时不回显,避免冒充实际 provider)。**同一次任务若已有 `sandbox_id`,禁止再次 create,必须优先复用。**
184
184
  - --max-life 指定 sandbox 最大存活时间(分钟),默认 30。长任务请调高,确保 sandbox 在命令执行期间不被回收。
185
+ - **`--gpu-mem`(单位 MiB)要匹配实际运行的模型**:模型参数量/精度越大所需显存越大,大模型塞进过小显存会直接 OOM。示例中的 8000(8GiB)只适配小模型,跑 7B/9B/13B 前先评估显存需求并适当调大。
185
186
  - `--no-auto-cleanup`:加此 flag 后该 sandbox **不会被自动清理**(服务端超时回收 + 本地周期 cleanup_stale 均跳过),只能通过显式 `sandbox kill`/`finish` 销毁。仅当任务确实需要跨越周期清理长期存活时才使用,任务结束后必须主动销毁,避免资源泄漏。
186
187
  - **禁止在 create 成功后反复调用 `sandbox status` 轮询**。`sandbox create` 返回时 sandbox 已经就绪,直接用它返回的 `data.sandbox_id` 执行 `write`/`run` 即可。多余的轮询会增加工具调用次数且没有任何收益。
187
188
  3. **写入代码/数据**:
@@ -6,7 +6,7 @@
6
6
 
7
7
  1. **查看可用镜像** `delta-cli sandbox images` — 查询服务端支持的镜像列表。镜像决定了容器内的语言运行时(Python / Node.js / Go / Java / Rust 等),根据用户的技术栈和 GPU/CPU 需求匹配。
8
8
  2. **列出现有 sandbox(可选)** `delta-cli sandbox list` — 查看当前用户已创建的活跃 sandbox,避免重复创建
9
- 3. **创建** `delta-cli sandbox create --image <image> --cpu 4 --memory 16Gi --gpu 1 --gpu-mem 8000 --max-life 120`(创建后立即可用,无需连接;--max-life 指定 sandbox 最大存活时间(分钟),默认 30。`--no-auto-cleanup` 可让 sandbox 不被自动清理,仅显式 kill/finish 可销毁。`--provider autodl` 可指定使用 AutoDL 后端。)
9
+ 3. **创建** `delta-cli sandbox create --image <image> --cpu 4 --memory 16Gi --gpu 1 --gpu-mem 8000 --max-life 120`(创建后立即可用,无需连接;--max-life 指定 sandbox 最大存活时间(分钟),默认 30。`--no-auto-cleanup` 可让 sandbox 不被自动清理,仅显式 kill/finish 可销毁。`--provider autodl` 可指定使用 AutoDL 后端。**`--gpu-mem`(单位 MiB)要匹配实际运行的模型**:模型参数量越大所需显存越大,大模型塞进过小显存会 OOM,宜先评估模型显存需求再设置。)
10
10
  4. **写入代码/数据** `delta-cli sandbox write <id> --source <文件名>` — 将本地文件直接写入 sandbox,**不传 `--path` 默认写到该 sandbox 的 working-directory**(`/workspace/{user_id}/{sandbox_id}/<文件名>`,在 OSS 同步范围内,kill 后文件不会丢)。写前可用 `delta-cli sandbox working-directory <id>` 确认路径。**必须**使用相对源路径(如 `--source infer.py`),禁止使用 `"$WORKSPACE_ROOT/<filename>"` 或 `$(pwd)/...`。相对 `--path` 也会拼到 working-directory 下;仅绝对 `--path` 原样使用(`/workspace/<filename>` 根路径不在 OSS 同步范围,不推荐)。也可用 `--data "..."` 写入少量内联内容(需显式 `--path`),`--mode 755` 可设置文件权限。写入后返回的 `size` 字段是 stat 验证后的实际磁盘字节数,可确认写入完整。批量写入用 `write-multiple`。文件路径和扩展名由镜像中的运行时决定。
11
11
  5. **运行命令** — 先 `delta-cli sandbox working-directory <id>` 查询 `<wd>`,再根据镜像中的运行时构造命令,常见示例:`python <wd>/train.py`(Python)、`node <wd>/app.js`(Node.js)、`go run <wd>/main.go`(Go)、`bash <wd>/run.sh`(Shell)
12
12
  - **短任务 ≤60s**:`delta-cli sandbox run <id> --command "<命令>" --timeout <秒>` 同步执行,SSE 原始 `data:` 帧透传到 stdout(无末尾信封),`exit_code`/`log_file` 从 `complete` 帧读取,完整 stdout 写入 log_file
@@ -116,6 +116,8 @@ SKILL 会把它提取为 `result.json` 的 `summary`,并生成 `result_summary
116
116
  ```
117
117
  - skill 会把它提取为 `result.json` 的 `summary`,最终输出 `RESULT: exit_code=0, status=ok, cuda_available=True, generated_text=110, ...`。
118
118
 
119
+ > **GPU 显存与模型匹配**:创建 sandbox 时的 `--gpu-mem`(单位 MiB)必须匹配实际运行的模型。模型参数量/精度越大,所需显存越大;把大模型塞进过小的 `--gpu-mem` 会直接 OOM。上面的示例用的是 `Qwen2.5-0.5B`(0.5B 小模型),**不要把它当作更大模型(如 7B/9B/13B)的显存参考**。跑较大模型前先评估其显存需求、适当调大 `--gpu-mem`,并建议先用小模型验证流程是否跑通。
120
+
119
121
  ## 注意事项
120
122
 
121
123
  - 尽量用自然语言描述任务,完整代码由 skill 内部处理。