凭证和默认值存储在
~/.openwiki/.env 中。进程环境值优先于文件值。
您可以使用以下方式设置活动提供者和模型:
提供者重试
在第一个提供者请求后覆盖重试:OPENWIKI_PAGE_CONCURRENCY 大于 1 时为 5 次重试。
输出 Token 限制
OPENWIKI_MAX_OUTPUT_TOKENS 是一个可选的每个请求输出预算的覆盖值。当设置时,它必须是一个正整数。OpenWiki 将其映射到活动提供者的请求形状:
maxOutputTokens:geminimaxTokens:anthropic,openai,openai-compatible,openrouter,bedrock, Gemini Enterprise 非谷歌表面,openai-chatgpt, 和copilot
- Anthropic: 现代 Claude 4 和 5 模型默认为
16384个 Token,因为较旧的 LangChain 元数据否则会限制新的 Claude 别名在4096个 Token - Bedrock: 默认为
16000个 Token。当模型支持较低上限时,使用OPENWIKI_BEDROCK_MAX_TOKENS覆盖
max_tokens,因此信用预检查预算为模型的完整宣传输出上限,低余额可能会导致 402 错误。OPENWIKI_OPENROUTER_MAX_TOKENS 优先于 OPENWIKI_MAX_OUTPUT_TOKENS 在 OpenRouter 运行中,您可以使用以下方式设置 Token 限制:
推理工作
OPENWIKI_REASONING_EFFORT 是一个可选的全局设置,用于宣传推理支持的模型。
所有其他提供者和模型组合,包括 OpenRouter,都不提供推理工作选择。
对于
openai-compatible,推理工作在您选择加入之前保持关闭:
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:- 在
openwiki --init期间选择 GitHub Copilot。如果您有一个活动的 GitHub CLI 会话,OpenWiki 可以重用它。否则,从凭证提示中运行gh auth login。 - 选择一个模型(例如
gpt-5.5)。
~/.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 或更高版本。
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 范围。自定义网关可能需要不同的范围。
- 工作负载身份联合: 设置
AZURE_CLIENT_ID,AZURE_TENANT_ID, 和AZURE_FEDERATED_TOKEN_FILE。当AZURE_FEDERATED_TOKEN_FILE设置时,OpenWiki 使用WorkloadIdentityCredential。将文件变量指向运行者提供的令牌文件。不要提交该文件。 - 其他环境: OpenWiki 使用
DefaultAzureCredential,它接受诸如az login、托管身份或环境凭证之类的凭证。
OpenAI (ChatGPT 登录)
openai-chatgpt 提供者使用你的 ChatGPT 订阅调用 OpenAI 的 Codex 后端,而不是计量 API 密钥:
~/.openwiki/.env 中,并自动刷新访问令牌。将刷新令牌视为密码。
Gemini Enterprise Agent 平台
gemini-enterprise 提供者使用 Google 应用默认凭证。不需要 API 密钥:
roles/aiplatform.user),并且你使用的模型必须在模型花园中启用。合作伙伴/开放权重(MaaS)模型具有区域特定性,因此在使用它们时需要显式设置 GOOGLE_CLOUD_LOCATION。
AWS Bedrock
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 兼容的聊天补全:
http://localhost:11434/v1) 和 LM Studio (http://localhost:1234/v1) 等本地示例使用相同的模式。即使本地服务器忽略键值,OpenWiki 仍需要 OPENAI_COMPATIBLE_API_KEY。
OpenWiki 内部发送非流式请求,即使你不在终端中实时查看输出。一些网关只接受流式请求,其中模型通过打开的连接分块返回输出。当 OpenWiki 使用非流式请求访问这些网关时,网关可能会拒绝调用或返回带有空内容的 HTTP 200。通常空白 wiki 且无错误意味着你需要启用流式输出。
当你的网关需要流式输出时,为 openai-compatible 提供者启用流式输出:
OpenRouter 提供者固定
当 OpenRouter 通过多个上游提供者提供模型时,限制路由:参见
官方原文:src/oss/openwiki/providers.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。