> ## Documentation Index
> Fetch the complete documentation index at: https://starforge.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# sf 命令行

> 全部命令，按你想做的事分组。

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
uv tool install starforge-core     # 或：pip install starforge-core
sf login --server https://starforge.your-company.com
sf status
sf update    # 之后升级用它
```

`sf` 就是全部客户端。它创建项目、在本地校验配置、打包并提交作业、跟踪日志，
并管理数据集、模型、插件和环境。

<Info>
  这些页面上的每一张 flag 表都由 `scripts/gen_cli_docs.py` 从 CLI 本身生成，漂移会让 CI 失败。
  你在这里读到的，就是 `sf --help` 打印的。
</Info>

## 配置

| 命令                                   | 做什么                 |
| ------------------------------------ | ------------------- |
| [`sf init`](/zh-Hans/cli/init)       | 创建一个 StarForge 项目   |
| [`sf login`](/zh-Hans/cli/login)     | 登录某套部署              |
| [`sf logout`](/zh-Hans/cli/logout)   | 登出                  |
| [`sf status`](/zh-Hans/cli/status)   | 你的账号、配额和进行中的作业      |
| [`sf update`](/zh-Hans/cli/update)   | 升级 `sf` 自身          |
| [`sf version`](/zh-Hans/cli/version) | CLI 的版本，以及它连的服务端的版本 |

## 实验

| 命令                                     | 做什么                    |
| -------------------------------------- | ---------------------- |
| [`sf new`](/zh-Hans/cli/new)           | 从方法模板创建一个实验            |
| [`sf ls`](/zh-Hans/cli/ls)             | 列出本项目里的实验              |
| [`sf validate`](/zh-Hans/cli/validate) | 在本地按方法声明校验配置           |
| [`sf methods`](/zh-Hans/cli/methods)   | 方法 catalog，以及某个方法可调的参数 |
| [`sf recipe`](/zh-Hans/cli/recipe)     | 查看和升级实验的 recipe 锁      |

## 训练

| 命令                                 | 做什么                    |
| ---------------------------------- | ---------------------- |
| [`sf submit`](/zh-Hans/cli/submit) | 提交一个训练作业               |
| [`sf sweep`](/zh-Hans/cli/sweep)   | 提交一组网格变体               |
| [`sf job`](/zh-Hans/cli/job)       | 日志、状态、样本、暂停、恢复、停止      |
| [`sf clean`](/zh-Hans/cli/clean)   | 删除某个实验的 checkpoint 和日志 |

## 产物与评测

| 命令                                 | 做什么                            |
| ---------------------------------- | ------------------------------ |
| [`sf export`](/zh-Hans/cli/export) | 把 checkpoint 转成 HuggingFace 格式 |
| [`sf eval`](/zh-Hans/cli/eval)     | 跑 recipe 自带的评测                 |
| [`sf bench`](/zh-Hans/cli/bench)   | 跑标准基准                          |
| [`sf serve`](/zh-Hans/cli/serve)   | 启动、延长、停止 Playground 会话         |

## 资源

| 命令                                     | 做什么                                   |
| -------------------------------------- | ------------------------------------- |
| [`sf dataset`](/zh-Hans/cli/dataset)   | 数据集的预处理、检查、推送与版本管理                    |
| [`sf model`](/zh-Hans/cli/model)       | 模型注册表：注册、推广、归档                        |
| [`sf env`](/zh-Hans/cli/env)           | Agent RL 环境：列出、推送、查看、注册一个已在运行的 runner |
| [`sf annotate`](/zh-Hans/cli/annotate) | 偏好标注：拉取、提交、查看进度                       |
| [`sf plugin`](/zh-Hans/cli/plugin)     | 发布、安装、查看插件                            |

## 管理

| 命令                               | 做什么           |
| -------------------------------- | ------------- |
| [`sf admin`](/zh-Hans/cli/admin) | 用户、角色、配额、维护窗口 |

## 约定

* **`-h` / `--help` 到处都能用。** `sf job logs --help` 比翻页面快。
* **项目根目录靠 `starforge.yaml` 定位。** 在项目内任何位置执行命令都行。
* **状态存在 `~/.forge/`** —— 访问 token 和服务端地址，仅此而已。
* **作业类命令默认指向你最近的作业。** `sf job logs` 不带 id 就跟最新那个。
* **引用形式是 `<owner>/<name>`**，有版本的加 `@version`：`alice/gsm8k-zh@v2`。

## Shell 补全

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf --install-completion
```

为当前 shell 安装补全。想自己放置的话，用 `--show-completion` 打印脚本。
