mirror of
https://github.com/farcasclaudiu/openclaw.git
synced 2026-06-28 19:01:47 +03:00
Docs: update zh-CN translations and pipeline
What: - update zh-CN glossary, TM, and translator prompt - regenerate zh-CN docs and apply targeted fixes - add zh-CN AGENTS pipeline guidance Why: - address terminology/spacing feedback from #6995 Tests: - pnpm build && pnpm check && pnpm test
This commit is contained in:
@@ -1,45 +1,45 @@
|
||||
---
|
||||
read_when:
|
||||
- 你需要在 API 提供商故障时使用可靠的回退方案
|
||||
- 你正在运行 Claude Code CLI 或其他本地 AI CLI,并希望复用它们
|
||||
- 你需要一个纯文本、无工具的路径,同时仍支持会话和图片
|
||||
- 你想要一个在 API 提供商失败时的可靠回退
|
||||
- 你正在运行 Claude Code CLI 或其他本地 AI CLI 并想要复用它们
|
||||
- 你需要一个纯文本、无工具的路径,但仍支持会话和图像
|
||||
summary: CLI 后端:通过本地 AI CLI 实现纯文本回退
|
||||
title: CLI 后端
|
||||
x-i18n:
|
||||
generated_at: "2026-02-01T20:25:48Z"
|
||||
generated_at: "2026-02-03T07:47:52Z"
|
||||
model: claude-opus-4-5
|
||||
provider: pi
|
||||
source_hash: 56a96e83b16a4f6443cbf4a9da7a660c41a5b178af5e13f35352c9d72e1b08dd
|
||||
source_path: gateway/cli-backends.md
|
||||
workflow: 14
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# CLI 后端(回退运行时)
|
||||
|
||||
OpenClaw 可以将**本地 AI CLI** 作为**纯文本回退**运行,适用于 API 提供商宕机、被限流或暂时异常的情况。该方案设计上有意保持保守:
|
||||
当 API 提供商宕机、被限流或暂时异常时,OpenClaw 可以运行**本地 AI CLI** 作为**纯文本回退**。这是有意保守的设计:
|
||||
|
||||
- **工具已禁用**(不进行工具调用)。
|
||||
- **工具被禁用**(无工具调用)。
|
||||
- **文本输入 → 文本输出**(可靠)。
|
||||
- **支持会话**(后续对话轮次保持连贯)。
|
||||
- **可传递图片**(如果 CLI 接受图片路径)。
|
||||
- **支持会话**(因此后续轮次保持连贯)。
|
||||
- 如果 CLI 接受图像路径,**图像可以传递**。
|
||||
|
||||
这被设计为**安全兜底方案**,而非主要路径。当你希望在不依赖外部 API 的情况下获得"始终可用"的文本响应时,可以使用它。
|
||||
这被设计为**安全网**而非主要路径。当你想要"始终有效"的文本响应而不依赖外部 API 时使用它。
|
||||
|
||||
## 新手快速入门
|
||||
## 新手友好快速开始
|
||||
|
||||
你可以**无需任何配置**直接使用 Claude Code CLI(OpenClaw 内置了默认配置):
|
||||
你可以**无需任何配置**使用 Claude Code CLI(OpenClaw 自带内置默认值):
|
||||
|
||||
```bash
|
||||
openclaw agent --message "hi" --model claude-cli/opus-4.5
|
||||
```
|
||||
|
||||
Codex CLI 同样开箱即用:
|
||||
Codex CLI 也可以开箱即用:
|
||||
|
||||
```bash
|
||||
openclaw agent --message "hi" --model codex-cli/gpt-5.2-codex
|
||||
```
|
||||
|
||||
如果你的 Gateway网关在 launchd/systemd 下运行且 PATH 较精简,只需添加命令路径:
|
||||
如果你的 Gateway 网关在 launchd/systemd 下运行且 PATH 很精简,只需添加命令路径:
|
||||
|
||||
```json5
|
||||
{
|
||||
@@ -55,11 +55,11 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.2-codex
|
||||
}
|
||||
```
|
||||
|
||||
就这样。除了 CLI 本身之外,无需密钥,无需额外的认证配置。
|
||||
就这样。除了 CLI 本身外,不需要密钥,不需要额外的认证配置。
|
||||
|
||||
## 用作回退方案
|
||||
## 作为回退使用
|
||||
|
||||
将 CLI 后端添加到回退列表中,这样它只在主模型失败时运行:
|
||||
将 CLI 后端添加到你的回退列表中,这样它只在主要模型失败时运行:
|
||||
|
||||
```json5
|
||||
{
|
||||
@@ -80,8 +80,8 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.2-codex
|
||||
|
||||
注意事项:
|
||||
|
||||
- 如果使用了 `agents.defaults.models`(白名单),必须包含 `claude-cli/...`。
|
||||
- 如果主提供商失败(认证、限流、超时),OpenClaw 将尝试使用 CLI 后端。
|
||||
- 如果你使用 `agents.defaults.models`(允许列表),必须包含 `claude-cli/...`。
|
||||
- 如果主要提供商失败(认证、限流、超时),OpenClaw 将接着尝试 CLI 后端。
|
||||
|
||||
## 配置概览
|
||||
|
||||
@@ -91,8 +91,7 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.2-codex
|
||||
agents.defaults.cliBackends
|
||||
```
|
||||
|
||||
每个条目以**提供商 ID** 为键(例如 `claude-cli`、`my-cli`)。
|
||||
提供商 ID 成为模型引用的左半部分:
|
||||
每个条目以**提供商 ID**(例如 `claude-cli`、`my-cli`)为键。提供商 ID 成为你的模型引用的左侧部分:
|
||||
|
||||
```
|
||||
<provider>/<model>
|
||||
@@ -135,47 +134,47 @@ agents.defaults.cliBackends
|
||||
|
||||
## 工作原理
|
||||
|
||||
1. **根据提供商前缀选择后端**(`claude-cli/...`)。
|
||||
2. **构建系统提示词**,使用相同的 OpenClaw 提示词 + 工作区上下文。
|
||||
3. **执行 CLI**,附带会话 ID(如支持),以保持历史记录一致。
|
||||
4. **解析输出**(JSON 或纯文本),返回最终文本。
|
||||
5. **持久化会话 ID**(按后端分别存储),后续对话复用同一 CLI 会话。
|
||||
1. **选择后端**基于提供商前缀(`claude-cli/...`)。
|
||||
2. **构建系统提示**使用相同的 OpenClaw 提示 + 工作区上下文。
|
||||
3. **执行 CLI**并带有会话 ID(如果支持),使历史记录保持一致。
|
||||
4. **解析输出**(JSON 或纯文本)并返回最终文本。
|
||||
5. **持久化会话 ID**按后端,使后续请求复用相同的 CLI 会话。
|
||||
|
||||
## 会话
|
||||
|
||||
- 如果 CLI 支持会话,设置 `sessionArg`(例如 `--session-id`),或设置 `sessionArgs`(占位符 `{sessionId}`)以将 ID 插入多个标志中。
|
||||
- 如果 CLI 使用带有不同标志的**恢复子命令**,设置 `resumeArgs`(恢复时替换 `args`),并可选设置 `resumeOutput`(用于非 JSON 恢复)。
|
||||
- 如果 CLI 支持会话,设置 `sessionArg`(例如 `--session-id`)或 `sessionArgs`(占位符 `{sessionId}`)当 ID 需要插入到多个标志中时。
|
||||
- 如果 CLI 使用带有不同标志的**恢复子命令**,设置 `resumeArgs`(恢复时替换 `args`)以及可选的 `resumeOutput`(用于非 JSON 恢复)。
|
||||
- `sessionMode`:
|
||||
- `always`:始终发送会话 ID(如无存储则生成新 UUID)。
|
||||
- `existing`:仅在之前已存储会话 ID 时才发送。
|
||||
- `always`:始终发送会话 ID(如果没有存储则使用新 UUID)。
|
||||
- `existing`:仅在之前存储了会话 ID 时才发送。
|
||||
- `none`:从不发送会话 ID。
|
||||
|
||||
## 图片(透传)
|
||||
## 图像(传递)
|
||||
|
||||
如果你的 CLI 接受图片路径,设置 `imageArg`:
|
||||
如果你的 CLI 接受图像路径,设置 `imageArg`:
|
||||
|
||||
```json5
|
||||
imageArg: "--image",
|
||||
imageMode: "repeat"
|
||||
```
|
||||
|
||||
OpenClaw 会将 base64 图片写入临时文件。如果设置了 `imageArg`,这些路径将作为 CLI 参数传递。如果未设置 `imageArg`,OpenClaw 会将文件路径追加到提示词中(路径注入),这对于能从纯文本路径自动加载本地文件的 CLI 已经足够(Claude Code CLI 的行为即是如此)。
|
||||
OpenClaw 会将 base64 图像写入临时文件。如果设置了 `imageArg`,这些路径作为 CLI 参数传递。如果缺少 `imageArg`,OpenClaw 会将文件路径附加到提示中(路径注入),这对于从纯路径自动加载本地文件的 CLI 来说已经足够(Claude Code CLI 行为)。
|
||||
|
||||
## 输入 / 输出
|
||||
|
||||
- `output: "json"`(默认)尝试解析 JSON 并提取文本 + 会话 ID。
|
||||
- `output: "jsonl"` 解析 JSONL 流(Codex CLI `--json`),提取最后一条智能体消息以及 `thread_id`(如存在)。
|
||||
- `output: "text"` 将标准输出作为最终响应。
|
||||
- `output: "jsonl"` 解析 JSONL 流(Codex CLI `--json`)并提取最后一条智能体消息以及存在时的 `thread_id`。
|
||||
- `output: "text"` 将 stdout 视为最终响应。
|
||||
|
||||
输入模式:
|
||||
|
||||
- `input: "arg"`(默认)将提示词作为最后一个 CLI 参数传递。
|
||||
- `input: "stdin"` 通过标准输入发送提示词。
|
||||
- 如果提示词很长且设置了 `maxPromptArgChars`,将使用标准输入。
|
||||
- `input: "arg"`(默认)将提示作为最后一个 CLI 参数传递。
|
||||
- `input: "stdin"` 通过 stdin 发送提示。
|
||||
- 如果提示很长且设置了 `maxPromptArgChars`,则使用 stdin。
|
||||
|
||||
## 默认值(内置)
|
||||
|
||||
OpenClaw 为 `claude-cli` 内置了默认配置:
|
||||
OpenClaw 自带 `claude-cli` 的默认值:
|
||||
|
||||
- `command: "claude"`
|
||||
- `args: ["-p", "--output-format", "json", "--dangerously-skip-permissions"]`
|
||||
@@ -186,7 +185,7 @@ OpenClaw 为 `claude-cli` 内置了默认配置:
|
||||
- `systemPromptWhen: "first"`
|
||||
- `sessionMode: "always"`
|
||||
|
||||
OpenClaw 还为 `codex-cli` 内置了默认配置:
|
||||
OpenClaw 也自带 `codex-cli` 的默认值:
|
||||
|
||||
- `command: "codex"`
|
||||
- `args: ["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]`
|
||||
@@ -197,18 +196,18 @@ OpenClaw 还为 `codex-cli` 内置了默认配置:
|
||||
- `imageArg: "--image"`
|
||||
- `sessionMode: "existing"`
|
||||
|
||||
仅在需要时覆盖(常见情况:绝对 `command` 路径)。
|
||||
仅在需要时覆盖(常见:绝对 `command` 路径)。
|
||||
|
||||
## 限制
|
||||
|
||||
- **无 OpenClaw 工具**(CLI 后端不会接收工具调用)。某些 CLI 可能仍会运行自身的智能体工具。
|
||||
- **无流式传输**(CLI 输出收集完毕后一次性返回)。
|
||||
- **无 OpenClaw 工具**(CLI 后端永远不会收到工具调用)。某些 CLI 可能仍会运行它们自己的智能体工具。
|
||||
- **无流式传输**(CLI 输出被收集后返回)。
|
||||
- **结构化输出**取决于 CLI 的 JSON 格式。
|
||||
- **Codex CLI 会话**通过文本输出恢复(非 JSONL),其结构化程度不如初始的 `--json` 运行。OpenClaw 会话仍正常工作。
|
||||
- **Codex CLI 会话**通过文本输出恢复(无 JSONL),这比初始的 `--json` 运行结构化程度低。OpenClaw 会话仍然正常工作。
|
||||
|
||||
## 故障排除
|
||||
|
||||
- **找不到 CLI**:将 `command` 设置为完整路径。
|
||||
- **模型名称错误**:使用 `modelAliases` 将 `provider/model` 映射为 CLI 模型名。
|
||||
- **无会话连续性**:确保已设置 `sessionArg` 且 `sessionMode` 不是 `none`(Codex CLI 目前无法以 JSON 输出恢复会话)。
|
||||
- **图片被忽略**:设置 `imageArg`(并确认 CLI 支持文件路径)。
|
||||
- **模型名称错误**:使用 `modelAliases` 将 `provider/model` 映射到 CLI 模型。
|
||||
- **无会话连续性**:确保设置了 `sessionArg` 且 `sessionMode` 不是 `none`(Codex CLI 目前无法使用 JSON 输出恢复)。
|
||||
- **图像被忽略**:设置 `imageArg`(并验证 CLI 支持文件路径)。
|
||||
|
||||
Reference in New Issue
Block a user