From aba1ed3e4d68b0682dc465a373d19974523e0a0f Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Sun, 26 Apr 2026 21:45:11 +0000 Subject: [PATCH] chore(i18n): refresh zh-CN translations --- docs/zh-CN/install/docker.md | 215 +++++++++++++++++++---------------- 1 file changed, 115 insertions(+), 100 deletions(-) diff --git a/docs/zh-CN/install/docker.md b/docs/zh-CN/install/docker.md index b84c62cd3..1db4e3f88 100644 --- a/docs/zh-CN/install/docker.md +++ b/docs/zh-CN/install/docker.md @@ -1,33 +1,33 @@ --- read_when: - - 你想使用容器化的 Gateway 网关,而不是本地安装 - - 你正在验证 Docker 流程 + - 你想要使用容器化的 Gateway 网关,而不是本地安装。 + - 你正在验证 Docker 流程。 summary: 可选的基于 Docker 的 OpenClaw 设置与新手引导 title: Docker x-i18n: - generated_at: "2026-04-26T10:54:34Z" + generated_at: "2026-04-26T21:44:07Z" model: gpt-5.4 provider: openai - source_hash: 3483dafa6c8baa0d4ad12df1a457e07e3c8b4182a2c5e1649bc8db66ff4c676c + source_hash: fd8a20ac45744bb02a324de86f9b374ca1a96d7c6be2b6216967813bf0139fd5 source_path: install/docker.md workflow: 15 --- -Docker 是**可选的**。仅当你想使用容器化的 Gateway 网关,或验证 Docker 流程时才使用它。 +Docker **是可选的**。仅当你想要使用容器化的 Gateway 网关,或验证 Docker 流程时才使用它。 ## Docker 适合我吗? - **是**:你想要一个隔离的、可随时丢弃的 Gateway 网关环境,或者想在没有本地安装的主机上运行 OpenClaw。 -- **否**:你是在自己的机器上运行,并且只想要最快的开发循环。请改用常规安装流程。 -- **沙箱注意事项**:默认的沙箱后端在启用沙箱隔离时使用 Docker,但沙箱隔离默认是关闭的,并且**不**要求整个 Gateway 网关都运行在 Docker 中。也可使用 SSH 和 OpenShell 沙箱后端。参见 [沙箱隔离](/zh-CN/gateway/sandboxing)。 +- **否**:你是在自己的机器上运行,只想要最快的开发循环。请改用常规安装流程。 +- **沙箱注意事项**:当启用沙箱隔离时,默认的沙箱后端会使用 Docker,但沙箱隔离默认是关闭的,并且**不**要求整个 Gateway 网关都在 Docker 中运行。也提供 SSH 和 OpenShell 沙箱后端。参见 [沙箱隔离](/zh-CN/gateway/sandboxing)。 -## 前提条件 +## 先决条件 - Docker Desktop(或 Docker Engine)+ Docker Compose v2 -- 镜像构建至少需要 2 GB RAM(在 1 GB 主机上,`pnpm install` 可能因 OOM 被终止并以退出码 137 结束) -- 足够的磁盘空间用于镜像和日志 -- 如果在 VPS/公网主机上运行,请查看 - [网络暴露的安全加固](/zh-CN/gateway/security), +- 镜像构建至少需要 2 GB 内存(在 1 GB 主机上,`pnpm install` 可能因 OOM 被终止并返回退出码 137) +- 有足够的磁盘空间用于镜像和日志 +- 如果在 VPS / 公网主机上运行,请查阅 + [面向网络暴露的安全加固](/zh-CN/gateway/security), 尤其是 Docker `DOCKER-USER` 防火墙策略。 ## 容器化 Gateway 网关 @@ -60,15 +60,16 @@ Docker 是**可选的**。仅当你想使用容器化的 Gateway 网关,或验 - 生成一个 Gateway 网关令牌并将其写入 `.env` - 通过 Docker Compose 启动 Gateway 网关 - 在设置期间,启动前的新手引导和配置写入会直接通过 + 在设置过程中,启动前的新手引导和配置写入会直接通过 `openclaw-gateway` 运行。`openclaw-cli` 用于在 - Gateway 网关容器已经存在之后运行的命令。 + Gateway 网关容器已经存在之后执行的命令。 - - 在浏览器中打开 `http://127.0.0.1:18789/`,并将已配置的 - 共享密钥粘贴到 Settings 中。设置脚本默认会将一个令牌写入 `.env`;如果你将容器配置切换为密码认证,请改用该密码。 + + 在浏览器中打开 `http://127.0.0.1:18789/`,然后将已配置的 + 共享密钥粘贴到 Settings 中。设置脚本默认会将令牌写入 `.env`; + 如果你把容器配置切换为密码认证,请改用该密码。 需要再次获取 URL 吗? @@ -82,7 +83,7 @@ Docker 是**可选的**。仅当你想使用容器化的 Gateway 网关,或验 使用 CLI 容器添加消息渠道: ```bash - # WhatsApp (QR) + # WhatsApp(二维码) docker compose run --rm openclaw-cli channels login # Telegram @@ -99,7 +100,7 @@ Docker 是**可选的**。仅当你想使用容器化的 Gateway 网关,或验 ### 手动流程 -如果你希望自己逐步执行,而不是使用设置脚本: +如果你更愿意自己逐步执行,而不是使用设置脚本: ```bash docker build -t openclaw:local -f Dockerfile . @@ -111,47 +112,49 @@ docker compose up -d openclaw-gateway ``` -请从仓库根目录运行 `docker compose`。如果你启用了 `OPENCLAW_EXTRA_MOUNTS` +从仓库根目录运行 `docker compose`。如果你启用了 `OPENCLAW_EXTRA_MOUNTS` 或 `OPENCLAW_HOME_VOLUME`,设置脚本会写入 `docker-compose.extra.yml`; -请使用 `-f docker-compose.yml -f docker-compose.extra.yml` 将其包含进来。 +请通过 `-f docker-compose.yml -f docker-compose.extra.yml` 一并包含它。 -由于 `openclaw-cli` 共享 `openclaw-gateway` 的网络命名空间,它是一个启动后的工具。在 `docker compose up -d openclaw-gateway` 之前,请通过带有 -`--no-deps --entrypoint node` 的 `openclaw-gateway` 运行新手引导和设置阶段的配置写入。 +由于 `openclaw-cli` 与 `openclaw-gateway` 共享网络命名空间,它是一个 +启动后工具。在 `docker compose up -d openclaw-gateway` 之前,请通过 +带有 `--no-deps --entrypoint node` 的 `openclaw-gateway` 来运行新手引导 +和设置阶段的配置写入。 ### 环境变量 -设置脚本接受以下可选环境变量: +设置脚本支持以下可选环境变量: -| Variable | Purpose | -| ------------------------------------------ | --------------------------------------------------------------- | -| `OPENCLAW_IMAGE` | 使用远程镜像而不是本地构建 | -| `OPENCLAW_DOCKER_APT_PACKAGES` | 在构建期间安装额外的 apt 软件包(以空格分隔) | -| `OPENCLAW_EXTENSIONS` | 在构建时预安装插件依赖(以空格分隔的名称) | -| `OPENCLAW_EXTRA_MOUNTS` | 额外的主机绑定挂载(以逗号分隔的 `source:target[:opts]`) | -| `OPENCLAW_HOME_VOLUME` | 将 `/home/node` 持久化到具名 Docker 卷中 | -| `OPENCLAW_SANDBOX` | 选择启用沙箱引导(`1`、`true`、`yes`、`on`) | -| `OPENCLAW_DOCKER_SOCKET` | 覆盖 Docker socket 路径 | -| `OPENCLAW_DISABLE_BONJOUR` | 禁用 Bonjour/mDNS 广播(Docker 默认值为 `1`) | -| `OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYS` | 禁用内置插件源码 bind-mount 覆盖层 | -| `OTEL_EXPORTER_OTLP_ENDPOINT` | 用于 OpenTelemetry 导出的共享 OTLP/HTTP 收集器端点 | -| `OTEL_EXPORTER_OTLP_*_ENDPOINT` | 用于 traces、metrics 或 logs 的按信号区分的 OTLP 端点 | -| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP 协议覆盖。当前仅支持 `http/protobuf` | -| `OTEL_SERVICE_NAME` | 用于 OpenTelemetry 资源的服务名称 | -| `OTEL_SEMCONV_STABILITY_OPT_IN` | 选择启用最新的实验性 GenAI 语义属性 | -| `OPENCLAW_OTEL_PRELOADED` | 当已有预加载的 OpenTelemetry SDK 时,跳过启动第二个 | +| Variable | Purpose | +| ------------------------------------------ | -------------------------------------------------------------- | +| `OPENCLAW_IMAGE` | 使用远程镜像,而不是在本地构建 | +| `OPENCLAW_DOCKER_APT_PACKAGES` | 在构建期间安装额外的 apt 软件包(以空格分隔) | +| `OPENCLAW_EXTENSIONS` | 在构建时预安装插件依赖(以空格分隔的名称) | +| `OPENCLAW_EXTRA_MOUNTS` | 额外的主机 bind mount(以逗号分隔的 `source:target[:opts]`) | +| `OPENCLAW_HOME_VOLUME` | 在具名 Docker volume 中持久化 `/home/node` | +| `OPENCLAW_SANDBOX` | 选择启用沙箱引导(`1`、`true`、`yes`、`on`) | +| `OPENCLAW_DOCKER_SOCKET` | 覆盖 Docker socket 路径 | +| `OPENCLAW_DISABLE_BONJOUR` | 禁用 Bonjour / mDNS 广播(Docker 中默认值为 `1`) | +| `OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYS` | 禁用内置插件源码 bind-mount 覆盖层 | +| `OTEL_EXPORTER_OTLP_ENDPOINT` | OpenTelemetry 导出的共享 OTLP/HTTP 收集器端点 | +| `OTEL_EXPORTER_OTLP_*_ENDPOINT` | traces、metrics 或 logs 的按信号分类的 OTLP 端点 | +| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP 协议覆盖。当前仅支持 `http/protobuf` | +| `OTEL_SERVICE_NAME` | 用于 OpenTelemetry 资源的服务名称 | +| `OTEL_SEMCONV_STABILITY_OPT_IN` | 选择启用最新的实验性 GenAI 语义属性 | +| `OPENCLAW_OTEL_PRELOADED` | 当已有预加载的 OpenTelemetry SDK 时,跳过启动第二个 SDK | -维护者可以通过将某个插件源码目录挂载到其打包后的源码路径上,在打包镜像中测试内置插件源码,例如 +维护者可以通过将某个插件源码目录挂载到其打包后的源码路径上,来对照已打包镜像测试内置插件源码,例如 `OPENCLAW_EXTRA_MOUNTS=/path/to/fork/extensions/synology-chat:/app/extensions/synology-chat:ro`。 -这个已挂载的源码目录会覆盖相同插件 id 对应的已编译 +该已挂载的源码目录会覆盖相同插件 id 对应的已编译 `/app/dist/extensions/synology-chat` bundle。 ### 可观测性 OpenTelemetry 导出是从 Gateway 网关容器向你的 OTLP -收集器发起的出站连接。它不需要发布 Docker 端口。如果你在本地构建镜像,并希望镜像内提供内置的 OpenTelemetry 导出器,请包含其运行时依赖: +收集器发出的出站连接。它不需要发布 Docker 端口。如果你在本地构建镜像,并希望镜像中能使用内置的 OpenTelemetry 导出器,请包含其运行时依赖: ```bash export OPENCLAW_EXTENSIONS="diagnostics-otel" @@ -162,34 +165,35 @@ export OTEL_SERVICE_NAME="openclaw-gateway" 官方 OpenClaw Docker 发布镜像包含内置的 `diagnostics-otel` 插件源码。根据镜像和缓存状态不同, -Gateway 网关在首次启用该插件时,仍可能需要为插件本地的 OpenTelemetry 运行时依赖进行准备,因此请确保首次启动时能够访问软件包注册表,或在你的发布流程中预热镜像。要启用导出,请在配置中允许并启用 +Gateway 网关 在首次启用该插件时,仍可能需要准备插件本地的 OpenTelemetry 运行时依赖,因此请允许首次启动访问软件包注册表,或在你的发布流水线中提前预热镜像。要启用导出,请在配置中允许并启用 `diagnostics-otel` 插件,然后设置 `diagnostics.otel.enabled=true`,或使用 [OpenTelemetry 导出](/zh-CN/gateway/opentelemetry) 中的配置示例。收集器认证头通过 `diagnostics.otel.headers` 配置,而不是通过 Docker 环境变量配置。 -Prometheus 指标使用已发布的 Gateway 网关端口。启用 -`diagnostics-prometheus` 插件后,抓取: +Prometheus 指标使用已经发布的 Gateway 网关端口。启用 +`diagnostics-prometheus` 插件,然后抓取: ```text http://:18789/api/diagnostics/prometheus ``` -该路由受 Gateway 网关认证保护。不要暴露单独的公开 `/metrics` 端口,也不要暴露未认证的反向代理路径。参见 +该路由受 Gateway 网关认证保护。不要暴露单独的公共 `/metrics` +端口,也不要暴露未认证的反向代理路径。参见 [Prometheus 指标](/zh-CN/gateway/prometheus)。 ### 健康检查 -容器探针端点(无需认证): +容器探测端点(无需认证): ```bash curl -fsS http://127.0.0.1:18789/healthz # 存活性 curl -fsS http://127.0.0.1:18789/readyz # 就绪性 ``` -Docker 镜像内置了一个 `HEALTHCHECK`,用于探测 `/healthz`。 +Docker 镜像内置了一个 `HEALTHCHECK`,会探测 `/healthz`。 如果检查持续失败,Docker 会将容器标记为 `unhealthy`, -编排系统随后可以重启或替换它。 +编排系统即可重启或替换该容器。 需要认证的深度健康快照: @@ -199,7 +203,7 @@ docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLA ### LAN 与 loopback -`scripts/docker/setup.sh` 默认设置 `OPENCLAW_GATEWAY_BIND=lan`,因此主机可通过 Docker 端口发布访问 +`scripts/docker/setup.sh` 默认设置 `OPENCLAW_GATEWAY_BIND=lan`,这样通过 Docker 端口发布后,主机可以访问 `http://127.0.0.1:18789`。 - `lan`(默认):主机浏览器和主机 CLI 都可以访问已发布的 Gateway 网关端口。 @@ -207,51 +211,53 @@ docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLA Gateway 网关。 -请在 `gateway.bind` 中使用绑定模式值(`lan` / `loopback` / `custom` / -`tailnet` / `auto`),而不要使用主机别名,如 `0.0.0.0` 或 `127.0.0.1`。 +请在 `gateway.bind` 中使用 bind 模式值(`lan` / `loopback` / `custom` / +`tailnet` / `auto`),而不要使用主机别名,例如 `0.0.0.0` 或 `127.0.0.1`。 ### Bonjour / mDNS -Docker bridge 网络通常无法可靠地转发 Bonjour/mDNS 组播 +Docker bridge 网络通常无法可靠转发 Bonjour / mDNS 组播 (`224.0.0.251:5353`)。因此,内置的 Compose 设置默认使用 -`OPENCLAW_DISABLE_BONJOUR=1`,这样 Gateway 网关就不会因为 bridge 丢弃组播流量而崩溃重启或反复重启广播。 +`OPENCLAW_DISABLE_BONJOUR=1`,这样 Gateway 网关就不会因为 bridge 丢弃组播流量而发生崩溃循环或反复重启广播。 -对于 Docker 主机,请使用已发布的 Gateway 网关 URL、Tailscale 或广域 DNS-SD。仅当使用 host networking、macvlan 或其他已知支持 mDNS 组播的网络时,才将 `OPENCLAW_DISABLE_BONJOUR=0`。 +对于 Docker 主机,请使用已发布的 Gateway 网关 URL、Tailscale,或广域 DNS-SD。 +仅当你在 host networking、macvlan, +或其他已知支持 mDNS 组播的网络中运行时,才将 `OPENCLAW_DISABLE_BONJOUR=0`。 -有关常见问题和故障排除,请参见 [Bonjour 设备发现](/zh-CN/gateway/bonjour)。 +关于常见问题和故障排除,参见 [Bonjour 设备发现](/zh-CN/gateway/bonjour)。 ### 存储与持久化 -Docker Compose 会将 `OPENCLAW_CONFIG_DIR` bind-mount 到 `/home/node/.openclaw`,并将 -`OPENCLAW_WORKSPACE_DIR` bind-mount 到 `/home/node/.openclaw/workspace`,因此这些路径在容器被替换后仍会保留。 +Docker Compose 会将 `OPENCLAW_CONFIG_DIR` bind-mount 到 `/home/node/.openclaw`, +并将 `OPENCLAW_WORKSPACE_DIR` bind-mount 到 `/home/node/.openclaw/workspace`,因此这些路径在容器替换后仍会保留。 -这个已挂载的配置目录是 OpenClaw 存储以下内容的位置: +该已挂载的配置目录也是 OpenClaw 存放以下内容的位置: -- 用于行为配置的 `openclaw.json` -- 用于存储 provider OAuth/API-key 认证的 `agents//agent/auth-profiles.json` -- 用于基于 env 的运行时密钥(如 `OPENCLAW_GATEWAY_TOKEN`)的 `.env` +- `openclaw.json`:行为配置 +- `agents//agent/auth-profiles.json`:存储的 provider OAuth / API 密钥认证信息 +- `.env`:由环境变量支持的运行时密钥,例如 `OPENCLAW_GATEWAY_TOKEN` -有关 VM 部署中的完整持久化细节,请参见 +有关 VM 部署中持久化的完整细节,参见 [Docker VM Runtime - 持久化内容及其位置](/zh-CN/install/docker-vm-runtime#what-persists-where)。 -**磁盘增长热点:** 请关注 `media/`、会话 JSONL 文件、`cron/runs/*.jsonl`, +**磁盘增长热点:**请关注 `media/`、会话 JSONL 文件、`cron/runs/*.jsonl`, 以及 `/tmp/openclaw/` 下的滚动文件日志。 ### Shell 辅助工具(可选) -为了更便于日常管理 Docker,请安装 `ClawDock`: +为了更方便地进行日常 Docker 管理,请安装 `ClawDock`: ```bash mkdir -p ~/.clawdock && curl -sL https://raw.githubusercontent.com/openclaw/openclaw/main/scripts/clawdock/clawdock-helpers.sh -o ~/.clawdock/clawdock-helpers.sh echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc ``` -如果你之前是通过旧的 `scripts/shell-helpers/clawdock-helpers.sh` 原始路径安装 ClawDock,请重新运行上面的安装命令,以便你的本地 helper 文件跟踪新位置。 +如果你此前是通过旧的 `scripts/shell-helpers/clawdock-helpers.sh` 原始路径安装 ClawDock,请重新运行上面的安装命令,以便你的本地辅助文件跟踪新位置。 -然后你可以使用 `clawdock-start`、`clawdock-stop`、`clawdock-dashboard` 等命令。运行 -`clawdock-help` 可查看所有命令。 -完整 helper 指南请参见 [ClawDock](/zh-CN/install/clawdock)。 +然后你就可以使用 `clawdock-start`、`clawdock-stop`、`clawdock-dashboard` 等命令。 +运行 `clawdock-help` 可查看所有命令。 +完整辅助指南参见 [ClawDock](/zh-CN/install/clawdock)。 @@ -268,7 +274,7 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc ./scripts/docker/setup.sh ``` - 该脚本仅在沙箱前提条件通过后才挂载 `docker.sock`。如果 + 该脚本仅在沙箱前置条件通过后才会挂载 `docker.sock`。如果 沙箱设置无法完成,脚本会将 `agents.defaults.sandbox.mode` 重置为 `off`。 @@ -285,8 +291,9 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc - `openclaw-cli` 使用 `network_mode: "service:openclaw-gateway"`,因此 CLI - 命令可以通过 `127.0.0.1` 访问 Gateway 网关。请将其视为共享信任边界。compose 配置会移除 `NET_RAW`/`NET_ADMIN`,并在 `openclaw-cli` 上启用 + `openclaw-cli` 使用 `network_mode: "service:openclaw-gateway"`,这样 CLI + 命令就可以通过 `127.0.0.1` 访问 Gateway 网关。请将其视为一个共享的 + 信任边界。compose 配置移除了 `NET_RAW` / `NET_ADMIN`,并在 `openclaw-cli` 上启用了 `no-new-privileges`。 @@ -300,8 +307,8 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc - - 请按依赖层可缓存的方式组织你的 Dockerfile。这样可以避免在 lockfile 未变化时重复运行 + + 按照依赖层可缓存的方式安排你的 Dockerfile。这样可以避免在 lockfile 未变化时重复运行 `pnpm install`: ```dockerfile @@ -325,10 +332,10 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc - 默认镜像以安全优先为设计原则,并以非 root 的 `node` 用户运行。若要使用功能更完整的容器: + 默认镜像以安全优先为原则,并以非 root 的 `node` 身份运行。若要使用功能更完整的容器: 1. **持久化 `/home/node`**:`export OPENCLAW_HOME_VOLUME="openclaw_home"` - 2. **预置系统依赖**:`export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq"` + 2. **预装系统依赖**:`export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq"` 3. **安装 Playwright 浏览器**: ```bash docker compose run --rm openclaw-cli \ @@ -342,35 +349,42 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc 如果你在向导中选择 OpenAI Codex OAuth,它会打开一个浏览器 URL。在 - Docker 或无头环境中,请复制你最终跳转到的完整重定向 URL,并将其粘贴回向导中以完成认证。 + Docker 或无头环境中,请复制你最终到达的完整重定向 URL,并将其粘贴回 + 向导中以完成认证。 - 主 Docker 镜像使用 `node:24-bookworm`,并发布 OCI 基础镜像注解,包括 `org.opencontainers.image.base.name`、 - `org.opencontainers.image.source` 等。参见 + 主 Docker 镜像使用 `node:24-bookworm`,并发布 OCI 基础镜像 + 注解,其中包括 `org.opencontainers.image.base.name`、 + `org.opencontainers.image.source` 等。Node 基础镜像摘要 + 通过 Dependabot 的 Docker 基础镜像 PR 刷新;发布构建不会运行 + 发行版升级层。参见 [OCI 镜像注解](https://github.com/opencontainers/image-spec/blob/main/annotations.md)。 ### 在 VPS 上运行? -有关共享 VM 部署步骤,包括二进制预置、持久化和更新,请参见 [Hetzner(Docker VPS)](/zh-CN/install/hetzner) 和 +共享 VM 部署步骤(包括二进制预构建、持久化和更新)请参见 +[Hetzner(Docker VPS)](/zh-CN/install/hetzner) 和 [Docker VM Runtime](/zh-CN/install/docker-vm-runtime)。 ## 智能体沙箱 -当启用带有 Docker 后端的 `agents.defaults.sandbox` 时,Gateway 网关会在隔离的 Docker -容器中运行智能体工具执行(shell、文件读写等),而 Gateway 网关本身仍保留在主机上。这可以在不将整个 -Gateway 网关容器化的前提下,为不受信任或多租户的智能体会话提供一道硬隔离边界。 +当使用 Docker 后端启用 `agents.defaults.sandbox` 时,Gateway 网关会在隔离的 Docker +容器中运行智能体工具执行(shell、文件读写等),而 Gateway 网关本身仍保留在主机上。这为不受信任或多租户的智能体会话提供了一道坚实的隔离墙, +而无需将整个 Gateway 网关容器化。 -沙箱范围可以按智能体(默认)、按会话,或共享。每种范围都会获得一个挂载到 `/workspace` 的独立工作区。你还可以配置 -allow/deny 工具策略、网络隔离、资源限制以及浏览器容器。 +沙箱范围可以是按智能体(默认)、按会话,或共享。每种范围 +都有自己的工作区,并挂载到 `/workspace`。你还可以配置 +工具允许 / 拒绝策略、网络隔离、资源限制以及浏览器 +容器。 有关完整配置、镜像、安全说明和多智能体配置文件,请参见: - [沙箱隔离](/zh-CN/gateway/sandboxing) -- 完整的沙箱参考 - [OpenShell](/zh-CN/gateway/openshell) -- 对沙箱容器的交互式 shell 访问 -- [多智能体沙箱与工具](/zh-CN/tools/multi-agent-sandbox-tools) -- 按智能体覆盖 +- [Multi-Agent Sandbox and Tools](/zh-CN/tools/multi-agent-sandbox-tools) -- 按智能体覆盖 ### 快速启用 @@ -396,29 +410,30 @@ scripts/sandbox-setup.sh ## 故障排除 - - 请使用 + + 使用 [`scripts/sandbox-setup.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/sandbox-setup.sh) 构建沙箱镜像,或将 `agents.defaults.sandbox.docker.image` 设置为你的自定义镜像。 容器会按需为每个会话自动创建。 - 将 `docker.user` 设置为与你挂载工作区所有权匹配的 UID:GID, + 将 `docker.user` 设置为与你挂载的工作区所有权匹配的 UID:GID, 或对工作区文件夹执行 chown。 OpenClaw 使用 `sh -lc`(登录 shell)运行命令,这会加载 - `/etc/profile`,并且可能重置 PATH。请设置 `docker.env.PATH`,将你的自定义工具路径预置到前面,或者在你的 Dockerfile 中向 `/etc/profile.d/` 添加脚本。 + `/etc/profile`,并且可能重置 PATH。请设置 `docker.env.PATH`, + 以预先添加你的自定义工具路径,或在 Dockerfile 中向 `/etc/profile.d/` 下添加脚本。 - - VM 至少需要 2 GB RAM。请使用更大的机器规格后重试。 + + VM 至少需要 2 GB 内存。请使用更大的机器规格后重试。 - - 获取新的 dashboard 链接并批准浏览器设备: + + 获取一个新的 dashboard 链接并批准该浏览器设备: ```bash docker compose run --rm openclaw-cli dashboard --no-open @@ -426,12 +441,12 @@ scripts/sandbox-setup.sh docker compose run --rm openclaw-cli devices approve ``` - 更多细节: [Dashboard](/zh-CN/web/dashboard)、[Devices](/zh-CN/cli/devices)。 + 更多细节:[Dashboard](/zh-CN/web/dashboard)、[Devices](/zh-CN/cli/devices)。 - - 重置 Gateway 网关模式和绑定方式: + + 重置 Gateway 网关模式和 bind: ```bash docker compose run --rm openclaw-cli config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"}]' @@ -445,6 +460,6 @@ scripts/sandbox-setup.sh - [安装概览](/zh-CN/install) — 所有安装方式 - [Podman](/zh-CN/install/podman) — Docker 的 Podman 替代方案 -- [ClawDock](/zh-CN/install/clawdock) — Docker Compose 社区方案 +- [ClawDock](/zh-CN/install/clawdock) — Docker Compose 社区设置 - [更新](/zh-CN/install/updating) — 让 OpenClaw 保持最新 - [配置](/zh-CN/gateway/configuration) — 安装后的 Gateway 网关配置