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

# 模型提供方

> OpenWiki 支持以下提供者：

OpenWiki 支持以下提供者：

| 提供者 | 凭证 | 备注 |
| - | - | - |
| `openai` | `OPENAI_API_KEY` | 可选 `OPENAI_BASE_URL`，用于 OpenAI 兼容网关，这些网关暴露了 Responses API |
| `openai-chatgpt` | ChatGPT OAuth 令牌 | 使用 ChatGPT 登录；使用量基于 Plus/Pro/Team Codex 允许量 |
| `copilot` | GitHub CLI 会话或 `COPILOT_API_KEY` | 可选 `COPILOT_BASE_URL`。CI 需要一个 OAuth 令牌，而不是经典的 PAT |
| `openrouter` | `OPENROUTER_API_KEY` | 可选 `OPENWIKI_OPENROUTER_PROVIDER_ONLY` 允许列表 |
| `anthropic` | `ANTHROPIC_API_KEY` | 可选 `ANTHROPIC_BASE_URL` |
| `bob` | `BOB_API_KEY` | 可选 `BOB_BASE_URL`。固定模型 ID `premium`；没有模型选择器 |
| `gemini` | `GEMINI_API_KEY` | Google AI Studio |
| `gemini-enterprise` | Google ADC + `GOOGLE_CLOUD_PROJECT` | 可选 `GOOGLE_CLOUD_LOCATION`（默认为 `global`） |
| `bedrock` | AWS 凭证 + 区域 | 显式的 Bedrock 密钥或 AWS SDK 默认链 |
| `baseten` | `BASETEN_API_KEY` | 可选 `BASETEN_BASE_URL` |
| `fireworks` | `FIREWORKS_API_KEY` | 可选 `FIREWORKS_BASE_URL` |
| `nebius` | `NEBIUS_API_KEY` | Nebius 令牌工厂 |
| `nvidia` | `NVIDIA_API_KEY` | 可选 `NVIDIA_BASE_URL` |
| `openai-compatible` | `OPENAI_COMPATIBLE_API_KEY` | 需要 `OPENAI_COMPATIBLE_BASE_URL` 和自定义模型 ID |

凭证和默认值存储在 `~/.openwiki/.env` 中。进程环境值优先于文件值。

您可以使用以下方式设置活动提供者和模型：

```bash theme={null}
OPENWIKI_PROVIDER=openai
OPENWIKI_MODEL_ID=gpt-5.6-terra
```

### 提供者重试

在第一个提供者请求后覆盖重试：

```bash theme={null}
OPENWIKI_PROVIDER_RETRY_ATTEMPTS=3
```

该值必须是一个正整数。如果未设置，OpenWiki 默认为 3 次重试，或者当 `OPENWIKI_PAGE_CONCURRENCY` 大于 `1` 时为 5 次重试。

### 输出 Token 限制

`OPENWIKI_MAX_OUTPUT_TOKENS` 是一个可选的每个请求输出预算的覆盖值。当设置时，它必须是一个正整数。OpenWiki 将其映射到活动提供者的请求形状：

* **`maxOutputTokens`**: `gemini`
* **`maxTokens`**: `anthropic`, `openai`, `openai-compatible`, `openrouter`, `bedrock`, Gemini Enterprise 非谷歌表面, `openai-chatgpt`, 和 `copilot`

当未设置时，OpenWiki 保留每个提供者的 SDK 默认值，除了这些内置上限：

* **Anthropic**: 现代 Claude 4 和 5 模型默认为 `16384` 个 Token，因为较旧的 LangChain 元数据否则会限制新的 Claude 别名在 `4096` 个 Token
* **Bedrock**: 默认为 `16000` 个 Token。当模型支持较低上限时，使用 `OPENWIKI_BEDROCK_MAX_TOKENS` 覆盖

要跨所有这些提供者设置一个限制，请设置：

```bash theme={null}
OPENWIKI_MAX_OUTPUT_TOKENS=16384
```

默认情况下 OpenRouter 不会发送 `max_tokens`，因此信用预检查预算为模型的完整宣传输出上限，低余额可能会导致 402 错误。`OPENWIKI_OPENROUTER_MAX_TOKENS` 优先于 `OPENWIKI_MAX_OUTPUT_TOKENS` 在 OpenRouter 运行中，您可以使用以下方式设置 Token 限制：

```bash theme={null}
OPENWIKI_OPENROUTER_MAX_TOKENS=8192
```

使用限制意味着，而不是 402 失败，您可能会在长生成时遇到截断，因此请优先使用余额允许的最大值。

### 推理工作

`OPENWIKI_REASONING_EFFORT` 是一个可选的全局设置，用于宣传推理支持的模型。

```bash theme={null}
OPENWIKI_REASONING_EFFORT=high
```

将其留空以保留提供者默认值。无效提供者、模型或工作组合在发送请求之前就会失败。当活动提供者和模型不支持它时，继承的值也会失败。

| 提供者 | 模型 | 支持的值 | 请求映射 |
| - | - | - | - |
| `openai` | `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.6-sol` | `none`, `low`, `medium`, `high`, `xhigh`, `max` | Responses API `reasoning.effort` |
| `openai-chatgpt` | `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.6-sol` | `none`, `low`, `medium`, `high`, `xhigh`, `max` | Responses API `reasoning.effort` |
| `nvidia` | `nvidia/nemotron-3-super-120b-a12b` | `none`, `low`, `high` | Chat Completions `reasoning_effort` |
| `gemini` | `gemini-3.6-flash` | `low`, `medium`, `high` | Gemini 思考级别 |
| `openai-compatible` | 任何模型 ID，当启用时 | `none`, `low`, `medium`, `high`, `xhigh`, `max` | Responses API `reasoning.effort` 或 Chat Completions `reasoning_effort` |

所有其他提供者和模型组合，包括 OpenRouter，都不提供推理工作选择。

对于 `openai-compatible`，推理工作在您选择加入之前保持关闭：

```bash theme={null}
OPENWIKI_OPENAI_COMPATIBLE_REASONING_EFFORT_SUPPORTED=true
```

当设置该标志时，OpenWiki 如果 `OPENWIKI_OPENAI_COMPATIBLE_USE_RESPONSES_API=true`，则通过 Responses API 映射 `OPENWIKI_REASONING_EFFORT`，否则通过 Chat Completions `reasoning_effort` 映射。

在交互式聊天中，使用 `/effort` 选择可用值，或使用 `/effort default` 恢复提供者默认值。

## IBM Bob

IBM Bob 是一个 API 密钥提供者，其固定模型 ID 为 `premium`，因此 OpenWiki 跳过模型选择器：

```bash theme={null}
OPENWIKI_PROVIDER=bob
BOB_API_KEY=your-bob-api-key
```

可选 `BOB_BASE_URL` 覆盖默认推理端点（`https://api.us-east.bob.ibm.com/inference/v1`）。对于此提供者，流式输出始终开启。

要在 IBM Bob / Bob Shell 中运行 OpenWiki，而不是将 Bob 配置为独立提供者，请参阅 [Coding-agent 集成](https://langchain-docs-zh.mintlify.site/langchain/oss/openwiki/integrations.md)。

## GitHub Copilot

要使用 GitHub Copilot：

1. 在 `openwiki --init` 期间选择 GitHub Copilot。如果您有一个活动的 GitHub CLI 会话，OpenWiki 可以重用它。否则，从凭证提示中运行 `gh auth login`。
2. 选择一个模型（例如 `gpt-5.5`）。

OpenWiki 将 GitHub CLI 令牌保存在 GitHub CLI 凭证存储中。它不会将那个令牌复制到 `~/.openwiki/.env` 中。对于 CI 或没有 GitHub CLI 会话的无头环境，将 `COPILOT_API_KEY` 设置为 GitHub **OAuth 令牌**。个人访问令牌（经典或细粒度）会被 Copilot API 拒绝用于第三方集成。

```bash theme={null}
OPENWIKI_PROVIDER=copilot
OPENWIKI_MODEL_ID=gpt-5.5
```

## Microsoft Entra 身份验证

OpenWiki 支持作为令牌提供者的 Microsoft Entra ID（以前称为 Azure Active Directory），用于需要 Entra 带宽令牌而不是静态 API 密钥的 OpenAI 兼容端点。

> [!NOTE]
>
> Entra ID 身份验证需要 OpenWiki v0.7.0 或更高版本。

要交互式配置 Entra 身份验证，请运行 `openwiki --init`，选择 **OpenAI 兼容**，然后选择 **Microsoft Entra ID**。输入 HTTPS API 根、网关接受的令牌范围和模型 ID。OpenWiki 保存这些设置以供后续 `--update` 运行。它不会要求或存储访问令牌。

对于非交互式运行，设置与环境变量相同的值：

```bash theme={null}
OPENWIKI_PROVIDER=openai-compatible
OPENAI_COMPATIBLE_AUTH=entra-id
OPENAI_COMPATIBLE_BASE_URL=https://gateway.example.com/openai/v1
OPENAI_COMPATIBLE_ENTRA_SCOPE=api://gateway-application-id/.default
OPENWIKI_MODEL_ID=your-gateway-model
```

* **`OPENAI_COMPATIBLE_AUTH`**: 设置为 `entra-id` 以启用 Entra 身份验证。默认值为 `api-key`。在 Entra 模式下，`OPENAI_COMPATIBLE_API_KEY` 不是必需的。
* **`OPENAI_COMPATIBLE_BASE_URL`**: 必须使用 HTTPS，并且不能包含嵌入的凭证。
* **`OPENAI_COMPATIBLE_ENTRA_SCOPE`**: 可选。默认为 `https://cognitiveservices.azure.com/.default`，即 Azure OpenAI 范围。自定义网关可能需要不同的范围。

OpenWiki 通过 [Azure Identity](https://learn.microsoft.com/en-us/javascript/api/overview/azure/identity-readme) 获取令牌，它会缓存它们并在过期前刷新它们。在每个运行 OpenWiki 的环境中单独配置 Azure Identity 凭证：

* **工作负载身份联合**: 设置 `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, 和 `AZURE_FEDERATED_TOKEN_FILE`。当 `AZURE_FEDERATED_TOKEN_FILE` 设置时，OpenWiki 使用 `WorkloadIdentityCredential`。将文件变量指向运行者提供的令牌文件。不要提交该文件。
* **其他环境**: OpenWiki 使用 `DefaultAzureCredential`，它接受诸如 `az login`、托管身份或环境凭证之类的凭证。

生成的 CI 工作流会保留认证模式和范围，但你仍需要在 CI 中配置一个无人值守的 Azure 身份凭证。

## OpenAI (ChatGPT 登录)

`openai-chatgpt` 提供者使用你的 ChatGPT 订阅调用 OpenAI 的 Codex 后端，而不是计量 API 密钥：

```bash theme={null}
OPENWIKI_PROVIDER=openai-chatgpt openwiki code --init
```

向导会在你的浏览器中打开 OpenAI 认证页面（并打印用于无头使用的 URL）。登录后，OpenWiki 会将管理的 OAuth 令牌存储在 `~/.openwiki/.env` 中，并自动刷新访问令牌。将刷新令牌视为密码。

## Gemini Enterprise Agent 平台

`gemini-enterprise` 提供者使用 Google 应用默认凭证。不需要 API 密钥：

```bash theme={null}
OPENWIKI_PROVIDER=gemini-enterprise
GOOGLE_CLOUD_PROJECT=your-gcp-project
GOOGLE_CLOUD_LOCATION=global
```

凭证需要访问 Gemini Enterprise Agent 平台（`roles/aiplatform.user`），并且你使用的模型必须在模型花园中启用。合作伙伴/开放权重（MaaS）模型具有区域特定性，因此在使用它们时需要显式设置 `GOOGLE_CLOUD_LOCATION`。

## AWS Bedrock

```bash theme={null}
OPENWIKI_PROVIDER=bedrock
BEDROCK_AWS_ACCESS_KEY_ID=your-access-key-id
BEDROCK_AWS_SECRET_ACCESS_KEY=your-secret-access-key
BEDROCK_AWS_REGION=us-east-1
OPENWIKI_MODEL_ID=anthropic.claude-sonnet-5
```

当未设置显式的 Bedrock 凭证时，OpenWiki 使用 AWS SDK 默认凭证提供链。直接粘贴 Bedrock 模型 ID。一些较新的模型需要跨区域推理配置文件 ID（例如 `us.anthropic.claude-sonnet-5`）而不是裸模型 ID。

Bedrock 在未设置 `OPENWIKI_MAX_OUTPUT_TOKENS` 或 `OPENWIKI_BEDROCK_MAX_TOKENS` 时默认为 `16000`-Token 输出上限。如果没有显式限制，Converse API 会将输出限制在 `4096` 个 Token，并可能截断较长的 wiki 页面。

对于 Bedrock 流空闲超时，在毫秒（`OPENWIKI_STREAM_IDLE_TIMEOUT`）中设置（一个从 `0` 到 `2147483647` 的整数）。将 `0` 设置为禁用看门狗。如果未设置，OpenWiki 会保留 `@langchain/aws` 提供者的默认值。

## OpenAI 兼容端点

使用 `openai-compatible` 提供者用于网关或本地服务器，这些网关或本地服务器提供 OpenAI 兼容的聊天补全：

```bash theme={null}
OPENWIKI_PROVIDER=openai-compatible
OPENAI_COMPATIBLE_API_KEY=your-gateway-key
OPENAI_COMPATIBLE_BASE_URL=https://your-gateway.example.com/v1
OPENWIKI_MODEL_ID=your-gateway-model-name
```

Requesty 和 Opper 等托管网关与相同的提供者一起工作。将基础 URL 设置为网关端点，并将模型 ID 设置为网关提供的模型：

```bash theme={null}
# Requesty
OPENWIKI_PROVIDER=openai-compatible
OPENAI_COMPATIBLE_API_KEY=your-gateway-key
OPENAI_COMPATIBLE_BASE_URL=https://router.requesty.ai/v1
OPENWIKI_MODEL_ID=openai/gpt-5.5
```

```bash theme={null}
# Opper
OPENWIKI_PROVIDER=openai-compatible
OPENAI_COMPATIBLE_API_KEY=your-opper-key
OPENAI_COMPATIBLE_BASE_URL=https://api.opper.ai/v3/compat
OPENWIKI_MODEL_ID=claude-sonnet-4-6
```

Ollama (`http://localhost:11434/v1`) 和 LM Studio (`http://localhost:1234/v1`) 等本地示例使用相同的模式。即使本地服务器忽略键值，OpenWiki 仍需要 `OPENAI_COMPATIBLE_API_KEY`。

OpenWiki 内部发送非流式请求，即使你不在终端中实时查看输出。一些网关只接受流式请求，其中模型通过打开的连接分块返回输出。当 OpenWiki 使用非流式请求访问这些网关时，网关可能会拒绝调用或返回带有空内容的 HTTP 200。通常空白 wiki 且无错误意味着你需要启用流式输出。

当你的网关需要流式输出时，为 `openai-compatible` 提供者启用流式输出：

```bash theme={null}
OPENWIKI_OPENAI_COMPATIBLE_STREAMING=true
```

默认情况下流式输出是关闭的，因为此提供者可以指向任意第三方端点，通过代理和负载均衡器保证流式输出可能不工作。启用它还会使客户端报告估计而不是服务器报告的 Token 数量。

要使 OpenAI 兼容提供者选择 Responses API 而不是聊天补全：

```bash theme={null}
OPENWIKI_OPENAI_COMPATIBLE_USE_RESPONSES_API=true
```

## OpenRouter 提供者固定

当 OpenRouter 通过多个上游提供者提供模型时，限制路由：

```bash theme={null}
OPENWIKI_PROVIDER=openrouter
OPENROUTER_API_KEY=your-key
OPENWIKI_OPENROUTER_PROVIDER_ONLY=Novita
```

## 参见

* [快速入门](https://langchain-docs-zh.mintlify.site/langchain/oss/openwiki/quickstart.md)
* [CLI 参考](https://langchain-docs-zh.mintlify.site/langchain/oss/openwiki/cli-reference.md)
* [自定义 OpenWiki](https://langchain-docs-zh.mintlify.site/langchain/oss/openwiki/customize.md)

***

> 官方原文：[src/oss/openwiki/providers.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/openwiki/providers.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.