Skip to main content
OpenWiki 支持以下提供者: 凭证和默认值存储在 ~/.openwiki/.env 中。进程环境值优先于文件值。 您可以使用以下方式设置活动提供者和模型:

提供者重试

在第一个提供者请求后覆盖重试:
该值必须是一个正整数。如果未设置,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 覆盖
要跨所有这些提供者设置一个限制,请设置:
默认情况下 OpenRouter 不会发送 max_tokens,因此信用预检查预算为模型的完整宣传输出上限,低余额可能会导致 402 错误。OPENWIKI_OPENROUTER_MAX_TOKENS 优先于 OPENWIKI_MAX_OUTPUT_TOKENS 在 OpenRouter 运行中,您可以使用以下方式设置 Token 限制:
使用限制意味着,而不是 402 失败,您可能会在长生成时遇到截断,因此请优先使用余额允许的最大值。

推理工作

OPENWIKI_REASONING_EFFORT 是一个可选的全局设置,用于宣传推理支持的模型。
将其留空以保留提供者默认值。无效提供者、模型或工作组合在发送请求之前就会失败。当活动提供者和模型不支持它时,继承的值也会失败。 所有其他提供者和模型组合,包括 OpenRouter,都不提供推理工作选择。 对于 openai-compatible,推理工作在您选择加入之前保持关闭:
当设置该标志时,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 跳过模型选择器:
可选 BOB_BASE_URL 覆盖默认推理端点(https://api.us-east.bob.ibm.com/inference/v1)。对于此提供者,流式输出始终开启。 要在 IBM Bob / Bob Shell 中运行 OpenWiki,而不是将 Bob 配置为独立提供者,请参阅 Coding-agent 集成。

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 拒绝用于第三方集成。

Microsoft Entra 身份验证

OpenWiki 支持作为令牌提供者的 Microsoft Entra ID(以前称为 Azure Active Directory),用于需要 Entra 带宽令牌而不是静态 API 密钥的 OpenAI 兼容端点。
Entra ID 身份验证需要 OpenWiki v0.7.0 或更高版本。
要交互式配置 Entra 身份验证,请运行 openwiki --init,选择 OpenAI 兼容,然后选择 Microsoft Entra ID。输入 HTTPS API 根、网关接受的令牌范围和模型 ID。OpenWiki 保存这些设置以供后续 --update 运行。它不会要求或存储访问令牌。 对于非交互式运行,设置与环境变量相同的值:
  • 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 获取令牌,它会缓存它们并在过期前刷新它们。在每个运行 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 密钥:
向导会在你的浏览器中打开 OpenAI 认证页面(并打印用于无头使用的 URL)。登录后,OpenWiki 会将管理的 OAuth 令牌存储在 ~/.openwiki/.env 中,并自动刷新访问令牌。将刷新令牌视为密码。

Gemini Enterprise Agent 平台

gemini-enterprise 提供者使用 Google 应用默认凭证。不需要 API 密钥:
凭证需要访问 Gemini Enterprise Agent 平台(roles/aiplatform.user),并且你使用的模型必须在模型花园中启用。合作伙伴/开放权重(MaaS)模型具有区域特定性,因此在使用它们时需要显式设置 GOOGLE_CLOUD_LOCATION。

AWS Bedrock

当未设置显式的 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 兼容的聊天补全:
Requesty 和 Opper 等托管网关与相同的提供者一起工作。将基础 URL 设置为网关端点,并将模型 ID 设置为网关提供的模型:
Ollama (http://localhost:11434/v1) 和 LM Studio (http://localhost:1234/v1) 等本地示例使用相同的模式。即使本地服务器忽略键值,OpenWiki 仍需要 OPENAI_COMPATIBLE_API_KEY。 OpenWiki 内部发送非流式请求,即使你不在终端中实时查看输出。一些网关只接受流式请求,其中模型通过打开的连接分块返回输出。当 OpenWiki 使用非流式请求访问这些网关时,网关可能会拒绝调用或返回带有空内容的 HTTP 200。通常空白 wiki 且无错误意味着你需要启用流式输出。 当你的网关需要流式输出时,为 openai-compatible 提供者启用流式输出:
默认情况下流式输出是关闭的,因为此提供者可以指向任意第三方端点,通过代理和负载均衡器保证流式输出可能不工作。启用它还会使客户端报告估计而不是服务器报告的 Token 数量。 要使 OpenAI 兼容提供者选择 Responses API 而不是聊天补全:

OpenRouter 提供者固定

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

参见


官方原文:src/oss/openwiki/providers.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026