> ## 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.

# 环境

> 训练可以引用的 Agent RL 环境，以及每一个声明了什么。

你能引用的全部环境：公开的加上你自己的。选中一个会显示它的 manifest。

<Frame caption="Agent 环境，以及每份 manifest 声明了什么。">
  <img src="https://mintcdn.com/starforge/GatXR2rI5-_Vm4_H/images/console/environments.png?fit=max&auto=format&n=GatXR2rI5-_Vm4_H&q=85&s=b2fa613f63291321754feee12bc1769d" alt="StarForge environments page" width="2160" height="1350" data-path="images/console/environments.png" />
</Frame>

## 你会看到什么

| 字段          | 它告诉你什么                                        |
| ----------- | --------------------------------------------- |
| **协议**      | trainer 怎么够到它——平台服务、为 NeMo Gym 物化，还是别人在跑的远程服务 |
| **判定方**     | 一个 rubric、一个插件入口，还是一个外部服务                     |
| **Harness** | 协议需要时，驱动模型走完环境的那个插件                           |
| **运行位置**    | 远程环境的应答地址                                     |
| **沙箱**      | 是否需要，这决定了一套部署能不能跑它                            |
| **版本**      | 每一个不可变版本，以及哪些是公开的                             |

<Warning>
  taskset 不会展示，也没有任何路由返回它。一家企业认为什么算难，往往比它的训练数据更能说明问题，
  所以作业只能引用环境，任务内容只在获批的运行时里才出现。
</Warning>

## 你可以做什么

* **在作业里引用** —— 复制它的 `<owner>/<name>@<version>`，用 `--environment` 传进去。
* **推送一个版本** —— `sf env push`，见[编写环境](/zh-Hans/extend/environments)。
* **注册一个已在运行的服务** —— `sf env runner register`，用于你已经在运维的 OpenEnv 服务。

## 协议字段，一句话一个

| 协议             | 谁来跑这个 server                             |
| -------------- | ---------------------------------------- |
| **OpenEnv**    | 平台。回合级；TRL、SkyRL、Unsloth 和 Axolotl 原生消费它 |
| **NeMo Gym**   | 训练框架。平台写出 Gym 期望的文件，Gym 自己启动服务           |
| **远程 OpenEnv** | 别人，而且已经在跑。平台只决定作业能不能够到它                  |
| **OpenEnv 容器** | 这里没有人——这套部署不托管别人的容器，申请它的作业在准入时就被拒        |
