ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OpenClaw OpenShell 沙箱后端:使用 NVIDIA OpenShell 托管沙箱,深入 mirror/remote 工作区模式、配置参考与实现机制

OpenClaw OpenShell 沙箱后端:使用 NVIDIA OpenShell 托管沙箱,深入 mirror/remote 工作区模式、配置参考与实现机制 OpenClaw OpenShell 沙箱后端使用 NVIDIA OpenShell 托管沙箱深入 mirror/remote 工作区模式、配置参考与实现机制【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw本文讲解如何将 NVIDIA OpenShell 接入 OpenClaw 作为托管沙箱后端从 CLI 预检、mirror/remote两种工作区同步模式的选择到plugins.entries.openshell.config下全部配置项的语义、沙箱生命周期管理与安全机制。读完后你可以完成 OpenShell 沙箱后端的安装、配置、验证与排障并理解 OpenClaw 在底层如何通过openshellCLI 与 SSH 通道管理沙箱和文件同步。一、OpenShell 是什么两套 Gateway 与沙箱后端的分工OpenShell 是一个托管沙箱后端OpenClaw 把沙箱生命周期完全委托给openshellCLI并通过 SSH 在沙箱内执行命令。所选的 OpenShell gateway 可以基于 Docker、Podman 或虚拟化在本地管理沙箱也可以把沙箱跑在独立的远程基础设施上。这里有一个容易混淆的命名边界OpenShell gateway 与 OpenClaw Gateway 是两个不同的进程。OpenClaw Gateway 继续在宿主机上运行 agent 与宿主侧插件OpenShell gateway 只负责沙箱的创建、销毁与连接。从源码结构看这个后端以插件形式实现入口在 extensions/openshell/index.ts它通过definePluginEntry声明插件 id 为openshell并在完整注册模式下调用registerSandboxBackend(openshell, ...)向核心注入三样东西factory创建单个 OpenShell 沙箱后端的工厂manager负责运行时状态检查sandbox get与删除sandbox deleteresolveWorkdir把工作目录指向remoteWorkspaceDir默认/sandbox。该插件复用了通用 SSH 后端 的 SSH 传输与远程文件系统桥在此之上新增 OpenShell 生命周期管理sandbox create/get/delete/ssh-config和可选的mirror工作区同步模式。插件的声明元数据配置 JSON Schema、UI 提示、onStartup激活策略见 extensions/openshell/openclaw.plugin.json插件包为openclaw/openshell-sandboxREADME 标注其最低 OpenClaw 宿主版本为2026.5.12-beta.1。二、前置条件与 CLI 预检启用该后端前需要满足以下条件openshellCLI 已安装且位于OpenClaw Gateway 进程的PATH中或自定义绝对路径通过plugins.entries.openshell.config.command指定Gateway 主机上可用 OpenSSH 客户端配置 OpenShell workspace 时要求 OpenShellv0.0.88或更新版本一个活跃且可达、有权限创建沙箱的 OpenShell gateway本地 gateway 不需要云账户使用本地沙箱时OpenShell gateway 主机上有受支持的计算运行时OpenClaw Gateway 正在宿主机上运行。安装 CLI 并按 NVIDIA OpenShell 官方文档配置 gateway 之后务必以运行 OpenClaw Gateway 的同一个操作系统用户验证 OpenShell CLIopenshell --version openshell gateway list openshell sandbox listgateway list会用*标记当前活跃的 gateway。如果没有选中任何 gateway执行openshell gateway select gateway-name。要注册一个已存在的本地 gateway 端点openshell gateway add http://127.0.0.1:8080 --local请把端点地址替换为你实际运行的 gateway 地址对于需要认证的远程 gateway用openshell gateway login gateway-name走它的登录流程。一个高频坑OpenClaw Gateway 服务必须能看到与这些预检命令完全相同的 OpenShell CLI、gateway 注册、凭据和 workspace 选择。仅在交互 shell 里设置的PATH或OPENSHELL_WORKSPACE不会自动传到后台服务。三、快速开始安装插件openclaw plugins install openclaw/openshell-sandbox在 OpenClaw 配置中启用后端并设置插件json5 格式{ agents: { defaults: { sandbox: { mode: all, backend: openshell, scope: session, workspaceAccess: rw, }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: openclaw, mode: remote, }, }, }, }, }校验配置并重启 OpenClaw Gatewayopenclaw config validate openclaw gateway restart在下一个 agent 回合OpenClaw 会创建一个 OpenShell 沙箱并把工具执行路由进去。用下面的命令同时验证插件与生效的沙箱配置openclaw plugins inspect openshell --runtime --json openclaw sandbox list openclaw sandbox explain openshell sandbox list注意openclaw sandbox list在第一次沙箱化 agent 回合并需要运行时之前是空的——沙箱是懒创建的。这一点与源码行为一致extensions/openshell/src/backend.ts 中后端实例首次被调用时才执行sandbox get未命中才执行sandbox create。四、工作区模式mirror 与 remote 的选择这是使用 OpenShell 后端最重要的决策。先厘清一个概念OpenShell 控制平面里也有一个叫workspace的资源它用于圈定沙箱、provider、策略与推理路由的归属——这与下文讨论的文件系统工作区模式不是一回事。要用非默认的 OpenShell 控制平面 workspace设置plugins.entries.openshell.config.workspace。该插件不会创建 OpenShell workspace也不管理其成员不设置时插件沿用 OpenShell CLI 的环境变量OPENSHELL_WORKSPACE选择再没有环境选择时回退到 CLI 的default。mirror默认plugins.entries.openshell.config.mode: mirror保持本地工作区为权威canonicalexec之前OpenClaw 把本地工作区同步进沙箱exec之后再把远端工作区同步回本地在同一个 OpenClaw Gateway 进程内共享同一工作区的命令与文件工具操作会等待当前操作完成。锁覆盖完整的「上传 命令 下载」或完整的「文件读写 同步」不同后端句柄共享同一把锁文件工具走沙箱桥但回合之间本地始终是事实来源工作目录检查检查的是将要被上传的宿主机目录并在返回前释放锁执行本身拥有自己完整的上传到下载的操作被放弃的检查不会阻塞后续工具。远端权限与镜像相关的限制在执行开始时检查。适合开发型工作流在 OpenClaw 之外对本地做的编辑会在下一次 exec 时生效沙箱行为接近 Docker 后端。代价是每次 exec 回合都有上传 下载开销。注意外部编辑器和 Gateway 进程不参与这把锁。避免在 mirror 命令运行期间修改本地工作区因为其回传下载可能覆盖这些外部编辑。remotemode: remote让远端工作区成为权威沙箱创建后的首次使用时OpenClaw 把本地工作区一次性播种seed到远端。如果 Gateway 在此之前重启下次使用时会探测到远端工作区仍为空并补种已经含有内容的远端工作区永远不会被重新播种之后exec、read、write、edit、apply_patch直接操作远端工作区OpenClaw不会把远端变更同步回本地初始化按远端运行时串行化但初始化完成后命令与文件工具可以跨 agent 回合并发因此后台命令可能等待一个更晚回合写入的文件同一文件的并发写遵循正常的远端文件系统语义已物化的 skills 在回合的后端初始化时刷新而不是在每次文件系统操作前刷新与其他沙箱后端一样较晚的回合可能在旧后台命令仍在运行时刷新 skills提示期的媒体读取仍然可用file/media 工具通过沙箱桥读取出站图片等附件可以使用配置好的远端工作区下的路径例如/sandbox/chart.png。适合长时运行的 agent 与 CI每回合开销更低且宿主本地的编辑无法悄悄破坏远端状态。警告在初始播种之后若你在宿主上通过 OpenClaw 之外修改文件远端沙箱对此不可见。需要重新播种时执行openclaw sandbox recreate。从源码可以印证这些语义extensions/openshell/src/backend.ts 中被「收养」的远端沙箱在 remote 模式下会先探测两个受管根目录是否为空remoteManagedRootsEmpty只有根目录完全为空才会把 seed 义务重新挂起避免重启后覆盖操作者数据初始化逻辑ensureSandboxExists仅在 remote 模式下经过runWorkspaceOperation串行队列注释明确说明这是为了让远端命令不阻塞后续回合。模式对比mirrorremote权威工作区本地宿主远端 OpenShell同步方向双向每次 exec一次性播种每回合开销较高上传 下载较低直接远端操作本地编辑可见是下一次 exec 时否直到 recreate最适合开发工作流长时 agent、CI五、配置参考plugins.entries.openshell.config全项说明OpenShell 的所有配置都位于plugins.entries.openshell.config下KeyTypeDefaultDescriptionmodemirror或remotemirror工作区同步模式commandstringopenshellopenshellCLI 的路径或命令名fromstringopenclaw首次创建沙箱时使用的沙箱来源gatewaystring未设置OpenShell gateway 名称对应顶层--gatewaygatewayEndpointstring未设置OpenShell gateway 端点对应顶层--gateway-endpointworkspacestring未设置每次 CLI 操作使用的现有 OpenShell workspacepolicystring未设置OpenClaw Gateway 主机上的沙箱策略 YAML 文件路径providersstring[][]创建沙箱时附加的 provider 名称去重每个条目一个--provider标志gpubooleanfalse请求 GPU 资源--gpuautoProvidersbooleantruecreate 时传--auto-providersfalse 时传--no-auto-providersremoteWorkspaceDirstring/sandbox沙箱内主可写工作区remoteAgentWorkspaceDirstring/agentagent 工作区挂载路径workspace 访问权限非rw时只读timeoutSecondsnumber120openshellCLI 操作的超时这些默认值与 extensions/openshell/src/config.ts 中的常量一一对应DEFAULT_MODE mirror、DEFAULT_COMMAND openshell、DEFAULT_SOURCE openclaw、DEFAULT_REMOTE_WORKSPACE_DIR /sandbox、DEFAULT_REMOTE_AGENT_WORKSPACE_DIR /agent、DEFAULT_TIMEOUT_MS 120_000。各配置项的深入语义受管根路径约束remoteWorkspaceDir与remoteAgentWorkspaceDir必须是绝对路径且必须位于受管根/sandbox或/agent之下其他绝对路径会被拒绝config.ts 中的正则^\/(?:sandbox|agent)(?:\/|$)即此规则。由于 OpenClaw 独立管理这两个目录的内容请选择互不重叠的目录为升级兼容历史上配置过的重叠根仍会被接受。timeoutSeconds适用于常规 OpenShell CLI 操作取值范围 1 至 2147000 秒。沙箱创建始终至少获得 300 秒超时backend.ts 中Math.max(config.timeoutMs, 300_000)以免镜像构建与首次配置被默认 120 秒的命令超时截断。policy这是一个文件路径不是策略名或 ID。建议用绝对路径例如/etc/openclaw/openshell-policy.yaml相对路径会在沙箱创建时从 agent 的本地工作区解析。显式 policy 会覆盖 OpenShell CLI 的OPENSHELL_SANDBOX_POLICY环境变量两者都没设时OpenShell 走自身的正常策略选择与默认值。providers指向所选 OpenShell workspace 中已存在的凭据 provider。autoProviders: true时OpenShell 可能从 Gateway 进程已有凭据自动创建缺失的 providerautoProviders: false时需先创建 provider 并用openshell --workspace workspace-name provider list验证。API key 应放在 OpenShell provider 里不要塞进沙箱环境变量。workspace必须满足 OpenShell 的 workspace 命名契约——1 至 19 个小写字母数字或单个连字符不允许首尾或连续连字符config.ts 中的正则^[a-z0-9](?:-[a-z0-9])*$即该契约。先用openshell workspace create --name name创建它OpenShell 在所选 workspace 不存在或正在删除时会拒绝沙箱操作。设为default可显式覆盖环境里非默认的 OpenShell workspace。workspace 的作用范围该设置对这个插件实例管理的所有 OpenShell 沙箱生效不能按 agent 或 session 选择不同 workspace。修改它不会迁移已有沙箱应在旧 workspace 仍生效时删除 OpenClaw 的 OpenShell 沙箱再改配置并重启 Gateway。沙箱级设置mode、scope、workspaceAccess与其他后端一样放在agents.defaults.sandbox下完整矩阵见 Sandboxing。要向沙箱化命令注入非机密环境变量使用现有的agents.defaults.sandbox.docker.env设置OpenShell 后端在执行命令时同样会应用这些值backend.ts 中句柄的env直接取自createParams.cfg.docker.env。但 OpenShell 目前不会在沙箱创建或后台服务中注入它们。凭据请保留在 OpenShell provider 或其他专门的机密投递机制中。六、配置示例最小 remote 配置{ agents: { defaults: { sandbox: { mode: all, backend: openshell, }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: openclaw, mode: remote, }, }, }, }, }mirror 模式 GPU{ agents: { defaults: { sandbox: { mode: all, backend: openshell, scope: agent, workspaceAccess: rw, }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: openclaw, mode: mirror, gpu: true, providers: [openai], timeoutSeconds: 180, }, }, }, }, }按 agent 启用 OpenShell 自定义 gateway{ agents: { defaults: { sandbox: { mode: off }, }, entries: { researcher: { default: true, sandbox: { mode: all, backend: openshell, scope: agent, workspaceAccess: rw, }, }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: openclaw, mode: remote, gateway: lab, gatewayEndpoint: https://lab.example, workspace: research, policy: /etc/openclaw/openshell-policy.yaml, }, }, }, }, }按 agent 覆盖的更多细节见 多 agent 沙箱与工具。七、沙箱生命周期管理# 列出所有沙箱运行时Docker OpenShell openclaw sandbox list # 检查生效的策略 openclaw sandbox explain # 重建删除远端工作区下次使用时重新播种 openclaw sandbox recreate --all # 只重建某一个 agent或 sandbox list 中显示的精确 session 作用域 openclaw sandbox recreate --agent researcher openclaw sandbox recreate --session agent:researcher:main在remote模式下 recreate 尤其重要它会删除该作用域的权威远端工作区下次使用时从本地重新播种在mirror模式下 recreate 主要重置远端执行环境因为本地仍是权威。sandbox list与recreate命令会激活所配置后端所属的插件以及每条已记录运行时的主人然后再检查或删除它们无关插件不会被加载浏览器专用命令与 OpenShell 后端保持独立。升级兼容与命名规则OpenClaw 在升级后会保留已注册沙箱的旧版运行时名以便其远端工作区仍可达recreate 该作用域会删除旧运行时下次使用时创建当前 19 字符的运行时名。从源码看backend.ts当前命名是对作用域键做 SHA-256 后取十六进制前 16 位、加oc-前缀19 字符 DNS 标签上限内的设计而旧版名openclaw-...-hash仅在被注册表「收养」时继续使用。OpenShell v0.0.92 仍能找到 v0.0.68 创建的沙箱记录但 Docker 承载的沙箱在 gateway 升级后可能停留在非 Ready 阶段。此时 OpenClaw 保留已注册的运行时身份、拒绝隐式创建替身并在错误信息中报告带作用域的openclaw sandbox recreate命令buildLegacyRuntimeUnavailableError。在 remote 模式下应把这次 recreate 视为破坏性操作因为远端工作区是权威。以下任一配置变更后需要 recreateagents.defaults.sandbox.backendplugins.entries.openshell.config.fromplugins.entries.openshell.config.modeplugins.entries.openshell.config.policyplugins.entries.openshell.config.providers、gpu或autoProvidersplugins.entries.openshell.config.remoteWorkspaceDir或remoteAgentWorkspaceDir切换 OpenShell gateway 或 workspace 时在旧的 gateway/workspace 仍被选中时重建受影响的沙箱否则清理操作会指向新位置而不是现有沙箱。删除失败的重试策略如果 OpenShell 无法删除沙箱OpenClaw 会报告失败并保留运行时注册表条目以便安全地重试 recreate 或 prune。恢复原有的 gateway、workspace、认证与连通性后用openshell --workspace workspace-name sandbox get sandbox-name检查运行时再重跑带作用域的openclaw sandbox recreate。不要为了掩盖失败而切换配置 workspace 或删除注册表条目。八、安全加固机制镜像桥的 realpath 校验mirror 模式的文件系统桥固定本地工作区根并在每次 read、write、mkdir、remove、rename 之前通过 realpath 重新检查规范路径拒绝路径中的符号链接。符号链接替换或本地工作区重新挂载都无法把文件访问重定向到镜像树之外。远端一侧同样有防线backend.ts 中的PINNED_REMOTE_PATH_MUTATION_SCRIPT在远端执行前逐段检查路径组件任何.、..、符号链接组件都会直接失败。仓库凭据与可信钩子不出宿主工作区同步在双向都排除.git、hooks、git-hooksextensions/openshell/src/mirror.ts 中的DEFAULT_OPEN_SHELL_MIRROR_EXCLUDE_DIRS。仓库凭据、历史与可信钩子代码留在 OpenClaw Gateway 主机上不会被复制进不可信沙箱。不可表示条目永不复制mirror 同步从不把符号链接、FIFO、Unix socket 等无法表示的条目复制进任一侧工作区。宿主上已存在的这类条目在任意深度都保持原样连同父目录即使沙箱删除了这些目录或把它们替换成文件与这些受保护宿主路径冲突的远端替换会被忽略。普通文件与目录仍然正常接收远端的变更和删除mirror.ts 中reconcileMirrorPath对「既非目录也非普通文件」的目标直接保留。九、自定义镜像契约OpenShell 源镜像负责远端操作系统与包集合。OpenClaw 不会把 Docker 镜像、根文件系统、网络、用户或包配置应用到这个后端。与 OpenClaw 文件系统桥配合的自定义镜像必须提供/bin/shsleep持久沙箱主进程用在 OpenShell CLI 支持分离创建sandbox create --detach时。源码会在创建前通过sandbox create --help探测--detach能力backend.ts 的supportsDetachedSandboxCreation有该能力则传--detach -- sleep infinity否则退回-- truepython3固定路径的远端文件读取与变更GNU 兼容的stat-c、readlink-f、find标准mkdir、mv、rm、rmdir工具。/agent目录的写权限问题当 agent 工作区与沙箱工作区不同时沙箱用户和策略需要对两个受管远端根都有写权限。标准的非特权镜像往往无法创建默认的/agent目录。要么在镜像和策略中创建并授权/agent要么配置两个位于已可写沙箱根之下的互不重叠目录{ plugins: { entries: { openshell: { enabled: true, config: { remoteWorkspaceDir: /sandbox/workspace, remoteAgentWorkspaceDir: /sandbox/agent, }, }, }, }, }包安装与私有证书根必须包含在源镜像中或从沙箱内部安装。所选 OpenShell 策略必须允许所需网络目的地且沙箱用户与文件系统必须允许写入。sandbox.docker.network、sandbox.docker.readOnlyRoot、sandbox.docker.user、sandbox.docker.setupCommand不用于配置 OpenShell。十、当前限制OpenShell 后端不支持沙箱浏览器一个插件实例对应一个 OpenShell workspace不支持按 agent 或 session 选择不同 workspacesandbox.docker.binds不适用于 OpenShell配置了 binds 会导致沙箱创建失败backend.ts 中会直接抛出 OpenShell sandbox backend does not support sandbox.docker.binds.sandbox.docker.*下的 Docker 专用运行时旋钮env除外只作用于 Docker 后端原生插件代码与 Gateway RPC 仍留在 Gateway 主机上。插件自有工具与 MCP 工具只有在沙箱工具策略允许时才对沙箱化会话可见。十一、故障排查先区分三类问题OpenClaw Gateway 健康度、插件激活状态、OpenShell gateway 连通性openclaw gateway status --deep --require-rpc openclaw plugins inspect openshell --runtime --json openclaw sandbox explain openclaw sandbox list openshell gateway list openshell sandbox list openclaw logs --follow插件缺失或后端不可用安装openclaw/openshell-sandbox设置plugins.entries.openshell.enabled: true校验配置并重启 OpenClaw Gateway。用openclaw plugins inspect openshell --runtime --json检查的是运行中的 Gateway而不仅是磁盘上的插件注册。openshellnot found为运行 Gateway 的用户安装 CLI或把plugins.entries.openshell.config.command设为可执行文件的绝对路径。交互式 shell 里能用不代表受管服务有同样的PATH。无活跃 gateway、未授权或连接失败检查openshell gateway list选择预期 gateway部署要求登录时用openshell gateway login gateway-name重新认证。当服务不应依赖交互式 CLI 的活跃选择时显式设置plugins.entries.openshell.config.gateway。workspace 缺失或沙箱列表不对用openshell workspace list核对所选 OpenShell workspace然后openshell --workspace workspace-name sandbox list。缺失的 workspace 先用openshell workspace create --name workspace-name创建再在 OpenClaw 中启用。记住 Gateway 服务可能没有继承交互 shell 的OPENSHELL_WORKSPACE。策略文件读不到或出站流量被拒用宿主机上的绝对路径配置一个已存在的 YAML 策略文件检查其权限并确认策略允许目的地与请求的二进制。用openshell sandbox get sandbox-name --policy-only检查运行中的沙箱。Docker 网络设置不会改变 OpenShell 策略。provider 创建失败用openshell provider list检查所选 OpenShell workspace然后按 OpenShell 文档的凭据流程创建或刷新所需 providerautoProviders关闭时所需 provider 必须已存在。远端文件在本地缺失remote 模式下这是预期行为——远端文件是权威的不会同步回宿主。需要宿主可见的变更时改用mirror模式。重建 remote 沙箱会销毁其仅存在于远端的文件。图片或附件发不出去使用配置好的remoteWorkspaceDir下的路径如/sandbox/report.png不要假设所有后端都用 Docker 的/workspace目录。mirror 同步报告恢复路径OpenClaw 因为移动或恢复无法完成在 workspace 外保留了一个宿主 shadow。错误信息会给出被保留的路径与 workspace 路径并保留原始失败。对比两条路径、恢复所需文件之后再删除任何一份拷贝部分移动可能导致两个路径里是不同的文件。OpenClaw 会保留剩余 workspace 条目而不是用不完整或未验证的备份覆盖它们。如果恢复已完成、只是清理保留目录失败错误会确认已恢复的 workspace 路径并指出遗留目录对应 backend.ts 中的AggregateError恢复提示逻辑。recreate 或 prune 删不掉沙箱恢复对原 OpenShell gateway 与 workspace 的访问用openshell --workspace workspace-name sandbox get sandbox-name确认沙箱仍存在再重试带作用域的 recreate。OpenClaw 会保留注册表条目直到删除成功。十二、工作原理沙箱引导的完整调用链一次 OpenClaw 到 OpenShell 沙箱的执行按序发生以下事情OpenClaw 对所选 OpenShell workspace以及配置的--gateway/--gateway-endpoint中的沙箱名运行sandbox get失败则在同一 workspace 用sandbox create创建按需传入--name、--from、设置时的--policy、启用时的--gpu、--auto-providers/--no-auto-providers以及每个配置 provider 一个--provider标志。对该沙箱名运行sandbox ssh-config获取 SSH 连接信息。核心把 SSH 配置写入临时文件通过与通用 SSH 后端相同的远程文件系统桥打开 SSH 会话。mirror模式exec 前本地到远端同步执行结束后回同步。remote模式首次使用时播种一次之后直接操作远端工作区。源码层面可以补充几个细节CLI 参数装配extensions/openshell/src/cli.ts 的buildOpenShellBaseArgv按command 可选--gateway--gateway-endpoint--workspace的顺序为每条openshell子命令拼装基础 argv因此配置里的 gateway/workspace 会应用到所有CLI 操作而不只是创建。SSH 会话建立cli.ts 的createOpenShellSshSession先执行sandbox ssh-config name再把 stdout 交给createSshSandboxSessionFromConfigText解析若配置了gatewayEndpoint会把--server endpoint注入到 ssh-proxy 的ProxyCommand中当其尚未携带--server/--gateway-endpoint时。mirror 的锁键mirror 操作租约由两个键组成backend.ts本地工作区的规范路径host:前缀与远端运行时身份gatewayEndpoint gateway workspace sandboxName的 JSONruntime:前缀两者都经过全局KeyedAsyncQueue串行化——这正是文档所述「同一工作区的命令与文件工具操作等待当前操作完成、不同后端句柄共享同一把锁」的实现。创建参数装配backend.ts 中sandbox create的完整参数列表与文档完全一致并对创建单独使用Math.max(timeoutMs, 300_000)超时。十三、相关资源Sandboxing沙箱模式、作用域与后端对比含 SSH 后端一节Sandbox vs Tool Policy vs Elevated排查被阻止的工具多 agent 沙箱与工具按 agent 的沙箱覆盖Sandbox CLIopenclaw sandbox命令参考插件源码extensions/openshell后端实现 src/backend.ts、配置解析 src/config.ts、镜像同步 src/mirror.ts、CLI 封装 src/cli.ts。【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表