
OpenClaw 原生 Windows CLI 与网关能力清单从安装、托管、组网到更新的完整性运维指南【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclawOpenClaw 在 Windows 上提供“原生 CLI 本地网关Gateway”这一独立于 Windows Hub 与 WSL2 的部署形态它不依赖 Linux 子系统通过 PowerShell 一键安装后即可在原生 Windows 环境中完成 CLI 引导、网关托管、状态巡检、网络暴露与自动更新。本文以仓库中native-windows-cli-and-gateway完整度Completeness评分面为骨架逐项拆解该能力面在 Setup、Gateway Management、Networking、Updates 四个维度上应覆盖的完整操作者工作流并结合Windows 平台文档与底层实现给出可复现的命令、配置与源码佐证。能力面定位原生 Windows 的一条独立技术路线在 OpenClaw 的 Windows 支持矩阵里用户面对三种并存形态能力边界在官方平台文档中有明确划分docs/platforms/windows.mdWindows Hub面向桌面场景的 WinUI 伴生应用提供托盘状态、首次运行引导、Chat、Command Center 诊断与 Windows 节点模式原生 Windows CLI 与网关面向终端优先用户的 CLI 形态网关以 Windows Scheduled Task 等原生机制托管这是本文主题WSL2 网关最接近 Linux 运行时的网关形态适合希望获得最大 Linux 兼容性的部署。从native-windows-cli-and-gateway评分面的设定看它只评价“原生 Windows”这一支线与仓库中另外两份评分参考——windows-via-wsl2.mdWSL2 路径与 native-windows-companion-app.mdHub 桌面应用——形成三足鼎立、互不越界的评估结构。原生形态区别于 Hub/WSL2 的关键正是下文四个类别所列举的“Windows 本地机制”Scheduled Task、netsh、.cmd/.vbs启动器、PowerShell 引导与“Native-vs-WSL 的边界划分”。完整度评分视角这个评分面在评估什么评分参考文件 native-windows-cli-and-gateway.md 属于.agents/skills/claw-score技能树中的 Completeness 评分语料。它的作用并非直接罗列命令而是为native-windows-cli-and-gateway这一 surface 定义“类别范围”即评估人员应当核查的完整功能面。该文件只给出了 Category Scope 而未附带专属的 Surface-Specific Questions 或 Guidance因此在评分时套用 SKILL.md 中的Default Completeness Process目标操作者能否端到端完成该类别的完整工作流生命周期各阶段setup、normal operation、status/inspection、recovery、upgrade/removal是否齐备重要的平台/环境分支此处即原生 Windows 与 WSL、回环与局域网是否覆盖已知缺口是否导致主要用户可见能力分支缺失。完整度按Clawesome95-100、Stable80-95、Beta70-80、Alpha50-70、Experimental0-50五档评定且只评估“操作者可见的工作流是否存在”测试多寡归 Coverage、实现脆弱性归 Quality均不直接扣减 Completeness。四个类别的覆盖面在评分中彼此独立下面按类别逐一展开其实战内容。Setup从 PowerShell 引导到可运行网关的完整安装链Setup 类别要求评估一条端到端可走通的安装路径覆盖以下环节PowerShell 安装器、Node 与包管理器引导、npm 全局安装、打包 CLI 启动器、Windows 命令 shim、openclaw onboard、本地网关配置、守护进程安装参数以及“原生 vs WSL”的安装边界。PowerShell 安装器与验证三步曲原生 CLI 的官方安装入口是 PowerShell 远程执行安装脚本对应文档原文命令docs/platforms/windows.mdiwr -useb https://openclaw.ai/install.ps1 | iex安装后按“版本 → 体检 → 网关状态”三步验证环境是否就绪openclaw --version openclaw doctor openclaw gateway status --json--json输出形态是后续所有脚本化巡检Scheduled Task 状态判断、联网探针解析的数据基础。非交互 onboard终端友好的一次性引导在无托管服务、纯 CLI 使用场景下Setup 类别要求openclaw onboard支持非交互参数化引导避免脚本自动化被交互提示卡死openclaw onboard --non-interactive --accept-risk --skip-health openclaw gateway run--non-interactive关闭交互问答--accept-risk显式接受风险确认--skip-health跳过健康检查三者组合让 onboard 可无缝嵌入自动化脚本随后直接以前台模式openclaw gateway run拉起网关。Node、npm 与打包启动器的底层约定Node/包管理器引导与 npm 全局安装属于同一安装族CLI 以 npm 全局包方式提供安装后的可执行入口通过 Windows 命令 shim 暴露。从源码结构看仓库在 src/infra/openclaw-cli-shim.windows.test.ts、src/infra/windows-launcher-encoding.ts 与 src/cli/windows-argv.ts 中对 shim 行为做了专项测试与编码处理覆盖 Windows 下参数解析与启动器文件编码的差异src/infra/windows-install-roots.ts 则集中管理 Windows 安装根目录是判断“包安装到何处、锁文件放哪里”的实现锚点。这些文件的存在印证了 Setup 类别所列举的 CLI shim、launcher、package locks 等检查项均有代码与测试落地。Native-vs-WSL 边界同一命令不同宿主Setup 类别专门设置了“Native-vs-WSL setup boundary”检查点同一条openclaw gateway install在原生 Windows 上注册的是 Scheduled Task在 WSL2 内则落地为 systemd 用户服务。平台文档的对应说明是WSL2 仍是 Windows 上 Linux 兼容性最好的网关运行时原生形态则适合终端优先、不想引入 Linux 子系统的用户两条路线互不干扰评估时应分别走通各自 setup 而不混用证据。Gateway Management托管、前台运行与 Windows 原生状态机Gateway Management 是四个类别中内容最重的一环评分面要求覆盖openclaw gateway子命令族、前台运行时的健康/就绪检查、Windows 特有的重启/信号处理、非托管前台模式、openclaw gateway install、网关启动器文件、Scheduled Task 运行状态、Startup-folder 回退、openclaw status、Windows 服务巡检与安装后诊断。托管安装Scheduled Task 启动器文件openclaw gateway install在原生 Windows 上并不注册传统 Windows Service而是采用“计划任务 启动器文件”组合docs/platforms/windows.md可读的gateway.cmd脚本保留在 OpenClaw 状态目录中便于人工排查实际启动经由生成的gateway.vbsWScript 包装器间接拉起从而让后台网关不弹出可见控制台窗口当计划任务创建被系统拒绝时自动回退为“每用户启动文件夹Startup-folder”登录项。从源码结构看src/daemon/windows-task-supervisor-contract.ts 定义了 Windows 任务监管的契约形态src/infra/windows-task-restart.ts配套 windows-task-restart.test.ts承载任务重启逻辑印证了“重启/信号处理”这一 Windows 特有检查点不是概念而是已实现能力。状态读取的语言无关性Task Scheduler 数值状态Windows 网关状态巡检有一个非常关键的实现约定openclaw gateway status与 Doctor 直接读取Scheduled Task 的数值型当前状态因此结果不受 Windows 显示语言或控制台代码页影响。同时平台文档给出了三条状态语义红线任务“上次退出结果”不能证明它此刻正在运行判断运行态必须依据当前状态“Queued排队”或“Unknown未知”的任务不得被 Doctor 视为“可安全停止”停止排队任务应通过其服务所有者操作若巡检权限不可达需先恢复 Task Scheduler 的巡检权限再重试。这套语义直接服务评分面中的 “Scheduled Task runtime status” 与 “Windows service inspection” 两个检查点是原生 Windows 与 WSL2/Linux systemd 状态机最大的差异来源。前台模式与非托管形态对不想引入托管服务的用户网关可以前台直跑openclaw gateway run该命令对应评分面中的 “Foreground runtime health/readiness” 与 “Unmanaged foreground mode”——前台模式下健康/就绪信息直接输出到当前控制台配合openclaw gateway status --json即可完成非托管场景的巡检闭环。安装后诊断Post-install diagnostics则依赖openclaw doctor对网关、任务状态、目录权限做一次性体检。权限与目录SQLite 私有目录与 ACLWindows 上还需验证一类安全相关的启动行为网关启动时通过 Windows API 创建私有 SQLite 暂存目录不编译 C#、也不拉起 PowerShell 设置权限。目录创建后保留 Owner、SYSTEM 与 Administrators 的完全控制权其余继承访问权在创建时即被移除。实现锚点为 src/security/windows-acl.ts 及其测试 windows-acl.test.ts。若杀毒软件仍中断启动官方排查姿势是上报其检测名称 openclaw gateway status --json输出。Networking回环、局域网与 WSL 的边界组网Networking 类别要求覆盖四件事原生 Windows 主机端口绑定、netsh interface portproxy端口转发、网关状态与探针输出以及 Loopback / LAN / WSL 的边界判定。绑定地址决定可达边界端口绑定地址直接决定网关可达域127.0.0.1仅本机回环可达安全默认0.0.0.0面向局域网LAN开放供局域网内其他设备访问远程节点必须指向可达的网关 URL不能指向127.0.0.1。netsh 端口代理与防火墙联动在原生 Windows 与 WSL 的组网场景中平台文档给出了标准转发配方WSL 拥有独立虚拟网络其 IP 在重启后可能变化因此对外暴露 WSL 服务需要“Windows 端口 → 当前 WSL IP”的动态转发。管理员 PowerShell 示例docs/platforms/windows.md$Distro Ubuntu-24.04 $ListenPort 2222 $TargetPort 22 $WslIp (wsl -d $Distro -- hostname -I).Trim().Split( )[0] if (-not $WslIp) { throw WSL IP not found. } netsh interface portproxy add v4tov4 listenaddress0.0.0.0 listenport$ListenPort connectaddress$WslIp connectport$TargetPort New-NetFirewallRule -DisplayName WSL SSH $ListenPort -Direction Inbound -Protocol TCP -LocalPort $ListenPort -Action Allownetsh interface portproxy负责端口级转发New-NetFirewallRule负责放行入站流量二者缺一不可。仓库在 src/infra/windows-gateway-firewall-diagnostics.ts含 windows-gateway-firewall-diagnostics.test.ts实现了网关侧防火墙诊断可推断该能力用于把“端口通了但防火墙拦截”这类问题自动化定位出来是 Networking 类别“Gateway status and probe output”检查点的实现支撑。状态与探针以可机读输出为准Networking 类别同样要求以openclaw gateway status --json这类可机读探针输出作为事实来源而非依赖人类可读的本地化文本——这与前文“语言无关的数值状态读取”一脉相承在多宿主组网Loopback/LAN/WSL场景里只有结构化的状态与探针输出才能被脚本可靠消费。Updates原生包的更新闭环与包锁Updates 类别聚焦四个更新相关的操作者工作流原生 Windows 包上的openclaw update、托管网关的停止/重启、分离式detached更新交接以及 Windows 包锁package locks。更新期间托管网关的编排原生 Windows 上的更新不是“覆盖文件”这么简单更新必须先停止受管网关Scheduled Task 托管的实例完成包替换再重启网关且这一“停止→替换→重启”需要在脱离更新进程的情况下可靠交接否则更新进程的退出会中断重启动作。评分面要求该交接链可端到端验证。从源码证据看src/infra/windows-install-roots.ts 承担 Windows 安装根与包锁相关管理src/commands/doctor-update.windows-recovery.test.ts 验证了 Windows 上更新与恢复路径的专项行为可推断仓库将“原生包更新 Windows 特有恢复”作为一等公民对待而非套用 POSIX 逻辑。与安装器同源的启动器编码约定更新重启所复用的.cmd/.vbs启动器同样受 src/infra/windows-launcher-encoding.ts 的编码处理约束更新流程不会引入运行期 C# 编译或Invoke-Expression这类易被安全软件拦截的动态执行手段。若更新/启动仍被杀软打断报告时应附带杀软检测名称与openclaw gateway status --json输出。如何用本评分面驱动成熟度评估若要实际参与 OpenClaw 的成熟度打分明细可遵循 SKILL.md 的标准评分工作流在 taxonomy.yaml 中读取对应 surface 的定义与completeness_instructions指向阅读本评分参考即 native-windows-cli-and-gateway.md从 docs、源码、测试与 QA 场景元数据中收集公开证据本文引用的 Windows 文档与src/infra、src/daemon、src/security系列文件即属此类仅在证据充分时更新 qa/maturity-scores.yaml 中的 Quality / Completeness / LTS 状态运行 schema 校验命令并在文档措辞变更时执行pnpm check:docs。需要再次强调的是本评分面只针对操作者可见的完整工作流且“原生 Windows”的证据不得与 WSL2 或 Windows Hub 的证据混用。只有在 Setup / Gateway Management / Networking / Updates 四个类别各自的 happy path、关键分支与恢复路径都齐全时才应在 Completeness 上给到Stable及以上档位反之若只覆盖了安装成功这一条主路径、缺少 Scheduled Task 状态语义、netsh 边界或更新交接等分支则应当相应下调这正是本评分参考文件存在的意义——把“Windows 上能不能真正跑起来”还原为可逐项核验的工程清单。【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考