# Spaces 配置参考

Spaces 通过位于仓库根目录下 **README.md** 文件顶部的 `YAML` 块进行配置。所有受支持的参数如下所示。

**`title`** : _string_ Space 的显示标题。

**`emoji`** : _string_ 空格表情符号（仅允许单个表情符号字符）。

**`colorFrom`** : _string_ 缩略图渐变的颜色（red、yellow、green、blue、indigo、purple、pink、gray）。

**`colorTo`** : _string_ 缩略图渐变的颜色（red、yellow、green、blue、indigo、purple、pink、gray）。

**`sdk`** : _string_ 可以是 `gradio`、`docker` 或 `static`。

**`python_version`**: _string_ 任何有效的 Python `3.x` 或 `3.x.x` 版本。默认为 `3.10`。

**`sdk_version`** : _string_ 指定要使用的 Gradio 版本。支持所有版本的 Gradio。

**`suggested_hardware`** : _string_ 指定此 Space 必须运行的建议[硬件](https://huggingface.co/docs/hub/spaces-gpus)。对于旨在供其他用户复制的 Space 非常有用。设置此值不会自动为此 Space 分配硬件。值必须是有效的硬件类型。当前有效的硬件类型：
- CPU：`"cpu-basic"`、`"cpu-upgrade"`
- GPU: `"t4-small"`、`"t4-medium"`、`"l4x1"`、`"l4x4"`
	`"l40sx1"`, `"l40sx4"`, `"l40sx8"`,
	`"rtx-pro-6000"`, `"rtx-pro-6000x2"`, `"rtx-pro-6000x4"`, `"rtx-pro-6000x8"`,
	`"a10g-small"`, `"a10g-large"`, `"a10g-largex2"`,
	`"a10g-largex4"`, `"a100-large"`, `"a100x4"`, `"a100x8"`

**`suggested_storage`** : _string_ 指定此 Space 必须运行的建议[永久存储](https://huggingface.co/docs/hub/spaces-storage)。适用于旨在供其他用户复制的 Space。设置此值不会自动为此 Space 分配永久存储。值必须是 `"small"`、`"medium"` 或 `"large"` 之一。
> [!NOTE]
> 持久存储功能已不再可用，因此此设置将被忽略。

**`app_file`** : _string_ 主应用程序文件的路径（其中包含 `gradio` Python 代码或 `static` html 代码）。路径相对于仓库根目录。

**`app_build_command`** : _string_ 对于静态 Spaces，首先运行以生成要渲染的 HTML 的命令。示例：`npm run build`。

此参数与指向已构建索引文件的 `app_file` 配合使用：例如 `app_file: dist/index.html`。

每次更新时，构建命令将在 Job 中运行，构建输出将存储在 `refs/convert/build` 中，并由 Space 提供服务。示例参见 https://huggingface.co/spaces/coyotte508/static-vite

**`app_port`** : _int_ 您的应用程序正在运行的端口。仅在 `sdk` 为 `docker` 时使用。默认端口为 `7860`。

**`base_path`**: _string_ 对于非静态 Spaces，这是初始渲染的 url。必须以 `/` 开头。对于静态 Spaces，请改用 `app_file`。

**`fullWidth`**: _boolean_ 您的 Space 是否在 iframe 内以全宽（当 `true` 时）或固定宽度列（即 “container” CSS）渲染。默认为 `true`。

**`header`**： _string_ 可以是 `mini` 或 `default`。如果将 `header` 设置为 `mini`，空间将以全屏显示，并带有迷你浮动标题栏。

**`short_description`**: _string_ Space 的简短描述。该内容将显示在 Space 的缩略图中。

**`models`** : _List[string]_ 在 Space 中使用的 HF 模型 ID（例如 `openai-community/gpt2` 或 `deepset/roberta-base-squad2`）。如果未在此处指定，将自动从您的代码中解析。

**`datasets`** : _List[string]_ 该 Space 中使用的 HF 数据集 ID（例如 `mozilla-foundation/common_voice_13_0` 或 `oscar-corpus/OSCAR-2109`）。如果未在此处指定，将自动从您的代码中解析。

**`tags`** : _List[string]_ 描述您的 Space 任务或范围的术语列表。

**`thumbnail`**: _string_ 用于定义社交分享自定义缩略图的 URL。

**`pinned`** : _boolean_ 该 Space 是否固定在您的个人资料顶部。如果您拥有大量 Space，此功能会很有用，可以让您和其他人快速查看您最出色的 Space。

**`hf_oauth`** : _boolean_ 是否有一个已连接的 OAuth 应用与此 Space 关联。有关更多详细信息，请参阅 [在您的 Space 中添加“使用 HF 登录”按钮](https://huggingface.co/docs/hub/spaces-oauth)。

**`hf_oauth_scopes`** : _List[string]_ 已连接的 OAuth 应用的授权范围。`openid` 和 `profile` 默认已授权，无需此参数。有关更多详细信息，请参阅 [在您的 Space 中添加“使用 HF 登录”按钮](https://huggingface.co/docs/hub/spaces-oauth)。

**`hf_oauth_expiration_minutes`** : _int_ OAuth 令牌的有效期（以分钟为单位）。默认值为 480 分钟（8 小时）。最大有效期为 43200 分钟（30 天）。有关更多详细信息，请参阅 [在您的 Space 中添加“使用 HF 登录”按钮](https://huggingface.co/docs/hub/spaces-oauth)。

**`hf_oauth_authorized_org`** : _string_ 或 _List[string]_ 将 OAuth 访问权限限制为特定组织的成员。有关更多详细信息，请参阅 [在您的 Space 中添加 Sign-In with HF 按钮](https://huggingface.co/docs/hub/spaces-oauth)。

**`disable_embedding`** : _boolean_ 是否允许将 Space iframe 嵌入到其他网站中。默认值为 false，即 Space *可以*被嵌入。

**`startup_duration_timeout`**: _string_ 为您的 Space 设置自定义的启动时长超时。这是您的 Space 在超时并被标记为不健康之前允许启动的最长时间。默认值为 30 分钟，但任何有效的时长（例如 `1h`、`30m`）均可接受。

**`custom_headers`** : _Dict[string, string]_ 设置自定义 HTTP 标头，这些标头将在提供你的 Space 服务时添加到所有 HTTP 响应中。目前，仅允许使用 [cross-origin-embedder-policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy) (COEP)、[cross-origin-opener-policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) (COOP) 和 [cross-origin-resource-policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Resource-Policy) (CORP) 标头。这些标头可用于设置跨源隔离环境，并启用诸如 `SharedArrayBuffer` 等强大功能，例如：

```yaml
custom_headers:
  cross-origin-embedder-policy: require-corp
  cross-origin-opener-policy: same-origin
  cross-origin-resource-policy: cross-origin
```

*注意：*所有标头和值必须为小写。

**`preload_from_hub`**: _List[string]_ 指定一个 Hugging Face Hub 模型或其他大型文件的列表，以便在构建您的 Space 时进行预加载。这通过确保文件在您的应用启动时已就绪，从而优化启动时间。这对于依赖大型模型或数据集的 Space 尤其有用，否则这些文件需要在运行时下载。

每个条目的格式为 `"repository_name"`，用于下载仓库中的所有文件；或 `"repository_name file1,file2"`，用于下载该仓库中的特定文件。你还可以使用格式 `"repository_name file1,file2 commit_sha256"` 来指定要下载的特定 commit。

用法示例：
```yaml
preload_from_hub:
  - warp-ai/wuerstchen-prior text_encoder/model.safetensors,prior/diffusion_pytorch_model.safetensors
  - coqui/XTTS-v1
  - openai-community/gpt2 config.json 11c5a3d5811f50298f278a704980280950aedb10
```
在此示例中，该 Space 将在构建时从 Hugging Face Hub 预加载 `warp-ai/wuerstchen-prior` 中的特定 .safetensors 文件、完整的 `coqui/XTTS-v1` 仓库，以及 `openai-community/gpt2` 仓库中 `config.json` 文件的特定版本。

> [!WARNING]
> 文件默认保存在 `huggingface_hub` 磁盘缓存 `~/.cache/huggingface/hub` 中。如果您的应用程序期望文件位于其他位置，或者您修改了 `HF_HOME` 变量，目前此预加载功能不会遵循该设置。

> [!NOTE]
> 目前尚不支持预加载私有仓库。

