From 74b45515fb2c74df2da2c2fe619dff055f5e5976 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Fri, 24 Apr 2026 15:14:53 +0000 Subject: [PATCH] chore(i18n): refresh zh-CN translations --- docs/zh-CN/concepts/model-providers.md | 252 ++++++++++++------------- docs/zh-CN/pi.md | 239 ++++++++++++----------- docs/zh-CN/providers/deepseek.md | 50 ++--- 3 files changed, 264 insertions(+), 277 deletions(-) diff --git a/docs/zh-CN/concepts/model-providers.md b/docs/zh-CN/concepts/model-providers.md index ccc51ec19..e85f1bb63 100644 --- a/docs/zh-CN/concepts/model-providers.md +++ b/docs/zh-CN/concepts/model-providers.md @@ -1,20 +1,20 @@ --- read_when: - - 你需要一份按提供商逐一说明的模型设置参考文档 + - 你需要一份按提供商分类的模型设置参考文档 - 你想要模型提供商的示例配置或 CLI 新手引导命令 -summary: 模型提供商概览,包含示例配置 + CLI 流程 +summary: 模型提供商概览,包含示例配置和 CLI 流程 title: 模型提供商 x-i18n: - generated_at: "2026-04-24T05:42:12Z" + generated_at: "2026-04-24T15:13:07Z" model: gpt-5.4 provider: openai - source_hash: ac9bf48897446576d8bc339b340295691741a589863bb57b379c17a5519bffd7 + source_hash: 79258cb26fae7926c65b6fe0db938c7b5736a540b33bc24c1fad5ad706ac8204 source_path: concepts/model-providers.md workflow: 15 --- -此页面介绍的是 **LLM/模型提供商**(不是像 WhatsApp/Telegram 这样的聊天渠道)。 -关于模型选择规则,请参阅 [/concepts/models](/zh-CN/concepts/models)。 +本页介绍的是 **LLM/模型提供商**(不是像 WhatsApp/Telegram 这样的聊天渠道)。 +关于模型选择规则,请参见 [/concepts/models](/zh-CN/concepts/models)。 ## 快速规则 @@ -22,39 +22,38 @@ x-i18n: - 设置后,`agents.defaults.models` 会作为允许列表。 - CLI 辅助命令:`openclaw onboard`、`openclaw models list`、`openclaw models set `。 - `models.providers.*.models[].contextWindow` 是模型原生元数据;`contextTokens` 是运行时生效的上限。 -- 回退规则、冷却探测和会话覆盖持久化:参阅 [模型故障切换](/zh-CN/concepts/model-failover)。 -- OpenAI 系列路由按前缀区分:`openai/` 在 PI 中使用直连 OpenAI API 密钥提供商,`openai-codex/` 在 PI 中使用 Codex OAuth,而 `openai/` 配合 `agents.defaults.embeddedHarness.runtime: "codex"` 则使用原生 Codex 应用服务器 harness。参阅 [OpenAI](/zh-CN/providers/openai) 和 [Codex harness](/zh-CN/plugins/codex-harness)。 -- 插件自动启用也遵循同样的边界:`openai-codex/` 属于 OpenAI 插件,而 Codex 插件由 `embeddedHarness.runtime: "codex"` 或旧版 `codex/` 引用启用。 -- GPT-5.5 当前可通过订阅 / OAuth 路由使用:在 PI 中使用 `openai-codex/gpt-5.5`,或使用 Codex 应用服务器 harness 时使用 `openai/gpt-5.5`。当 OpenAI 在公开 API 上启用 GPT-5.5 后,才支持 `openai/gpt-5.5` 的直连 API 密钥路由;在此之前,对于 `OPENAI_API_KEY` 设置,请使用已支持 API 的模型,例如 `openai/gpt-5.4`。 +- 回退规则、冷却探测和会话覆盖持久化:参见 [模型故障转移](/zh-CN/concepts/model-failover)。 +- OpenAI 系列路由按前缀区分:`openai/` 在 PI 中使用直连 OpenAI API key 提供商,`openai-codex/` 在 PI 中使用 Codex OAuth,而 `openai/` 加上 `agents.defaults.embeddedHarness.runtime: "codex"` 则使用原生 Codex app-server harness。参见 [OpenAI](/zh-CN/providers/openai) 和 [Codex harness](/zh-CN/plugins/codex-harness)。 +- 插件自动启用也遵循相同边界:`openai-codex/` 属于 OpenAI 插件,而 Codex 插件会通过 `embeddedHarness.runtime: "codex"` 或旧版 `codex/` 引用启用。 +- GPT-5.5 当前可通过订阅/OAuth 路由使用:在 PI 中使用 `openai-codex/gpt-5.5`,或搭配 Codex app-server harness 使用 `openai/gpt-5.5`。`openai/gpt-5.5` 的直连 API key 路由会在 OpenAI 在公共 API 上启用 GPT-5.5 后受支持;在此之前,请在 `OPENAI_API_KEY` 配置中使用已支持 API 的模型,例如 `openai/gpt-5.4`。 ## 插件拥有的提供商行为 -大多数提供商特定逻辑都位于提供商插件中(`registerProvider(...)`),而 OpenClaw 负责通用推理循环。插件负责新手引导、模型目录、认证环境变量映射、传输 / 配置规范化、工具模式清理、故障切换分类、OAuth 刷新、用量报告、思考 / 推理配置等。 +大多数提供商特定逻辑都位于提供商插件中(`registerProvider(...)`),而 OpenClaw 保持通用推理循环。插件负责新手引导、模型目录、认证环境变量映射、传输/配置规范化、工具 schema 清理、故障转移分类、OAuth 刷新、用量报告、thinking/reasoning 配置等。 -提供商 SDK 钩子的完整列表以及内置插件示例,请参阅 [提供商插件](/zh-CN/plugins/sdk-provider-plugins)。如果某个提供商需要完全自定义的请求执行器,那属于另一个更深层的扩展接口。 +提供商 SDK 钩子的完整列表以及内置插件示例,见 [提供商插件](/zh-CN/plugins/sdk-provider-plugins)。如果某个提供商需要完全自定义的请求执行器,那将属于另一个更深层的扩展接口。 -提供商运行时 `capabilities` 是共享的运行器元数据(提供商家族、转录 / 工具怪癖、传输 / 缓存提示)。它不同于[公开能力模型](/zh-CN/plugins/architecture#public-capability-model),后者描述的是插件注册了什么能力(文本推理、语音等)。 +提供商运行时 `capabilities` 是共享执行器元数据(提供商家族、转录/工具特性、传输/缓存提示)。它不同于[公开能力模型](/zh-CN/plugins/architecture#public-capability-model),后者描述的是插件注册了什么能力(文本推理、语音等)。 -## API 密钥轮换 +## API key 轮换 -- 支持为选定提供商进行通用提供商密钥轮换。 -- 可通过以下方式配置多个密钥: - - `OPENCLAW_LIVE__KEY`(单个实时覆盖,优先级最高) +- 支持为选定提供商进行通用提供商轮换。 +- 通过以下方式配置多个 key: + - `OPENCLAW_LIVE__KEY`(单个实时覆盖,最高优先级) - `_API_KEYS`(逗号或分号分隔列表) - - `_API_KEY`(主密钥) + - `_API_KEY`(主 key) - `_API_KEY_*`(编号列表,例如 `_API_KEY_1`) -- 对于 Google 提供商,`GOOGLE_API_KEY` 也会作为回退项包含在内。 -- 密钥选择顺序会保留优先级并对值去重。 -- 仅在收到限流响应时,才会使用下一个密钥重试请求(例如 `429`、`rate_limit`、`quota`、`resource exhausted`、`Too many concurrent requests`、`ThrottlingException`、`concurrency limit reached`、`workers_ai ... quota limit exceeded`,或周期性用量限制消息)。 -- 非限流失败会立即失败;不会尝试密钥轮换。 -- 当所有候选密钥都失败时,将返回最后一次尝试的最终错误。 +- 对于 Google 提供商,还会将 `GOOGLE_API_KEY` 作为回退项。 +- key 选择顺序会保留优先级,并对值去重。 +- 仅在遇到速率限制响应时,请求才会使用下一个 key 重试(例如 `429`、`rate_limit`、`quota`、`resource exhausted`、`Too many concurrent requests`、`ThrottlingException`、`concurrency limit reached`、`workers_ai ... quota limit exceeded`,或周期性的用量限制消息)。 +- 非速率限制失败会立即失败;不会尝试 key 轮换。 +- 当所有候选 key 都失败时,返回最后一次尝试的最终错误。 -## 内置提供商(pi-ai 目录) +## 内置提供商(pi-ai catalog) -OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** -`models.providers` 配置;只需设置认证信息并选择一个模型。 +OpenClaw 内置了 pi‑ai catalog。这些提供商**不需要**配置 `models.providers`;只需设置认证信息并选择一个模型。 ### OpenAI @@ -62,17 +61,17 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** - 认证:`OPENAI_API_KEY` - 可选轮换:`OPENAI_API_KEYS`、`OPENAI_API_KEY_1`、`OPENAI_API_KEY_2`,以及 `OPENCLAW_LIVE_OPENAI_KEY`(单个覆盖) - 示例模型:`openai/gpt-5.4`、`openai/gpt-5.4-mini` -- 一旦 OpenAI 在 API 中开放 GPT-5.5,这里就可直接支持 GPT-5.5 API +- 一旦 OpenAI 在 API 中开放 GPT-5.5,这里就已为 GPT-5.5 直连 API 支持做好准备 - CLI:`openclaw onboard --auth-choice openai-api-key` - 默认传输为 `auto`(优先 WebSocket,回退到 SSE) -- 可通过 `agents.defaults.models["openai/"].params.transport` 按模型覆盖(`"sse"`、`"websocket"` 或 `"auto"`) +- 可通过 `agents.defaults.models["openai/"].params.transport` 为每个模型覆盖(`"sse"`、`"websocket"` 或 `"auto"`) - OpenAI Responses WebSocket 预热默认启用,通过 `params.openaiWsWarmup` 控制(`true`/`false`) -- 可通过 `agents.defaults.models["openai/"].params.serviceTier` 启用 OpenAI 优先级处理 -- `/fast` 和 `params.fastMode` 会将直连 `openai/*` Responses 请求映射为发送到 `api.openai.com` 的 `service_tier=priority` -- 如果你希望使用显式层级而不是共享的 `/fast` 开关,请使用 `params.serviceTier` -- 隐藏的 OpenClaw 归因请求头(`originator`、`version`、`User-Agent`)仅应用于发往 `api.openai.com` 的原生 OpenAI 流量,不适用于通用 OpenAI 兼容代理 -- 原生 OpenAI 路由还会保留 Responses `store`、提示缓存提示以及 OpenAI 推理兼容负载整形;代理路由不会 -- `openai/gpt-5.3-codex-spark` 在 OpenClaw 中会被刻意屏蔽,因为实时 OpenAI API 请求会拒绝它,而当前 Codex 目录也未公开它 +- 可通过 `agents.defaults.models["openai/"].params.serviceTier` 启用 OpenAI 优先处理 +- `/fast` 和 `params.fastMode` 会将直连 `openai/*` Responses 请求映射到 `api.openai.com` 上的 `service_tier=priority` +- 当你想要显式指定层级,而不是使用共享 `/fast` 开关时,请使用 `params.serviceTier` +- 隐藏的 OpenClaw 归属请求头(`originator`、`version`、`User-Agent`)仅应用于发往 `api.openai.com` 的原生 OpenAI 流量,不适用于通用 OpenAI 兼容代理 +- 原生 OpenAI 路由还会保留 Responses `store`、prompt-cache 提示以及 OpenAI reasoning 兼容负载整形;代理路由则不会 +- `openai/gpt-5.3-codex-spark` 在 OpenClaw 中被有意隐藏,因为实时 OpenAI API 请求会拒绝它,而当前 Codex catalog 也未暴露它 ```json5 { @@ -87,9 +86,9 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** - 可选轮换:`ANTHROPIC_API_KEYS`、`ANTHROPIC_API_KEY_1`、`ANTHROPIC_API_KEY_2`,以及 `OPENCLAW_LIVE_ANTHROPIC_KEY`(单个覆盖) - 示例模型:`anthropic/claude-opus-4-6` - CLI:`openclaw onboard --auth-choice apiKey` -- 直连公共 Anthropic 请求支持共享的 `/fast` 开关和 `params.fastMode`,包括发送到 `api.anthropic.com` 的 API 密钥和 OAuth 认证流量;OpenClaw 会将其映射到 Anthropic `service_tier`(`auto` 与 `standard_only`) -- Anthropic 说明:Anthropic 员工告诉我们,OpenClaw 风格的 Claude CLI 用法再次被允许,因此 OpenClaw 将 Claude CLI 复用和 `claude -p` 用法视为该集成已获认可,除非 Anthropic 发布新的政策。 -- Anthropic setup-token 仍然作为受支持的 OpenClaw 令牌路径保留,但 OpenClaw 现在在可用时优先使用 Claude CLI 复用和 `claude -p`。 +- 直连公共 Anthropic 请求支持共享 `/fast` 开关和 `params.fastMode`,包括发送到 `api.anthropic.com` 的 API key 和 OAuth 认证流量;OpenClaw 会将其映射到 Anthropic `service_tier`(`auto` 与 `standard_only`) +- Anthropic 说明:Anthropic 员工告诉我们,OpenClaw 风格的 Claude CLI 用法再次被允许,因此除非 Anthropic 发布新政策,否则 OpenClaw 认为复用 Claude CLI 和使用 `claude -p` 都属于该集成的许可范围。 +- Anthropic setup-token 仍然可作为 OpenClaw 支持的令牌路径,但 OpenClaw 现在在可用时优先选择复用 Claude CLI 和 `claude -p`。 ```json5 { @@ -102,18 +101,18 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** - 提供商:`openai-codex` - 认证:OAuth(ChatGPT) - PI 模型引用:`openai-codex/gpt-5.5` -- 原生 Codex 应用服务器 harness 引用:`openai/gpt-5.5`,并设置 `agents.defaults.embeddedHarness.runtime: "codex"` +- 原生 Codex app-server harness 引用:`openai/gpt-5.5`,并设置 `agents.defaults.embeddedHarness.runtime: "codex"` - 旧版模型引用:`codex/gpt-*` -- 插件边界:`openai-codex/*` 会加载 OpenAI 插件;原生 Codex 应用服务器插件仅由 Codex harness 运行时或旧版 `codex/*` 引用选择 +- 插件边界:`openai-codex/*` 会加载 OpenAI 插件;原生 Codex app-server 插件仅通过 Codex harness 运行时或旧版 `codex/*` 引用选择。 - CLI:`openclaw onboard --auth-choice openai-codex` 或 `openclaw models auth login --provider openai-codex` - 默认传输为 `auto`(优先 WebSocket,回退到 SSE) -- 可通过 `agents.defaults.models["openai-codex/"].params.transport` 按 PI 模型覆盖(`"sse"`、`"websocket"` 或 `"auto"`) -- `params.serviceTier` 也会转发到原生 Codex Responses 请求(`chatgpt.com/backend-api`) -- 隐藏的 OpenClaw 归因请求头(`originator`、`version`、`User-Agent`)仅附加到发往 `chatgpt.com/backend-api` 的原生 Codex 流量,不适用于通用 OpenAI 兼容代理 -- 与直连 `openai/*` 共享同样的 `/fast` 开关和 `params.fastMode` 配置;OpenClaw 会将其映射为 `service_tier=priority` +- 可通过 `agents.defaults.models["openai-codex/"].params.transport` 为每个 PI 模型覆盖(`"sse"`、`"websocket"` 或 `"auto"`) +- `params.serviceTier` 也会透传到原生 Codex Responses 请求(`chatgpt.com/backend-api`) +- 隐藏的 OpenClaw 归属请求头(`originator`、`version`、`User-Agent`)仅附加到发往 `chatgpt.com/backend-api` 的原生 Codex 流量,不适用于通用 OpenAI 兼容代理 +- 与直连 `openai/*` 共享相同的 `/fast` 开关和 `params.fastMode` 配置;OpenClaw 会将其映射为 `service_tier=priority` - `openai-codex/gpt-5.5` 保留原生 `contextWindow = 1000000` 和默认运行时 `contextTokens = 272000`;可通过 `models.providers.openai-codex.models[].contextTokens` 覆盖运行时上限 -- 策略说明:OpenAI Codex OAuth 明确支持像 OpenClaw 这样的外部工具 / 工作流。 -- 当前的 GPT-5.5 访问使用此 OAuth / 订阅路由,直到 OpenAI 在公开 API 中启用 GPT-5.5。 +- 策略说明:OpenAI Codex OAuth 明确支持用于 OpenClaw 这样的外部工具/工作流。 +- 当前 GPT-5.5 访问使用此 OAuth/订阅路由,直到 OpenAI 在公共 API 中启用 GPT-5.5。 ```json5 { @@ -136,7 +135,7 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** ### 其他订阅式托管选项 - [Qwen Cloud](/zh-CN/providers/qwen):Qwen Cloud 提供商接口,以及 Alibaba DashScope 和 Coding Plan 端点映射 -- [MiniMax](/zh-CN/providers/minimax):MiniMax Coding Plan OAuth 或 API 密钥访问 +- [MiniMax](/zh-CN/providers/minimax):MiniMax Coding Plan OAuth 或 API key 访问 - [GLM Models](/zh-CN/providers/glm):Z.AI Coding Plan 或通用 API 端点 ### OpenCode @@ -153,23 +152,21 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** } ``` -### Google Gemini(API 密钥) +### Google Gemini(API key) - 提供商:`google` - 认证:`GEMINI_API_KEY` -- 可选轮换:`GEMINI_API_KEYS`、`GEMINI_API_KEY_1`、`GEMINI_API_KEY_2`、`GOOGLE_API_KEY` 回退项,以及 `OPENCLAW_LIVE_GEMINI_KEY`(单个覆盖) +- 可选轮换:`GEMINI_API_KEYS`、`GEMINI_API_KEY_1`、`GEMINI_API_KEY_2`、回退 `GOOGLE_API_KEY`,以及 `OPENCLAW_LIVE_GEMINI_KEY`(单个覆盖) - 示例模型:`google/gemini-3.1-pro-preview`、`google/gemini-3-flash-preview` -- 兼容性:使用 `google/gemini-3.1-flash-preview` 的旧版 OpenClaw 配置会被规范化为 `google/gemini-3-flash-preview` +- 兼容性:旧版 OpenClaw 配置中使用的 `google/gemini-3.1-flash-preview` 会被规范化为 `google/gemini-3-flash-preview` - CLI:`openclaw onboard --auth-choice gemini-api-key` -- 直连 Gemini 运行也接受 `agents.defaults.models["google/"].params.cachedContent` - (或旧版 `cached_content`),用于转发提供商原生的 - `cachedContents/...` 句柄;Gemini 缓存命中会显示为 OpenClaw `cacheRead` +- 直连 Gemini 运行还接受 `agents.defaults.models["google/"].params.cachedContent`(或旧版 `cached_content`),用于转发提供商原生的 `cachedContents/...` 句柄;Gemini 缓存命中会以 OpenClaw `cacheRead` 的形式展示 ### Google Vertex 和 Gemini CLI - 提供商:`google-vertex`、`google-gemini-cli` - 认证:Vertex 使用 gcloud ADC;Gemini CLI 使用其 OAuth 流程 -- 注意:OpenClaw 中的 Gemini CLI OAuth 属于非官方集成。一些用户报告称,使用第三方客户端后 Google 账号会受到限制。若你选择继续,请先查看 Google 条款,并使用非关键账号。 +- 注意:OpenClaw 中的 Gemini CLI OAuth 属于非官方集成。有些用户报告在使用第三方客户端后,Google 账号受到限制。若你选择继续,请查看 Google 条款,并使用非关键账号。 - Gemini CLI OAuth 作为内置 `google` 插件的一部分提供。 - 先安装 Gemini CLI: - `brew install gemini-cli` @@ -179,8 +176,7 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** - 默认模型:`google-gemini-cli/gemini-3-flash-preview` - 注意:你**不需要**把 client id 或 secret 粘贴到 `openclaw.json` 中。CLI 登录流程会将令牌存储在 Gateway 网关主机上的认证配置文件中。 - 如果登录后请求失败,请在 Gateway 网关主机上设置 `GOOGLE_CLOUD_PROJECT` 或 `GOOGLE_CLOUD_PROJECT_ID`。 - - Gemini CLI JSON 回复会从 `response` 解析;用量会回退到 - `stats`,其中 `stats.cached` 会被规范化为 OpenClaw `cacheRead`。 + - Gemini CLI JSON 回复会从 `response` 解析;用量信息会回退到 `stats`,其中 `stats.cached` 会被规范化为 OpenClaw `cacheRead`。 ### Z.AI(GLM) @@ -205,29 +201,28 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** - 认证:`KILOCODE_API_KEY` - 示例模型:`kilocode/kilo/auto` - CLI:`openclaw onboard --auth-choice kilocode-api-key` -- 基础 URL:`https://api.kilo.ai/api/gateway/` -- 静态回退目录内置 `kilocode/kilo/auto`;实时 - `https://api.kilo.ai/api/gateway/models` 发现机制可以进一步扩展运行时目录。 -- `kilocode/kilo/auto` 背后的确切上游路由由 Kilo Gateway 决定, - 并非 OpenClaw 内部硬编码。 +- Base URL:`https://api.kilo.ai/api/gateway/` +- 静态回退 catalog 内置 `kilocode/kilo/auto`;实时 `https://api.kilo.ai/api/gateway/models` 发现可以进一步扩展运行时 catalog。 +- `kilocode/kilo/auto` 背后的确切上游路由由 Kilo Gateway 负责,不是 OpenClaw 中硬编码的。 -设置详情请参阅 [/providers/kilocode](/zh-CN/providers/kilocode)。 +设置详情请参见 [/providers/kilocode](/zh-CN/providers/kilocode)。 ### 其他内置提供商插件 | 提供商 | Id | 认证环境变量 | 示例模型 | | ----------------------- | -------------------------------- | ------------------------------------------------------------ | ----------------------------------------------- | -| BytePlus(国际版) | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` | +| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` | | Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` | | Cloudflare AI Gateway | `cloudflare-ai-gateway` | `CLOUDFLARE_AI_GATEWAY_API_KEY` | — | +| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | `deepseek/deepseek-v4-flash` | | GitHub Copilot | `github-copilot` | `COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN` | — | | Groq | `groq` | `GROQ_API_KEY` | — | -| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` 或 `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` | +| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` or `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` | | Kilo Gateway | `kilocode` | `KILOCODE_API_KEY` | `kilocode/kilo/auto` | -| Kimi Coding | `kimi` | `KIMI_API_KEY` 或 `KIMICODE_API_KEY` | `kimi/kimi-code` | +| Kimi Coding | `kimi` | `KIMI_API_KEY` or `KIMICODE_API_KEY` | `kimi/kimi-code` | | MiniMax | `minimax` / `minimax-portal` | `MINIMAX_API_KEY` / `MINIMAX_OAUTH_TOKEN` | `minimax/MiniMax-M2.7` | | Mistral | `mistral` | `MISTRAL_API_KEY` | `mistral/mistral-large-latest` | -| Moonshot AI | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` | +| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` | | NVIDIA | `nvidia` | `NVIDIA_API_KEY` | `nvidia/nvidia/llama-3.1-nemotron-70b-instruct` | | OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` | | Qianfan | `qianfan` | `QIANFAN_API_KEY` | `qianfan/deepseek-v3.2` | @@ -240,27 +235,28 @@ OpenClaw 内置了 pi‑ai 目录。这些提供商**不需要** | xAI | `xai` | `XAI_API_KEY` | `xai/grok-4` | | Xiaomi | `xiaomi` | `XIAOMI_API_KEY` | `xiaomi/mimo-v2-flash` | -值得了解的特殊点: +值得了解的特殊行为: -- **OpenRouter** 仅在已验证的 `openrouter.ai` 路由上应用其应用归因请求头和 Anthropic `cache_control` 标记。作为代理式 OpenAI 兼容路径,它会跳过仅适用于原生 OpenAI 的整形处理(`serviceTier`、Responses `store`、提示缓存提示、OpenAI 推理兼容性)。以 Gemini 为后端的引用仅保留代理 Gemini 的 thought-signature 清理。 -- **Kilo Gateway** 以 Gemini 为后端的引用遵循相同的代理 Gemini 清理路径;`kilocode/kilo/auto` 和其他不支持代理推理的引用会跳过代理推理注入。 -- **MiniMax** API 密钥新手引导会写入显式的 M2.7 模型定义,并设置 `input: ["text", "image"]`;在该配置具体化之前,内置目录会将聊天引用保持为纯文本。 -- **xAI** 使用 xAI Responses 路径。`/fast` 或 `params.fastMode: true` 会将 `grok-3`、`grok-3-mini`、`grok-4` 和 `grok-4-0709` 改写为对应的 `*-fast` 变体。`tool_stream` 默认开启;可通过 `agents.defaults.models["xai/"].params.tool_stream=false` 禁用。 -- **Cerebras** GLM 模型使用 `zai-glm-4.7` / `zai-glm-4.6`;OpenAI 兼容基础 URL 为 `https://api.cerebras.ai/v1`。 +- **OpenRouter** 仅在已验证的 `openrouter.ai` 路由上应用其应用归属请求头和 Anthropic `cache_control` 标记。作为代理式 OpenAI 兼容路径,它会跳过仅适用于原生 OpenAI 的整形逻辑(`serviceTier`、Responses `store`、prompt-cache 提示、OpenAI reasoning 兼容)。基于 Gemini 的引用仅保留代理 Gemini thought-signature 清理。 +- **Kilo Gateway** 中基于 Gemini 的引用遵循相同的代理 Gemini 清理路径;`kilocode/kilo/auto` 和其他不支持代理 reasoning 的引用会跳过代理 reasoning 注入。 +- **MiniMax** API key 新手引导会写入显式的 M2.7 模型定义,并设置 `input: ["text", "image"]`;在该配置具体化之前,内置 catalog 会将聊天引用保持为仅文本。 +- **xAI** 使用 xAI Responses 路径。`/fast` 或 `params.fastMode: true` 会将 `grok-3`、`grok-3-mini`、`grok-4` 和 `grok-4-0709` 重写为对应的 `*-fast` 变体。`tool_stream` 默认开启;可通过 `agents.defaults.models["xai/"].params.tool_stream=false` 禁用。 +- **Cerebras** GLM 模型使用 `zai-glm-4.7` / `zai-glm-4.6`;OpenAI 兼容 Base URL 为 `https://api.cerebras.ai/v1`。 -## 通过 `models.providers` 配置的提供商(自定义 / 基础 URL) +## 通过 `models.providers` 配置的提供商(自定义/Base URL) 使用 `models.providers`(或 `models.json`)来添加**自定义**提供商或 兼容 OpenAI/Anthropic 的代理。 -下面许多内置提供商插件已经发布了默认目录。 -只有在你想覆盖默认基础 URL、请求头或模型列表时,才需要使用显式的 -`models.providers.` 条目。 +下面许多内置提供商插件已经发布了默认 catalog。 +只有当你想覆盖默认 base URL、请求头或模型列表时, +才需要显式使用 `models.providers.` 条目。 ### Moonshot AI(Kimi) -Moonshot 作为内置提供商插件提供。默认情况下请使用内置提供商,只有在你 -需要覆盖基础 URL 或模型元数据时,才添加显式的 `models.providers.moonshot` 条目: +Moonshot 作为内置提供商插件提供。默认情况下请使用内置提供商, +只有在你需要覆盖 base URL 或模型元数据时, +才添加显式的 `models.providers.moonshot` 条目: - 提供商:`moonshot` - 认证:`MOONSHOT_API_KEY` @@ -315,13 +311,13 @@ Kimi Coding 使用 Moonshot AI 的 Anthropic 兼容端点: } ``` -旧版 `kimi/k2p5` 仍然作为兼容性模型 ID 被接受。 +旧版 `kimi/k2p5` 仍然作为兼容模型 ID 被接受。 ### Volcano Engine(Doubao) Volcano Engine(火山引擎)在中国提供对 Doubao 和其他模型的访问。 -- 提供商:`volcengine`(编程:`volcengine-plan`) +- 提供商:`volcengine`(编程方案:`volcengine-plan`) - 认证:`VOLCANO_ENGINE_API_KEY` - 示例模型:`volcengine-plan/ark-code-latest` - CLI:`openclaw onboard --auth-choice volcengine-api-key` @@ -335,11 +331,12 @@ Volcano Engine(火山引擎)在中国提供对 Doubao 和其他模型的访 ``` 新手引导默认使用编程接口,但通用 `volcengine/*` -目录也会同时注册。 +catalog 也会同时注册。 -在新手引导 / 配置模型选择器中,Volcengine 认证选项会优先显示 -`volcengine/*` 和 `volcengine-plan/*` 两类条目。如果这些模型尚未加载, -OpenClaw 会回退到未筛选目录,而不是显示一个空的提供商范围选择器。 +在新手引导/配置模型选择器中,Volcengine 认证选项会优先显示 +`volcengine/*` 和 `volcengine-plan/*` 条目。如果这些模型尚未加载, +OpenClaw 会回退到未筛选的 catalog,而不是显示一个空的、 +按提供商范围过滤的选择器。 可用模型: @@ -361,7 +358,7 @@ OpenClaw 会回退到未筛选目录,而不是显示一个空的提供商范 BytePlus ARK 为国际用户提供与 Volcano Engine 相同模型的访问能力。 -- 提供商:`byteplus`(编程:`byteplus-plan`) +- 提供商:`byteplus`(编程方案:`byteplus-plan`) - 认证:`BYTEPLUS_API_KEY` - 示例模型:`byteplus-plan/ark-code-latest` - CLI:`openclaw onboard --auth-choice byteplus-api-key` @@ -375,11 +372,12 @@ BytePlus ARK 为国际用户提供与 Volcano Engine 相同模型的访问能力 ``` 新手引导默认使用编程接口,但通用 `byteplus/*` -目录也会同时注册。 +catalog 也会同时注册。 -在新手引导 / 配置模型选择器中,BytePlus 认证选项会优先显示 -`byteplus/*` 和 `byteplus-plan/*` 两类条目。如果这些模型尚未加载, -OpenClaw 会回退到未筛选目录,而不是显示一个空的提供商范围选择器。 +在新手引导/配置模型选择器中,BytePlus(国际版)认证选项会优先显示 +`byteplus/*` 和 `byteplus-plan/*` 条目。如果这些模型尚未加载, +OpenClaw 会回退到未筛选的 catalog,而不是显示一个空的、 +按提供商范围过滤的选择器。 可用模型: @@ -429,22 +427,21 @@ MiniMax 通过 `models.providers` 配置,因为它使用自定义端点: - MiniMax OAuth(全球):`--auth-choice minimax-global-oauth` - MiniMax OAuth(中国):`--auth-choice minimax-cn-oauth` -- MiniMax API 密钥(全球):`--auth-choice minimax-global-api` -- MiniMax API 密钥(中国):`--auth-choice minimax-cn-api` -- 认证:`minimax` 使用 `MINIMAX_API_KEY`;`minimax-portal` 使用 `MINIMAX_OAUTH_TOKEN` 或 - `MINIMAX_API_KEY` +- MiniMax API key(全球):`--auth-choice minimax-global-api` +- MiniMax API key(中国):`--auth-choice minimax-cn-api` +- 认证:`minimax` 使用 `MINIMAX_API_KEY`;`minimax-portal` 使用 `MINIMAX_OAUTH_TOKEN` 或 `MINIMAX_API_KEY` -设置详情、模型选项和配置片段请参阅 [/providers/minimax](/zh-CN/providers/minimax)。 +设置详情、模型选项和配置片段请参见 [/providers/minimax](/zh-CN/providers/minimax)。 -在 MiniMax 的 Anthropic 兼容流式路径上,OpenClaw 默认会禁用 thinking, -除非你显式设置它;而 `/fast on` 会将 -`MiniMax-M2.7` 改写为 `MiniMax-M2.7-highspeed`。 +在 MiniMax 的 Anthropic 兼容流式传输路径上,OpenClaw 默认禁用 thinking, +除非你显式设置它,并且 `/fast on` 会将 +`MiniMax-M2.7` 重写为 `MiniMax-M2.7-highspeed`。 插件拥有的能力拆分: -- 文本 / 聊天默认保持在 `minimax/MiniMax-M2.7` -- 图像生成为 `minimax/image-01` 或 `minimax-portal/image-01` -- 图像理解在两个 MiniMax 认证路径上都使用由插件管理的 `MiniMax-VL-01` +- 文本/聊天默认保持在 `minimax/MiniMax-M2.7` +- 图像生成使用 `minimax/image-01` 或 `minimax-portal/image-01` +- 图像理解在两种 MiniMax 认证路径上都使用由插件拥有的 `MiniMax-VL-01` - Web 搜索保持使用提供商 id `minimax` ### LM Studio @@ -453,7 +450,7 @@ LM Studio 作为内置提供商插件提供,并使用原生 API: - 提供商:`lmstudio` - 认证:`LM_API_TOKEN` -- 默认推理基础 URL:`http://localhost:1234/v1` +- 默认推理 base URL:`http://localhost:1234/v1` 然后设置一个模型(替换为 `http://localhost:1234/api/v1/models` 返回的某个 ID): @@ -465,9 +462,8 @@ LM Studio 作为内置提供商插件提供,并使用原生 API: } ``` -OpenClaw 使用 LM Studio 原生的 `/api/v1/models` 和 `/api/v1/models/load` -进行发现 + 自动加载,默认使用 `/v1/chat/completions` 进行推理。 -设置和故障排除请参阅 [/providers/lmstudio](/zh-CN/providers/lmstudio)。 +OpenClaw 使用 LM Studio 原生的 `/api/v1/models` 和 `/api/v1/models/load` 进行设备发现 + 自动加载,并默认使用 `/v1/chat/completions` 进行推理。 +设置和故障排除请参见 [/providers/lmstudio](/zh-CN/providers/lmstudio)。 ### Ollama @@ -476,7 +472,7 @@ Ollama 作为内置提供商插件提供,并使用 Ollama 的原生 API: - 提供商:`ollama` - 认证:无需(本地服务器) - 示例模型:`ollama/llama3.3` -- 安装:[https://ollama.com/download](https://ollama.com/download) +- 安装: [https://ollama.com/download](https://ollama.com/download) ```bash # Install Ollama, then pull a model: @@ -491,22 +487,19 @@ ollama pull llama3.3 } ``` -当你通过 -`OLLAMA_API_KEY` 选择启用时,系统会在本地 `http://127.0.0.1:11434` 检测 Ollama, -而内置提供商插件会将 Ollama 直接添加到 -`openclaw onboard` 和模型选择器中。关于新手引导、云端 / 本地模式和自定义配置, -请参阅 [/providers/ollama](/zh-CN/providers/ollama)。 +当你通过 `OLLAMA_API_KEY` 选择启用时,系统会在本地 `http://127.0.0.1:11434` 检测 Ollama,并且内置提供商插件会将 Ollama 直接添加到 +`openclaw onboard` 和模型选择器中。关于新手引导、云端/本地模式以及自定义配置,请参见 [/providers/ollama](/zh-CN/providers/ollama)。 ### vLLM -vLLM 作为内置提供商插件提供,用于本地 / 自托管的 OpenAI 兼容 +vLLM 作为内置提供商插件提供,用于本地/自托管的 OpenAI 兼容 服务器: - 提供商:`vllm` - 认证:可选(取决于你的服务器) -- 默认基础 URL:`http://127.0.0.1:8000/v1` +- 默认 base URL:`http://127.0.0.1:8000/v1` -要在本地启用自动发现(如果你的服务器不强制认证,任意值都可用): +要在本地启用自动发现(如果你的服务器不强制认证,任意值都可以): ```bash export VLLM_API_KEY="vllm-local" @@ -522,19 +515,19 @@ export VLLM_API_KEY="vllm-local" } ``` -详情请参阅 [/providers/vllm](/zh-CN/providers/vllm)。 +详情请参见 [/providers/vllm](/zh-CN/providers/vllm)。 ### SGLang -SGLang 作为内置提供商插件提供,用于快速自托管的 +SGLang 作为内置提供商插件提供,用于高速自托管的 OpenAI 兼容服务器: - 提供商:`sglang` - 认证:可选(取决于你的服务器) -- 默认基础 URL:`http://127.0.0.1:30000/v1` +- 默认 base URL:`http://127.0.0.1:30000/v1` -要在本地启用自动发现(如果你的服务器未强制 -认证,任意值都可用): +要在本地启用自动发现(如果你的服务器不 +强制认证,任意值都可以): ```bash export SGLANG_API_KEY="sglang-local" @@ -550,7 +543,7 @@ export SGLANG_API_KEY="sglang-local" } ``` -详情请参阅 [/providers/sglang](/zh-CN/providers/sglang)。 +详情请参见 [/providers/sglang](/zh-CN/providers/sglang)。 ### 本地代理(LM Studio、vLLM、LiteLLM 等) @@ -589,21 +582,18 @@ export SGLANG_API_KEY="sglang-local" 说明: -- 对于自定义提供商,`reasoning`、`input`、`cost`、`contextWindow` 和 `maxTokens` 都是可选的。 +- 对于自定义提供商,`reasoning`、`input`、`cost`、`contextWindow` 和 `maxTokens` 都是可选项。 省略时,OpenClaw 默认使用: - `reasoning: false` - `input: ["text"]` - `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }` - `contextWindow: 200000` - `maxTokens: 8192` -- 建议:设置与你的代理 / 模型限制相匹配的显式值。 -- 对于非原生端点上的 `api: "openai-completions"`(即任意非空 `baseUrl` 且其主机不是 `api.openai.com`),OpenClaw 会强制设置 `compat.supportsDeveloperRole: false`,以避免提供商因不支持 `developer` 角色而返回 400 错误。 -- 代理式 OpenAI 兼容路由也会跳过仅适用于原生 OpenAI 的请求 - 整形:没有 `service_tier`、没有 Responses `store`、没有提示缓存提示、没有 - OpenAI 推理兼容负载整形,也没有隐藏的 OpenClaw 归因 - 请求头。 -- 如果 `baseUrl` 为空 / 省略,OpenClaw 会保留默认的 OpenAI 行为(即解析到 `api.openai.com`)。 -- 为安全起见,即使显式设置了 `compat.supportsDeveloperRole: true`,在非原生 `openai-completions` 端点上仍会被覆盖。 +- 建议:设置与你的代理/模型限制匹配的显式值。 +- 对于非原生端点上的 `api: "openai-completions"`(任何非空的 `baseUrl`,且其 host 不是 `api.openai.com`),OpenClaw 会强制设置 `compat.supportsDeveloperRole: false`,以避免提供商因不支持 `developer` 角色而返回 400 错误。 +- 代理式 OpenAI 兼容路由也会跳过仅适用于原生 OpenAI 的请求整形:不使用 `service_tier`、不使用 Responses `store`、不使用 prompt-cache 提示、不进行 OpenAI reasoning 兼容负载整形,也不附加隐藏的 OpenClaw 归属请求头。 +- 如果 `baseUrl` 为空/省略,OpenClaw 会保留默认 OpenAI 行为(即解析到 `api.openai.com`)。 +- 出于安全考虑,即使在非原生 `openai-completions` 端点上显式设置了 `compat.supportsDeveloperRole: true`,仍会被覆盖。 ## CLI 示例 @@ -613,11 +603,11 @@ openclaw models set opencode/claude-opus-4-6 openclaw models list ``` -另请参阅:[/gateway/configuration](/zh-CN/gateway/configuration) 了解完整配置示例。 +另请参见:[/gateway/configuration](/zh-CN/gateway/configuration),了解完整配置示例。 ## 相关内容 -- [Models](/zh-CN/concepts/models) — 模型配置和别名 -- [模型故障切换](/zh-CN/concepts/model-failover) — 回退链和重试行为 +- [模型](/zh-CN/concepts/models) — 模型配置和别名 +- [模型故障转移](/zh-CN/concepts/model-failover) — 回退链和重试行为 - [配置参考](/zh-CN/gateway/config-agents#agent-defaults) — 模型配置键 -- [Providers](/zh-CN/providers) — 按提供商分类的设置指南 +- [提供商](/zh-CN/providers) — 按提供商分类的设置指南 diff --git a/docs/zh-CN/pi.md b/docs/zh-CN/pi.md index a3ec209b9..96c82f176 100644 --- a/docs/zh-CN/pi.md +++ b/docs/zh-CN/pi.md @@ -1,48 +1,48 @@ --- read_when: - - 了解 OpenClaw 中的 Pi SDK 集成设计 - - 修改 Pi 的智能体会话生命周期、工具接线或提供商接线 -summary: OpenClaw 的内置 Pi 智能体集成架构与会话生命周期 + - 理解 OpenClaw 中 Pi SDK 集成设计 + - 修改 Pi 的智能体会话生命周期、工具链或提供商接线 +summary: OpenClaw 内置 Pi 智能体集成的架构与会话生命周期 title: Pi 集成架构 x-i18n: - generated_at: "2026-04-24T04:04:41Z" + generated_at: "2026-04-24T15:13:09Z" model: gpt-5.4 provider: openai - source_hash: 3c0c490cad121a65d557a72887ea619a7d0cff34a62220752214185c9148dc0b + source_hash: 0c0b019ff6d35f6fdcd57b56edd1945e62a96bb4b34e312d7fb0c627f01287f1 source_path: pi.md workflow: 15 --- -本文介绍 OpenClaw 如何与 [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) 及其同级包(`pi-ai`、`pi-agent-core`、`pi-tui`)集成,以提供其 AI 智能体能力。 +本文档介绍了 OpenClaw 如何集成 [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) 及其同级软件包(`pi-ai`、`pi-agent-core`、`pi-tui`),以提供其 AI 智能体能力。 ## 概览 -OpenClaw 使用 pi SDK 将一个 AI 编码智能体嵌入到其消息 Gateway 网关架构中。OpenClaw 并不是将 pi 作为子进程启动,也不是使用 RPC 模式,而是直接导入并实例化 pi 的 `AgentSession`,方式是通过 `createAgentSession()`。这种内嵌式方法提供了: +OpenClaw 使用 pi SDK 将一个 AI 编码智能体嵌入到其消息 Gateway 网关架构中。OpenClaw 并不是将 pi 作为子进程启动,也不是使用 RPC 模式,而是通过 `createAgentSession()` 直接导入并实例化 pi 的 `AgentSession`。这种内嵌式方案提供了: - 对会话生命周期和事件处理的完全控制 - 自定义工具注入(消息、沙箱、渠道特定操作) -- 按渠道 / 上下文定制系统提示 -- 支持分支 / 压缩的会话持久化 -- 带故障转移的多账户认证配置文件轮换 -- 与提供商无关的模型切换 +- 按渠道/上下文自定义系统提示词 +- 支持分支/压缩的会话持久化 +- 具备故障转移能力的多账户认证配置轮换 +- 提供商无关的模型切换 -## 包依赖 +## 软件包依赖 ```json { - "@mariozechner/pi-agent-core": "0.68.1", - "@mariozechner/pi-ai": "0.68.1", - "@mariozechner/pi-coding-agent": "0.68.1", - "@mariozechner/pi-tui": "0.68.1" + "@mariozechner/pi-agent-core": "0.70.2", + "@mariozechner/pi-ai": "0.70.2", + "@mariozechner/pi-coding-agent": "0.70.2", + "@mariozechner/pi-tui": "0.70.2" } ``` -| Package | 用途 | +| 软件包 | 用途 | | ----------------- | ------------------------------------------------------------------------------------------------------ | -| `pi-ai` | 核心 LLM 抽象:`Model`、`streamSimple`、消息类型、提供商 API | -| `pi-agent-core` | 智能体循环、工具执行、`AgentMessage` 类型 | -| `pi-coding-agent` | 高级 SDK:`createAgentSession`、`SessionManager`、`AuthStorage`、`ModelRegistry`、内置工具 | -| `pi-tui` | 终端 UI 组件(用于 OpenClaw 的本地 TUI 模式) | +| `pi-ai` | 核心 LLM 抽象:`Model`、`streamSimple`、消息类型、提供商 API | +| `pi-agent-core` | 智能体循环、工具执行、`AgentMessage` 类型 | +| `pi-coding-agent` | 高层 SDK:`createAgentSession`、`SessionManager`、`AuthStorage`、`ModelRegistry`、内置工具 | +| `pi-tui` | 终端 UI 组件(用于 OpenClaw 的本地 TUI 模式) | ## 文件结构 @@ -52,44 +52,44 @@ src/agents/ ├── pi-embedded-runner/ │ ├── run.ts # 主入口:runEmbeddedPiAgent() │ ├── run/ -│ │ ├── attempt.ts # 带会话设置的单次尝试逻辑 +│ │ ├── attempt.ts # 包含会话设置的单次尝试逻辑 │ │ ├── params.ts # RunEmbeddedPiAgentParams 类型 │ │ ├── payloads.ts # 从运行结果构建响应负载 -│ │ ├── images.ts # Vision 模型图片注入 +│ │ ├── images.ts # 视觉模型图像注入 │ │ └── types.ts # EmbeddedRunAttemptResult │ ├── abort.ts # Abort 错误检测 │ ├── cache-ttl.ts # 用于上下文裁剪的缓存 TTL 跟踪 -│ ├── compact.ts # 手动 / 自动压缩逻辑 -│ ├── extensions.ts # 为内嵌运行加载 pi 扩展 -│ ├── extra-params.ts # 提供商特定的流参数 +│ ├── compact.ts # 手动/自动压缩逻辑 +│ ├── extensions.ts # 为嵌入式运行加载 pi 扩展 +│ ├── extra-params.ts # 提供商特定的流式参数 │ ├── google.ts # Google/Gemini 轮次顺序修复 │ ├── history.ts # 历史记录限制(私信 vs 群组) -│ ├── lanes.ts # 会话 / 全局命令通道 +│ ├── lanes.ts # 会话/全局命令通道 │ ├── logger.ts # 子系统日志记录器 -│ ├── model.ts # 通过 ModelRegistry 解析模型 -│ ├── runs.ts # 活跃运行跟踪、终止、队列 -│ ├── sandbox-info.ts # 用于系统提示的沙箱信息 -│ ├── session-manager-cache.ts # SessionManager 实例缓存 +│ ├── model.ts # 通过 ModelRegistry 进行模型解析 +│ ├── runs.ts # 活跃运行跟踪、Abort、队列 +│ ├── sandbox-info.ts # 用于系统提示词的沙箱信息 +│ ├── session-manager-cache.ts # `SessionManager` 实例缓存 │ ├── session-manager-init.ts # 会话文件初始化 -│ ├── system-prompt.ts # 系统提示构建器 -│ ├── tool-split.ts # 将工具拆分为 builtIn 和 custom +│ ├── system-prompt.ts # 系统提示词构建器 +│ ├── tool-split.ts # 将工具拆分为 builtIn 与 custom │ ├── types.ts # EmbeddedPiAgentMeta、EmbeddedPiRunResult │ └── utils.ts # ThinkLevel 映射、错误描述 -├── pi-embedded-subscribe.ts # 会话事件订阅 / 分发 +├── pi-embedded-subscribe.ts # 会话事件订阅/分发 ├── pi-embedded-subscribe.types.ts # SubscribeEmbeddedPiSessionParams ├── pi-embedded-subscribe.handlers.ts # 事件处理器工厂 ├── pi-embedded-subscribe.handlers.lifecycle.ts ├── pi-embedded-subscribe.handlers.types.ts -├── pi-embedded-block-chunker.ts # 流式块回复分块 +├── pi-embedded-block-chunker.ts # 流式分块回复切块 ├── pi-embedded-messaging.ts # 消息工具发送跟踪 ├── pi-embedded-helpers.ts # 错误分类、轮次验证 ├── pi-embedded-helpers/ # 辅助模块 -├── pi-embedded-utils.ts # 格式化工具 +├── pi-embedded-utils.ts # 格式化工具函数 ├── pi-tools.ts # createOpenClawCodingTools() -├── pi-tools.abort.ts # 为工具包装 AbortSignal -├── pi-tools.policy.ts # 工具允许列表 / 拒绝列表策略 -├── pi-tools.read.ts # read 工具自定义 -├── pi-tools.schema.ts # 工具 schema 标准化 +├── pi-tools.abort.ts # 面向工具的 AbortSignal 封装 +├── pi-tools.policy.ts # 工具 allowlist/denylist 策略 +├── pi-tools.read.ts # Read 工具自定义 +├── pi-tools.schema.ts # 工具 schema 规范化 ├── pi-tools.types.ts # AnyAgentTool 类型别名 ├── pi-tool-definition-adapter.ts # AgentTool -> ToolDefinition 适配器 ├── pi-settings.ts # 设置覆盖 @@ -98,29 +98,29 @@ src/agents/ │ ├── compaction-safeguard-runtime.ts │ ├── context-pruning.ts # 缓存 TTL 上下文裁剪扩展 │ └── context-pruning/ -├── model-auth.ts # 认证配置文件解析 -├── auth-profiles.ts # 配置文件存储、冷却、故障转移 +├── model-auth.ts # 认证配置解析 +├── auth-profiles.ts # 配置存储、冷却、故障转移 ├── model-selection.ts # 默认模型解析 -├── models-config.ts # models.json 生成 +├── models-config.ts # `models.json` 生成 ├── model-catalog.ts # 模型目录缓存 ├── context-window-guard.ts # 上下文窗口验证 -├── failover-error.ts # FailoverError 类 +├── failover-error.ts # `FailoverError` 类 ├── defaults.ts # DEFAULT_PROVIDER、DEFAULT_MODEL ├── system-prompt.ts # buildAgentSystemPrompt() -├── system-prompt-params.ts # 系统提示参数解析 +├── system-prompt-params.ts # 系统提示词参数解析 ├── system-prompt-report.ts # 调试报告生成 ├── tool-summaries.ts # 工具描述摘要 ├── tool-policy.ts # 工具策略解析 ├── transcript-policy.ts # 转录验证策略 -├── skills.ts # Skill 快照 / 提示构建 -├── skills/ # Skill 子系统 +├── skills.ts # Skills 快照/提示词构建 +├── skills/ # Skills 子系统 ├── sandbox.ts # 沙箱上下文解析 ├── sandbox/ # 沙箱子系统 ├── channel-tools.ts # 渠道特定工具注入 ├── openclaw-tools.ts # OpenClaw 特定工具 ├── bash-tools.ts # exec/process 工具 ├── apply-patch.ts # apply_patch 工具(OpenAI) -├── tools/ # 各个工具实现 +├── tools/ # 各个独立工具实现 │ ├── browser-tool.ts │ ├── canvas-tool.ts │ ├── cron-tool.ts @@ -134,16 +134,16 @@ src/agents/ └── ... ``` -渠道特定的消息操作运行时现在位于由 plugin 拥有的扩展目录中,而不是放在 `src/agents/tools` 下,例如: +渠道特定的消息操作运行时现在位于插件所属的扩展目录中,而不再位于 `src/agents/tools` 下,例如: -- Discord plugin 操作运行时文件 -- Slack plugin 操作运行时文件 -- Telegram plugin 操作运行时文件 -- WhatsApp plugin 操作运行时文件 +- Discord 插件操作运行时文件 +- Slack 插件操作运行时文件 +- Telegram 插件操作运行时文件 +- WhatsApp 插件操作运行时文件 ## 核心集成流程 -### 1. 运行内嵌智能体 +### 1. 运行嵌入式智能体 主入口是 `pi-embedded-runner/run.ts` 中的 `runEmbeddedPiAgent()`: @@ -167,9 +167,9 @@ const result = await runEmbeddedPiAgent({ }); ``` -### 2. 创建会话 +### 2. 会话创建 -在 `runEmbeddedAttempt()` 内部(由 `runEmbeddedPiAgent()` 调用),使用了 pi SDK: +在 `runEmbeddedAttempt()`(由 `runEmbeddedPiAgent()` 调用)内部,使用了 pi SDK: ```typescript import { @@ -225,13 +225,13 @@ const subscription = subscribeEmbeddedPiSession({ 处理的事件包括: -- `message_start` / `message_end` / `message_update`(流式文本 / thinking) +- `message_start` / `message_end` / `message_update`(流式文本/思考) - `tool_execution_start` / `tool_execution_update` / `tool_execution_end` - `turn_start` / `turn_end` - `agent_start` / `agent_end` - `compaction_start` / `compaction_end` -### 4. 提示 +### 4. 提示输入 设置完成后,会向会话发送提示: @@ -241,25 +241,23 @@ await session.prompt(effectivePrompt, { images: imageResult.images }); SDK 会处理完整的智能体循环:发送给 LLM、执行工具调用、流式传输响应。 -图片注入是提示局部的:OpenClaw 会从当前提示中加载图片引用, -并仅通过 `images` 为该轮传递这些图片。它不会重新扫描更早的历史轮次, -来重新注入图片负载。 +图像注入仅限当前提示:OpenClaw 会从当前提示中加载图像引用,并通过 `images` 仅传递给该轮。它不会重新扫描更早的历史轮次来重新注入图像负载。 ## 工具架构 -### 工具管线 +### 工具流水线 1. **基础工具**:pi 的 `codingTools`(read、bash、edit、write) -2. **自定义替换**:OpenClaw 用 `exec`/`process` 替换 bash,并为沙箱定制 read/edit/write -3. **OpenClaw 工具**:消息、浏览器、canvas、会话、cron、gateway 等 +2. **自定义替换**:OpenClaw 用 `exec`/`process` 替换 bash,并为沙箱自定义 read/edit/write +3. **OpenClaw 工具**:消息、浏览器、画布、会话、cron、Gateway 网关 等 4. **渠道工具**:Discord/Telegram/Slack/WhatsApp 特定操作工具 -5. **策略过滤**:根据配置文件、提供商、智能体、群组、沙箱策略过滤工具 -6. **Schema 标准化**:为 Gemini/OpenAI 的特殊情况清理 schema -7. **AbortSignal 包装**:包装工具以遵守 abort 信号 +5. **策略过滤**:按配置、提供商、智能体、群组、沙箱策略过滤工具 +6. **Schema 规范化**:针对 Gemini/OpenAI 的特殊情况清理 schema +7. **AbortSignal 封装**:封装工具以支持 abort signals ### 工具定义适配器 -pi-agent-core 的 `AgentTool` 与 pi-coding-agent 的 `ToolDefinition` 在 `execute` 签名上不同。`pi-tool-definition-adapter.ts` 中的适配器负责桥接这一点: +pi-agent-core 的 `AgentTool` 与 pi-coding-agent 的 `ToolDefinition` 在 `execute` 签名上不同。`pi-tool-definition-adapter.ts` 中的适配器负责桥接这一差异: ```typescript export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] { @@ -283,19 +281,19 @@ export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] { ```typescript export function splitSdkTools(options: { tools: AnyAgentTool[]; sandboxEnabled: boolean }) { return { - builtInTools: [], // 空。我们覆盖所有内容 + builtInTools: [], // 为空。我们会覆盖所有内容 customTools: toToolDefinitions(options.tools), }; } ``` -这可确保 OpenClaw 的策略过滤、沙箱集成和扩展工具集在不同提供商之间保持一致。 +这可确保 OpenClaw 的策略过滤、沙箱集成和扩展工具集在各个提供商之间保持一致。 -## 系统提示构建 +## 系统提示词构建 -系统提示在 `buildAgentSystemPrompt()`(`system-prompt.ts`)中构建。它会组装一个完整提示,其中包含 Tooling、Tool Call Style、安全护栏、OpenClaw CLI 参考、Skills、文档、工作区、沙箱、消息、回复标签、语音、静默回复、心跳、运行时元数据,以及在启用时包含 Memory 和 Reactions,还可以附加可选的上下文文件和额外系统提示内容。对于子智能体使用的最小提示模式,这些部分会被裁剪。 +系统提示词在 `buildAgentSystemPrompt()`(`system-prompt.ts`)中构建。它会组装一个完整的提示词,其中包含 Tooling、Tool Call Style、安全护栏、OpenClaw CLI 参考、Skills、文档、工作区、沙箱、消息、回复标签、语气、静默回复、心跳、运行时元数据,以及在启用时包含的 Memory 和 Reactions,还可包含可选的上下文文件和额外系统提示词内容。用于子智能体的最小提示词模式会对这些部分进行裁剪。 -该提示会在会话创建后通过 `applySystemPromptOverrideToSession()` 应用: +系统提示词会在创建会话后通过 `applySystemPromptOverrideToSession()` 应用: ```typescript const systemPromptOverride = createSystemPromptOverride(appendPrompt); @@ -306,17 +304,17 @@ applySystemPromptOverrideToSession(session, systemPromptOverride); ### 会话文件 -会话是带有树结构(通过 id/parentId 链接)的 JSONL 文件。Pi 的 `SessionManager` 负责持久化: +会话是具有树状结构的 JSONL 文件(通过 id/parentId 链接)。Pi 的 `SessionManager` 负责持久化: ```typescript const sessionManager = SessionManager.open(params.sessionFile); ``` -OpenClaw 使用 `guardSessionManager()` 对其进行包装,以确保工具结果安全。 +OpenClaw 通过 `guardSessionManager()` 对其进行包装,以保证工具结果安全。 ### 会话缓存 -`session-manager-cache.ts` 会缓存 SessionManager 实例,以避免重复解析文件: +`session-manager-cache.ts` 会缓存 `SessionManager` 实例,以避免重复解析文件: ```typescript await prewarmSessionFile(params.sessionFile); @@ -326,16 +324,11 @@ trackSessionManagerAccess(params.sessionFile); ### 历史记录限制 -`limitHistoryTurns()` 会根据渠道类型(私信 vs 群组)裁剪对话历史。 +`limitHistoryTurns()` 会根据渠道类型(私信 与 群组)裁剪对话历史。 ### 压缩 -发生上下文溢出时会触发自动压缩。常见的溢出特征 -包括 `request_too_large`、`context length exceeded`、`input exceeds the -maximum number of tokens`、`input token count exceeds the maximum number of -input tokens`、`input is too long for the model` 以及 `ollama error: context -length exceeded`。`compactEmbeddedPiSessionDirect()` 负责处理手动 -压缩: +当上下文溢出时会触发自动压缩。常见的溢出特征包括 `request_too_large`、`context length exceeded`、`input exceeds the maximum number of tokens`、`input token count exceeds the maximum number of input tokens`、`input is too long for the model`,以及 `ollama error: context length exceeded`。`compactEmbeddedPiSessionDirect()` 负责处理手动压缩: ```typescript const compactResult = await compactEmbeddedPiSessionDirect({ @@ -345,16 +338,16 @@ const compactResult = await compactEmbeddedPiSessionDirect({ ## 认证与模型解析 -### 认证配置文件 +### 认证配置 -OpenClaw 维护一个认证配置文件存储,可为每个提供商保存多个 API 密钥: +OpenClaw 维护一个认证配置存储,每个提供商可对应多个 API 密钥: ```typescript const authStore = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false }); const profileOrder = resolveAuthProfileOrder({ cfg, store: authStore, provider, preferredProfile }); ``` -配置文件会在失败时轮换,并跟踪冷却状态: +配置在失败时会轮换,并带有冷却跟踪: ```typescript await markAuthProfileFailure({ store, profileId, reason, cfg, agentDir }); @@ -379,7 +372,7 @@ authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey); ### 故障转移 -配置了回退时,`FailoverError` 会触发模型回退: +配置后,`FailoverError` 会触发模型回退: ```typescript if (fallbackConfigured && isFailoverErrorMessage(errorText)) { @@ -395,11 +388,11 @@ if (fallbackConfigured && isFailoverErrorMessage(errorText)) { ## Pi 扩展 -OpenClaw 会加载自定义 Pi 扩展,以支持特定行为: +OpenClaw 会加载自定义 pi 扩展,以支持专门行为: ### 压缩保护 -`src/agents/pi-hooks/compaction-safeguard.ts` 为压缩添加了保护措施,包括自适应 token 预算,以及工具失败和文件操作摘要: +`src/agents/pi-hooks/compaction-safeguard.ts` 为压缩添加护栏,包括自适应 token 预算,以及工具失败和文件操作摘要: ```typescript if (resolveCompactionMode(params.cfg) === "safeguard") { @@ -410,7 +403,7 @@ if (resolveCompactionMode(params.cfg) === "safeguard") { ### 上下文裁剪 -`src/agents/pi-hooks/context-pruning.ts` 实现了基于缓存 TTL 的上下文裁剪: +`src/agents/pi-hooks/context-pruning.ts` 实现基于缓存 TTL 的上下文裁剪: ```typescript if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") { @@ -426,7 +419,7 @@ if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") { ## 流式传输与分块回复 -### 分块处理 +### 分块切分 `EmbeddedBlockChunker` 负责将流式文本管理为离散的回复块: @@ -436,18 +429,18 @@ const blockChunker = blockChunking ? new EmbeddedBlockChunker(blockChunking) : n ### Thinking/Final 标签剥离 -流式输出会被处理,以去除 ``/`` 块并提取 `` 内容: +流式输出会经过处理,以剥离 ``/`` 块并提取 `` 内容: ```typescript const stripBlockTags = (text: string, state: { thinking: boolean; final: boolean }) => { - // 去除 ... 内容 - // 如果 enforceFinalTag,则仅返回 ... 内容 + // 剥离 ... 内容 + // 如果 enforceFinalTag 为真,则只返回 ... 内容 }; ``` ### 回复指令 -会解析并提取诸如 `[[media:url]]`、`[[voice]]`、`[[reply:id]]` 这样的回复指令: +会解析并提取诸如 `[[media:url]]`、`[[voice]]`、`[[reply:id]]` 之类的回复指令: ```typescript const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDirectives(chunk); @@ -457,20 +450,20 @@ const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDi ### 错误分类 -`pi-embedded-helpers.ts` 会对错误进行分类,以便采取适当处理: +`pi-embedded-helpers.ts` 会对错误进行分类,以便进行适当处理: ```typescript isContextOverflowError(errorText) // 上下文过大 isCompactionFailureError(errorText) // 压缩失败 isAuthAssistantError(lastAssistant) // 认证失败 -isRateLimitAssistantError(...) // 触发速率限制 +isRateLimitAssistantError(...) // 命中速率限制 isFailoverAssistantError(...) // 应进行故障转移 classifyFailoverReason(errorText) // "auth" | "rate_limit" | "quota" | "timeout" | ... ``` -### Thinking 级别回退 +### Thinking Level 回退 -如果某个 thinking 级别不受支持,则会回退: +如果某个 Thinking Level 不受支持,则会回退: ```typescript const fallbackThinking = pickFallbackThinkingLevel({ @@ -485,7 +478,7 @@ if (fallbackThinking) { ## 沙箱集成 -启用沙箱模式时,工具和路径会受到约束: +启用沙箱模式时,工具和路径都会受到约束: ```typescript const sandbox = await resolveSandboxContext({ @@ -505,51 +498,51 @@ if (sandboxRoot) { ### Anthropic -- 拒绝魔术字符串清理 +- 拒绝魔法字符串清理 - 连续角色的轮次验证 - 严格的上游 Pi 工具参数验证 ### Google/Gemini -- plugin 拥有的工具 schema 清理 +- 插件所属的工具 schema 清理 ### OpenAI - 面向 Codex 模型的 `apply_patch` 工具 -- thinking 级别降级处理 +- Thinking Level 降级处理 ## TUI 集成 -OpenClaw 还提供本地 TUI 模式,直接使用 pi-tui 组件: +OpenClaw 还提供一种本地 TUI 模式,可直接使用 pi-tui 组件: ```typescript // src/tui/tui.ts import { ... } from "@mariozechner/pi-tui"; ``` -这提供了类似于 pi 原生模式的交互式终端体验。 +这提供了与 pi 原生模式类似的交互式终端体验。 -## 与 Pi CLI 的主要区别 +## 与 Pi CLI 的关键差异 -| 方面 | Pi CLI | OpenClaw 内嵌版 | -| ------------ | ----------------------- | ---------------------------------------------------------------------------------------------- | -| 调用方式 | `pi` 命令 / RPC | 通过 `createAgentSession()` 使用 SDK | -| 工具 | 默认编码工具 | 自定义 OpenClaw 工具套件 | -| 系统提示 | AGENTS.md + prompts | 按渠道 / 上下文动态生成 | -| 会话存储 | `~/.pi/agent/sessions/` | `~/.openclaw/agents//sessions/`(或 `$OPENCLAW_STATE_DIR/agents//sessions/`) | -| 认证 | 单一凭证 | 多配置文件并带轮换 | -| 扩展 | 从磁盘加载 | 以编程方式 + 磁盘路径加载 | -| 事件处理 | TUI 渲染 | 基于回调(`onBlockReply` 等) | +| 方面 | Pi CLI | OpenClaw 内嵌式 | +| --------------- | ----------------------- | ---------------------------------------------------------------------------------------------- | +| 调用方式 | `pi` 命令 / RPC | 通过 `createAgentSession()` 使用 SDK | +| 工具 | 默认编码工具 | 自定义 OpenClaw 工具套件 | +| 系统提示词 | AGENTS.md + prompts | 按渠道/上下文动态生成 | +| 会话存储 | `~/.pi/agent/sessions/` | `~/.openclaw/agents//sessions/`(或 `$OPENCLAW_STATE_DIR/agents//sessions/`) | +| 认证 | 单一凭证 | 支持轮换的多配置 | +| 扩展 | 从磁盘加载 | 通过编程方式 + 磁盘路径 | +| 事件处理 | TUI 渲染 | 基于回调(`onBlockReply` 等) | ## 未来考虑 -可能需要重构的领域: +潜在需要重构的领域: -1. **工具签名对齐**:当前在 pi-agent-core 和 pi-coding-agent 签名之间进行适配 -2. **Session manager 包装**:`guardSessionManager` 增加了安全性,但也提高了复杂度 +1. **工具签名对齐**:当前仍在适配 pi-agent-core 与 pi-coding-agent 之间的签名差异 +2. **Session manager 包装**:`guardSessionManager` 增加了安全性,但也提升了复杂度 3. **扩展加载**:可以更直接地使用 pi 的 `ResourceLoader` -4. **流式处理器复杂性**:`subscribeEmbeddedPiSession` 变得越来越大 -5. **提供商特殊情况**:存在许多提供商特定代码路径,未来 pi 也许可以自行处理 +4. **流式处理器复杂度**:`subscribeEmbeddedPiSession` 已变得较大 +5. **提供商特殊处理**:存在许多提供商特定代码路径,而这些逻辑未来可能由 pi 来统一处理 ## 测试 @@ -567,13 +560,13 @@ Pi 集成覆盖以下测试套件: - `src/agents/pi-settings.test.ts` - `src/agents/pi-hooks/**/*.test.ts` -实时 / 按需启用: +实时/按需启用: - `src/agents/pi-embedded-runner-extraparams.live.test.ts`(启用 `OPENCLAW_LIVE_TEST=1`) -关于当前运行命令,请参见 [Pi Development Workflow](/zh-CN/pi-dev)。 +当前运行命令请参见 [Pi 开发工作流](/zh-CN/pi-dev)。 ## 相关内容 -- [Pi development workflow](/zh-CN/pi-dev) +- [Pi 开发工作流](/zh-CN/pi-dev) - [安装概览](/zh-CN/install) diff --git a/docs/zh-CN/providers/deepseek.md b/docs/zh-CN/providers/deepseek.md index 33d32efbc..fe302bdf3 100644 --- a/docs/zh-CN/providers/deepseek.md +++ b/docs/zh-CN/providers/deepseek.md @@ -1,39 +1,39 @@ --- read_when: - 你想在 OpenClaw 中使用 DeepSeek - - 你需要 API key 环境变量或 CLI 认证方式选择 + - 你需要 API 密钥环境变量或 CLI 认证选项 summary: DeepSeek 设置(认证 + 模型选择) title: DeepSeek x-i18n: - generated_at: "2026-04-23T20:59:55Z" + generated_at: "2026-04-24T15:13:10Z" model: gpt-5.4 provider: openai - source_hash: ead407c67c05bd8700db1cba36defdd9d47bdc9a071c76a07c4b4fb82f6b80e2 + source_hash: 5b0d2345c72328e14351d71c5784204dc6ed9dc922f919b6adfac394001c3261 source_path: providers/deepseek.md workflow: 15 --- -[DeepSeek](https://www.deepseek.com) 提供强大的 AI 模型,并带有与 OpenAI 兼容的 API。 +[DeepSeek](https://www.deepseek.com) 通过与 OpenAI 兼容的 API 提供强大的 AI 模型。 -| 属性 | 值 | +| 属性 | 值 | | -------- | -------------------------- | -| 提供商 | `deepseek` | -| 认证 | `DEEPSEEK_API_KEY` | -| API | 与 OpenAI 兼容 | +| 提供商 | `deepseek` | +| 认证 | `DEEPSEEK_API_KEY` | +| API | 与 OpenAI 兼容 | | Base URL | `https://api.deepseek.com` | -## 快速开始 +## 入门指南 - - 在 [platform.deepseek.com](https://platform.deepseek.com/api_keys) 创建一个 API key。 + + 在 [platform.deepseek.com](https://platform.deepseek.com/api_keys) 创建一个 API 密钥。 ```bash openclaw onboard --auth-choice deepseek-api-key ``` - 这会提示你输入 API key,并将 `deepseek/deepseek-chat` 设置为默认模型。 + 这会提示你输入 API 密钥,并将 `deepseek/deepseek-v4-flash` 设置为默认模型。 @@ -60,20 +60,24 @@ x-i18n: -如果 Gateway 网关以守护进程方式运行(launchd / systemd),请确保 `DEEPSEEK_API_KEY` -对该进程可用(例如放在 `~/.openclaw/.env` 中,或通过 -`env.shellEnv` 提供)。 +如果 Gateway 网关以守护进程方式运行(launchd/systemd),请确保 `DEEPSEEK_API_KEY` +对该进程可用(例如,在 `~/.openclaw/.env` 中或通过 +`env.shellEnv`)。 ## 内置目录 -| 模型引用 | 名称 | 输入 | 上下文 | 最大输出 | 说明 | -| ---------------------------- | ----------------- | ----- | ------- | ---------- | ------------------------------------------------- | -| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | 默认模型;DeepSeek V3.2 非思考界面 | -| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | 启用推理的 V3.2 界面 | +| 模型引用 | 名称 | 输入 | 上下文 | 最大输出 | 说明 | +| ---------------------------- | ----------------- | ----- | ------------- | ---------- | ------------------------------------------ | +| `deepseek/deepseek-v4-flash` | DeepSeek V4 Flash | text | 1,000,000 | 384,000 | 默认模型;支持 V4 thinking 的能力表面 | +| `deepseek/deepseek-v4-pro` | DeepSeek V4 Pro | text | 1,000,000 | 384,000 | 支持 V4 thinking 的能力表面 | +| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | DeepSeek V3.2 非 thinking 能力表面 | +| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | 启用推理的 V3.2 能力表面 | -目前源码中,这两个内置模型都声明支持流式传输用量兼容性。 +V4 模型支持 DeepSeek 的 `thinking` 控制。OpenClaw 还会在后续轮次中重放 +DeepSeek 的 `reasoning_content`,因此带有工具调用的 thinking 会话 +可以继续进行。 ## 配置示例 @@ -83,7 +87,7 @@ x-i18n: env: { DEEPSEEK_API_KEY: "sk-..." }, agents: { defaults: { - model: { primary: "deepseek/deepseek-chat" }, + model: { primary: "deepseek/deepseek-v4-flash" }, }, }, } @@ -93,9 +97,9 @@ x-i18n: - 选择提供商、模型引用和故障转移行为。 + 选择提供商、模型引用和故障切换行为。 - 智能体、模型和提供商的完整配置参考。 + agents、模型和提供商的完整配置参考。