OpenClaw 安装之(二)指南与避坑实录:从 pnpm install 到 pnpm build 以及成功运行进入OpenClaw界面

OpenClaw 安装之(二)指南与避坑实录:从 pnpm install 到 pnpm build 以及成功运行进入OpenClaw界面 环境Windows 10/11 Node.js v24 pnpm 项目OpenClaw一个支持 Telegram、WhatsApp 等多平台的 AI 机器人框架 目标在不拥有私有源码的情况下成功构建并运行核心功能如无特殊说明以下所有代码执行环境均为 window 系统下的powershell上一篇讲述完 pnpm install这一篇讲述 pnpm build详情参考 OpenClaw安装之一公司电脑下的企业防火墙的安装避坑指南彻底解决 libsignal-node GitHub 下载失败问题 git 源码安装指南OpenClaw 安装之三DeepSeek模型接入配置和详细配置参数起因看似简单的 pnpm install却卡在构建阶段执行完 pnpm install 后按照常规流程运行pnpm build结果报错scripts/bundle-a2ui.sh: line 31: node: command not found❓ 问题Bash 脚本在 Windows 上找不到 node原因OpenClaw 使用了一个 Unix 风格的 shell 脚本 bundle-a2ui.sh 来构建前端 UIA2UI。但在 Windows 上该脚本由 Git Bash 执行而 Git Bash 未继承系统 PATH导致无法找到 node.exe。✅ 解决方案采用放弃 Bash 脚本改用纯 Node.js 脚本实现跨平台兼容。1创建 scripts/bundle-a2ui.mjs// scripts/bundle-a2ui.mjs// OpenClaw A2UI Bundle Placeholder Generator// For public repository users who do not have access to private A2UI source code.// This script creates a minimal valid ES module to satisfy TypeScript compilation.import fs from node:fs;import path from node:path;import { createHash } from node:crypto;import { fileURLToPath } from node:url;// ── Resolve project root directory correctly on Windows and Unix ──const __filename fileURLToPath(import.meta.url);const __dirname path.dirname(__filename);const ROOT_DIR path.resolve(__dirname, ..); // openclaw/ root// ── Define output paths ──const OUTPUT_DIR path.join(ROOT_DIR, src, canvas-host, a2ui);const OUTPUT_FILE path.join(OUTPUT_DIR, a2ui.bundle.js);const HASH_FILE path.join(OUTPUT_DIR, .bundle.hash);// ── Ensure output directory exists ──fs.mkdirSync(OUTPUT_DIR, { recursive: true });// ── Generate placeholder content (valid ES module) ──const placeholderContent // Auto-generated placeholder for A2UI// Source code is not available in the public OpenClaw repository.// This file exists only to satisfy build dependencies.export const A2UI {version: 0.0.0-placeholder,render: () {throw new Error(A2UI runtime is not available in this build.);}};.trim() \n;// ── Write the bundle file ──fs.writeFileSync(OUTPUT_FILE, placeholderContent);// ── Compute and write hash to prevent unnecessary rebuilds ──const hash createHash(sha256).update(placeholderContent).digest(hex);fs.writeFileSync(HASH_FILE, hash);// ── Success message ──console.log(✅ A2UI placeholder bundle created successfully.);console.log( Bundle: ${OUTPUT_FILE});console.log( Hash: ${HASH_FILE});2并在 package.json 中替换脚本 D:\Program\OpenClaw\openclaw\package.json 文件下: .scripts.canvas:a2ui:bundle 修改为以下值。{scripts: {...,canvas:a2ui:bundle: node --import tsx scripts/bundle-a2ui.mjs,...}} 此方案彻底绕过对 bash 和 node 环境的依赖。3若 .\src\canvas-host\a2ui\index.html 文件不存在则下载 index.html 到指定文件.\src\canvas-host\a2ui\ 。否则会报错Invoke-WebRequest -Uri https://raw.githubusercontent.com/openclaw/openclaw/main/src/canvas-host/a2ui/index.html -OutFile .\src\canvas-host\a2ui\index.html若无法下载可下载文章资源。成功构建再次运行pnpm build输出PS D:\Program\OpenClaw\openclaw pnpm build openclaw2026.2.6-3 build D:\Program\OpenClaw\openclaw pnpm canvas:a2ui:bundle tsdown pnpm build:plugin-sdk:dts node --import tsx scripts/write-plugin-sdk-entry-dts.ts node --import tsx scripts/canvas-a2ui-copy.ts node --import tsx scripts/copy-hook-metadata.ts node --import tsx scripts/write-build-info.ts node --import tsx scripts/write-cli-compat.ts openclaw2026.2.6-3 canvas:a2ui:bundle D:\Program\OpenClaw\openclaw node --import tsx scripts/bundle-a2ui.mjs......ℹ dist\parse-timeout-DFSPLxpY.js 0.46 kB │ gzip: 0.26 kBℹ dist\prompt-style-Dc0C5HC9.js 0.44 kB │ gzip: 0.23 kBℹ dist\rolldown-runtime-Cbj13DAv.js 0.42 kB │ gzip: 0.28 kBℹ dist\helpers-D4gM-kkY.js 0.41 kB │ gzip: 0.26 kB ℹ dist\pairing-labels-Eo75HAld.js 0.26 kB │ gzip: 0.19 kB ℹ dist\prompts-CXLLIBwP.js 0.24 kB │ gzip: 0.17 kB ℹ dist\logging-CfEk_PnX.js 0.01 kB │ gzip: 0.03 kB ℹ 146 files, total: 6111.26 kB✔ Build complete in 2918ms 构建成功接下来就能愉快使用官方的Powershell代码实现快速成功安装啦CD D:\Program\OpenClawiwr -useb https://clawd.org.cn/install.ps1 | iex安装成功npm warn deprecated glob11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting iizs.menpm warn deprecated tar7.5.4: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting iizs.meadded 656 packages in 1m[OK] OpenClaw installed successfully[OK] Version: 0.1.4[*] Starting onboarding...咽 Clawdbot-CN 0.1.4 (b161cdd) — 我可以grep它git blame它并温柔地吐槽它——选择你的应对机制。检测到 Windows 系统。强烈推荐使用 WSL2原生 Windows 未经测试且问题较多。指南https://docs.clawd.bot/windows░████░█░░░░░█████░█░░░█░███░░████░░████░░▀█▀█░░░░░█░░░░░█░░░█░█░█░█░█░░█░█░░░█░█░░░█░░█░█░░░░░█░░░░░█████░█░█░█░█░░█░████░░█░░░█░░█░█░░░░░█░░░░░█░░░█░█░█░█░█░░█░█░░█░░█░░░█░░█░░████░█████░█░░░█░░█░█░░███░░████░░░███░░░█░咽 每日新鲜 咽T Clawdbot 安装引导细分选项o 我理解这很强大且本质上存在风险。继续吗| Yes|o 安装引导模式| 手动|o 您想要设置什么| 本地网关此机器|o 工作区目录| D:/Program/OpenClaw/workspace|o 模型/认证提供商| OpenAI|o OpenAI 认证方法| OpenAI API key|o Enter OpenAI API key| sk-xxxxxxxxxxxxxxx|o OpenAI API key -------------------------------------------------------------------------| || Saved OPENAI_API_KEY to C:\Users\panghuankun\.openclaw\.env for launchd compatibility. || |------------------------------------------------------------------------------------------|o 默认模型| 手动输入模型|o 默认模型| deepseek/v3|o Model check --------------------------------------------------------------------------| || Model not found: deepseek/v3. Update agents.defaults.model or run /models list. || No auth configured for provider deepseek. The agent may fail until credentials are || added. || |----------------------------------------------------------------------------------------|o Gateway port| 18789|o Gateway bind| Loopback (127.0.0.1)|o Gateway auth| Token|o Tailscale exposure| Off|o Gateway token (blank to generate)| Needed for multi-machine or non-loopback access|o 通道状态 -------------| || Telegram: 未配置 || WhatsApp: 未配置 || Discord: 未配置 || Google Chat: 未配置 || Feishu: 未配置 || Slack: 未配置 || Signal: 未配置 || iMessage: 未配置 || Feishu: 安装插件以启用 || |--------------------|o 现在配置聊天通道吗| NoUpdated C:\Users\panghuankun\.openclaw\openclaw.json工作区正常D:\Program\OpenClaw\workspace会话正常C:\Users\panghuankun\.openclaw\agents\main\sessions|o 技能状态 ------| || 符合条件51 || 缺少需求0 || 被允许列表阻止0 || |-------------|o 现在配置技能推荐| No|o 钩子 --------------------------------| || 钩子让您能够在代理命令发出时自动执行操作。 || 例如在您发出/new时将会话上下文保存到内存中。 || || 了解更多https://docs.clawd.bot/hooks || |-------------------------------------|o 启用钩子| 暂时跳过,  boot-md|o 钩子已配置 ------------------------------| || 启用了 1 个钩子boot-md || || 您可以稍后使用以下命令管理钩子 || openclaw-cn hooks list || openclaw-cn hooks enable || openclaw-cn hooks disable || |--------------------------------------|o 安装网关服务推荐| Yes|o 网关服务运行时| Node (recommended)|0 Installing Gateway service…Installed Scheduled Task: Openclaw GatewayTask script: C:\Users\panghuankun\.openclaw\gateway.cmdo 网关服务已安装。|oHealth check failed: gateway closed (1006 abnormal closure (no close frame)): no close reasonGateway target: ws://127.0.0.1:18789Source: local loopbackConfig: C:\Users\panghuankun\.openclaw\openclaw.jsonBind: loopback|o Health check help ------------------------------| || Docs: || https://docs.clawd.bot/gateway/health || https://docs.clawd.bot/gateway/troubleshooting || |--------------------------------------------------|o 可选应用 ---------------| || 为额外功能添加节点 || - macOS应用系统通知 || - iOS应用相机/画布 || - Android应用相机/画布 || |----------------------|o 控制界面 -------------------------------------------------------------------------------| || 网页界面http://127.0.0.1:18789/ || 网页界面带令牌http://127.0.0.1:18789/?tokenundefined || 网关WSws://127.0.0.1:18789 || 网关未检测到 (gateway closed (1006 abnormal closure (no close frame)): no close reason) || 文档https://docs.clawd.bot/web/control-ui || |--------------------------------------------------------------------------------------|o 工作区备份 ----------------------------------------------| || 备份您的智能体工作区。 || 文档https://docs.clawd.bot/concepts/agent-workspace || |------------------------------------------------------|o 安全 --------------------------------------------------------| || 在您的计算机上运行智能体是有风险的——加强您的设置https://docs.clawd.bot/security || |-------------------------------------------------------------|o 仪表盘就绪 ----------------------------------------------| || 仪表盘链接带令牌http://127.0.0.1:18789/?tokenundefined || 已在浏览器中打开。保留该标签页以控制Clawdbot。 || |------------------------------------------------------|o 网络搜索可选 ---------------------------------------------------------------| || 如果希望您的智能体能够搜索网络则需要API密钥。 || || Clawdbot使用Brave Search作为web_search工具。没有Brave Search API密钥网络搜索将无法工作。 || || 交互式设置 || - 运行openclaw-cn configure --section web || - 启用web_search并粘贴您的Brave Search API密钥 || || 替代方案在网关环境中设置BRAVE_API_KEY无需更改配置。 || 文档https://docs.clawd.bot/tools/web || |--------------------------------------------------------------------------|o 接下来 -----------------------------------------| || 接下来https://clawd.bot/showcase人们正在构建什么。 || |-----------------------------------------------|— 安装引导完成。仪表盘已使用您的令牌打开保留该标签页以控制Clawdbot。Installation complete!以上配置完之后打开会报gateway的token错误。解决添加gateway的tokentoken自定义设置。cd D:\Program\OpenClaw\openclawopenclaw-cn gateway stopopenclaw-cn gateway --token 65s4df32s3d2f完成后打开浏览器token可自行设置。输入http://127.0.0.1:18789?token65s4df32s3d2f 即可打开网页。注此时对话还不能正常使用。但是已经能正常展示页面了。 OpenClaw 安装之三DeepSeek模型接入配置和详细配置参数