---
title: LobeHub 自定义模型服务商模型列表及扩展能力配置
description: 了解如何在 LobeHub 中自定义模型列表以及扩展能力配置的基本语法和规则。
tags:
  - LobeHub
  - 自定义模型列表
  - 扩展能力配置
  - 模型展示名
  - 模型能力
---

# Model List

LobeHub 支持在部署时自定义模型列表，详情请参考 [模型提供商](/zh/docs/self-hosting/environment-variables/model-provider) 。

你可以使用 `+` 增加一个模型，使用 `-` 来隐藏一个模型，使用 `模型名->部署名=展示名<扩展配置>` 来自定义模型的展示名，用英文逗号隔开。通过 `<>` 来添加扩展配置。基本语法如下：

```text
id->deploymentName=displayName<maxToken:vision:reasoning:search:fc:file:imageOutput>,model2,model3
```

部署名`->deploymentName`可以省略，默认为最新版本的模型。当前支持`->deploymentName`的模型服务商有：Azure、Volcengine 和 Qwen。

例如： `+qwen-7b-chat,+glm-6b,-gpt-3.5-turbo,gpt-4-0125-preview=gpt-4-turbo`

上面示例表示增加 `qwen-7b-chat` 和 `glm-6b` 到模型列表，而从列表中删除 `gpt-3.5-turbo`，并将 `gpt-4-0125-preview` 模型名字展示为 `gpt-4-turbo`。如果你想先禁用所有模型，再启用指定模型，可以使用 `-all,+gpt-3.5-turbo`，则表示仅启用 `gpt-3.5-turbo`。

### -all：隐藏所有模型

- 描述：`-all` 表示先隐藏所有内置模型。通常与 `+` 组合使用，用于只启用你显式指定的模型。
- 示例：

```text
-all,+gpt-3.5-turbo,+gpt-4-0125-preview=gpt-4-turbo
```

仅启用 gpt-3.5-turbo 和 gpt-4-turbo，而其他模型都隐藏。

## 扩展能力

考虑到模型的能力多样性，我们在 `0.147.8` 版本开始增加扩展性配置，它的规则如下：

```shell
id->deploymentName=displayName<maxToken:vision:reasoning:search:fc:file:imageOutput>
```

尖括号第一个值约定为这个模型的 `maxToken` 。第二个及以后作为模型的扩展能力，能力与能力之间用冒号 `:` 作为分隔符，顺序不重要。

举例如下：

- `chatglm-6b=ChatGLM 6B<4096>`：ChatGLM 6B，最大上下文 4k，没有高阶能力；
- `spark-v3.5=讯飞星火 v3.5<8192:fc>`：讯飞星火 3.5 模型，最大上下文 8k，支持 Function Call；
- `gemini-1.5-flash-latest=Gemini 1.5 Flash<16000:vision>`：Google 视觉模型，最大上下文 16k，支持图像识别；
- `o3-mini=OpenAI o3-mini<200000:reasoning:fc>`：OpenAI o3-mini 模型，最大上下文 200k，支持推理及 Function Call；
- `qwen-max-latest=Qwen Max<32768:search:fc>`：通义千问 2.5 Max 模型，最大上下文 32k，支持联网搜索及 Function Call；
- `gpt-4-all=ChatGPT Plus<128000:fc:vision:file>`，hack 的 ChatGPT Plus 网页版，上下 128k ，支持图像识别、Function Call、文件上传；
- `gemini-2.0-flash-exp-image-generation=Gemini 2.0 Flash (Image Generation) Experimental<32768:imageOutput:vision>`，Gemini 2.0 Flash 实验模型，最大上下文 32k，支持图像生成和识别

目前支持的扩展能力有：

| ---           | 描述                     |
| ------------- | ---------------------- |
| `fc`          | 函数调用（function calling） |
| `vision`      | 视觉识别                   |
| `imageOutput` | 图像生成                   |
| `reasoning`   | 支持推理                   |
| `search`      | 支持联网搜索                 |
| `file`        | 文件上传（比较 hack，不建议日常使用）  |

## 提供商专属示例

### Azure OpenAI

Azure 需要使用 `->deploymentName` 映射部署名称：

```bash
AZURE_ENDPOINT=https://your-resource.openai.azure.com
AZURE_API_KEY=your-api-key
AZURE_API_VERSION=2024-02-01
# id->deploymentName=displayName<能力>
AZURE_MODEL_LIST="gpt-35-turbo->my-gpt35-deploy=GPT-3.5 Turbo<16000:fc>,gpt-4->my-gpt4-deploy=GPT-4<128000:fc:vision"
```

### Ollama（本地模型）

```bash
OLLAMA_PROXY_URL=http://localhost:11434
OLLAMA_MODEL_LIST="+llama3:8b=Llama 3 8B<8192>,+mistral:latest=Mistral<8192:fc>,+codellama:34b=Code Llama 34B<16000"
```

### 同时配置多个提供商

```bash
# OpenAI — 精选列表
OPENAI_API_KEY=sk-...
OPENAI_MODEL_LIST=-all,+gpt-4o,+gpt-4o-mini

# Anthropic — 长上下文备选
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL_LIST="+claude-3-opus-20240229=Claude 3 Opus<200000:vision:fc>,+claude-3-5-sonnet-20241022=Claude 3.5 Sonnet<200000:vision:fc"

# Google
GOOGLE_API_KEY=...
GOOGLE_MODEL_LIST="+gemini-1.5-pro=Gemini 1.5 Pro<1000000:vision:fc"
```

## 最佳实践

**使用 `-all` 从零开始** — 隐藏所有默认模型，再明确添加你需要的模型：

```bash
OPENAI_MODEL_LIST=-all,+gpt-4o,+gpt-4o-mini
```

**使用描述性的展示名称** — 让模型名称对用户更友好、更清晰：

```bash
OPENAI_MODEL_LIST="gpt-4o=GPT-4o（推荐）,gpt-4o-mini=GPT-4o Mini（快速省钱）"
```

**上生产前先测试** — 在开发环境中验证新的模型配置：

```bash
docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY="sk-test..." \
  -e OPENAI_MODEL_LIST="-all,+gpt-4o" \
  --name lobehub-test lobehub/lobehub
```

## 故障排查

**模型未出现在选择器中**

- 检查语法错误（逗号缺失、尖括号不匹配）
- 确认提供商本身已启用（`ENABLED_OPENAI=1` 等）
- 若使用了 `-all`，确认已用 `+` 添加该模型
- 查看日志：`docker logs lobehub | grep -i "model"`

**模型返回空响应**

- 尝试在代理 URL 末尾加上 `/v1`：`OPENAI_PROXY_URL=https://api.example.com/v1`
- 验证模型 ID 与提供商 API 期望的完全一致
- 确认 API Key 有权访问该模型

**扩展能力不生效**

- `maxToken` 值必须是 `< >` 内的**第一个**值：`<8192:fc:vision>` 而非 `<fc:vision>`
- 确认该模型在提供商 API 中实际支持该能力（LobeHub 无法开启 API 本身不提供的能力）
- 确认你运行的是足够新的 LobeHub 版本
