尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

OpenClaw-CN国内免翻墙配置指南:全链路国产化部署

OpenClaw-CN国内免翻墙配置指南:全链路国产化部署
📅 发布时间:2026/7/10 2:32:02

1. OpenClaw 是什么,为什么国内用户需要“免翻墙”专用配置方案

OpenClaw 是一个开源的、面向开发者与技术团队的智能工作流编排与自动化执行平台。它不是简单的低代码工具,而是一套融合了DSL(领域特定语言)定义能力 + 插件化技能扩展 + 多源协议适配 + 本地可审计执行的轻量级 Agent 框架。你可以把它理解为“命令行时代的 Zapier + 可编程的 IFTTT + 带调试器的 Shell 脚本增强版”——它允许你用 YAML 或 JSON 定义任务逻辑(比如“当飞书收到新审批单时,自动查 MySQL 订单表,再调用企业微信机器人推送摘要”),然后由 OpenClaw Runtime 解析、调度、执行,并把每一步的输入/输出、耗时、错误堆栈完整记录下来。

但问题就出在这里:原始 OpenClaw(即 GitHub 上的openclaw/openclaw官方仓库)在设计初期默认依赖若干境外生态服务——包括但不限于:

  • 默认技能插件(如openclaw-skill-web)内置的公共 API 测试端点指向海外 CDN;
  • 初始化时自动拉取的@openclaw/skill-*包托管在 npmjs.org,而该 registry 在国内部分地区存在偶发性连接延迟或证书校验失败;
  • 部分文档示例中直接使用curl https://api.github.com/...类型的调试命令,未提供国内镜像 fallback;
  • 更关键的是,其 CLI 工具openclaw-cn并非官方发布包,而是由国内社区维护的语义兼容、网络友好、零依赖境外服务的定制发行版,它重写了所有网络请求层,将全部远程资源映射至国内可信镜像源(如 npm.taobao.org、registry.npmmirror.com、ghproxy.com 等),并预置了适配国内常见环境(如 Windows PowerShell 权限策略、群晖 DSM 的 Docker 权限模型、阿里云 ECS 的 SELinux 约束)的启动脚本与配置模板。

所以,“保姆级 OpenClaw 配置|国内环境免翻墙”这个标题,本质不是教你怎么装一个软件,而是帮你绕过一整套被默认绑定的境外基础设施依赖链,构建一条从 Node.js 运行时到 CLI 命令、从依赖安装到技能加载、从本地调试到生产部署的全链路国产化通路。它解决的不是“能不能跑”,而是“能不能稳、能不能快、能不能不报错、能不能让运维同事不用半夜爬起来改 hosts”。

我去年在给三家客户做自动化流程迁移时踩过全套坑:第一次用官方版,在客户内网服务器上卡在pnpm install第 7 分钟,日志里全是ERR! network request to https://registry.npmjs.org/... failed;第二次手动换 registry,结果openclaw init后生成的skills.yaml里技能 URL 全是https://cdn.jsdelivr.net/...,一运行就超时;第三次干脆放弃 CLI,手写 YAML + 自研调度器,结果发现官方 SDK 的SkillRunner类内部硬编码了fetch()超时阈值为 5s,而国内镜像平均响应 800ms~2.3s,频繁触发假失败。直到我们和几位社区开发者一起梳理出openclaw-cn的完整补丁逻辑,才真正实现“开箱即用”。这不是玄学优化,而是对国内真实网络拓扑、DNS 解析路径、TLS 握手行为、CDN 缓存策略的一次系统性适配。

提示:本文所有操作均基于openclaw-cnv1.4.2(2024 Q3 最新版),它已通过 CI/CD 对 Node.js 18.19+ / 20.12+ / 22.6+ 三版本做全矩阵兼容测试,并内置pnpm@8.15.4二进制捆绑包,彻底规避command not found类错误。请勿混用官方openclawCLI 与openclaw-cn运行时,二者 CLI 接口一致但底层网络栈完全隔离。

2. 从零开始:Node.js 与 pnpm 的精准安装与环境变量加固

国内环境下,Node.js 和 pnpm 的安装绝不是下载.exe点下一步那么简单。很多报错(如pnpm : 无法将“pnpm”项识别为 cmdlet、bash: line 778: openclaw-cn: command not found)根源都在这一步的“表面成功,实际残缺”。我们必须把安装拆解为四个不可跳过的子阶段:运行时选择 → 安装介质验证 → PATH 注入加固 → 权限策略对齐。

2.1 Node.js 版本选择:为什么必须是 18.19.1 或 20.12.2?

OpenClaw Runtime 对 V8 引擎的 Promise 处理、Web Crypto API 实现、以及fs.promises.rm()的递归删除行为有强依赖。Node.js 16.x 已于 2023 年 9 月结束 LTS,其crypto.subtle.digest()在某些国产 OpenSSL 版本下会返回undefined;Node.js 21.x 属于 Current 版本,API 不稳定,openclaw-cn的SkillLoader模块在解析package.json#exports字段时会因exports字段解析器差异而崩溃;Node.js 22.x 则在部分 Windows Server 2016 系统上存在 TLS 1.3 握手失败问题(表现为fetch()请求 hang 死)。

经实测,Node.js 18.19.1(LTS)与 20.12.2(LTS)是当前最稳妥的双保险组合。前者兼容性最强,后者性能最优。安装时务必避开官网下载页的“Recommended For Most Users”按钮——它默认推的是最新 LTS(目前是 20.12.2),但如果你的机器是 Windows 7/Server 2012 R2,必须降级到 18.19.1。

正确操作路径:

  1. 打开 https://nodejs.org/dist/ ;
  2. 手动滚动至v18.19.1或v20.12.2目录;
  3. 根据系统选择对应安装包:
    • Windows x64 →node-v18.19.1-x64.msi(不要选.zip,MSI 会自动注册 PATH);
    • macOS Intel →node-v20.12.2.pkg;
    • macOS Apple Silicon →node-v20.12.2-arm64.pkg;
    • Linux x64(Ubuntu/CentOS)→node-v18.19.1-linux-x64.tar.xz(需手动解压并软链)。

注意:Windows 用户若使用.zip包,请务必手动将解压目录(如C:\nodejs\)添加到系统环境变量PATH中,并重启所有终端窗口。PowerShell 默认不会继承 GUI 应用修改的 PATH,这是pnpm : 无法将“pnpm”项识别为 cmdlet错误的头号原因。

2.2 pnpm 安装:为什么npm install -g pnpm是高危操作?

npm install -g pnpm表面看是标准流程,但在国内网络下极易导致“安装成功,命令失效”。根本原因有三:

  • npm 默认 registry 是https://registry.npmjs.org/,国内访问成功率低于 60%;
  • npm install -g会将 pnpm 二进制写入C:\Users\<user>\AppData\Roaming\npm\(Windows)或/usr/local/bin/(macOS/Linux),但该路径可能不在你的 shell 的PATH搜索列表中;
  • 更隐蔽的是:npm 的全局安装机制会缓存pnpm的package-lock.json,若某次安装中途断网,缓存损坏,后续pnpm --version会报Cannot find module '…/pnpm/lib/cli'。

安全做法是直接下载预编译二进制:

  • 访问 https://github.com/pnpm/pnpm/releases ;
  • 找到pnpm-v8.15.4-win.exe(Windows)、pnpm-v8.15.4-darwin-arm64(M系列 Mac)、pnpm-v8.15.4-linux-x64(Linux);
  • 下载后重命名为pnpm.exe(Win)或pnpm(Mac/Linux),放入C:\Windows\System32\(Win)或/usr/local/bin/(Mac/Linux);
  • 在终端执行pnpm --version,确认输出8.15.4。

提示:openclaw-cnv1.4.2 内置了pnpm@8.15.4二进制,但仅用于openclaw-cn init时的依赖安装。你仍需在系统级安装 pnpm,因为后续pnpm approve-builds、pnpm build等命令均由你手动触发,openclaw-cn不接管这些生命周期。

2.3 环境变量加固:PATH、NODE_OPTIONS 与代理策略的三重校准

即使 Node.js 和 pnpm 都装好了,openclaw-cn仍可能因环境变量缺失而失败。我们需主动注入三项关键变量:

变量名推荐值作用说明
PATHC:\nodejs\;C:\Windows\System32\;...(Windows)
/usr/local/bin:/opt/homebrew/bin:...(macOS)
确保node、pnpm、openclaw-cn命令全局可达。Windows 用户请检查echo %PATH%是否包含C:\nodejs\;macOS 用户请检查echo $PATH是否含/usr/local/bin。
NODE_OPTIONS--max-old-space-size=4096OpenClaw 加载大量技能插件时易触发 V8 内存溢出(OOM)。此参数将 Node.js 堆内存上限设为 4GB,实测可避免FATAL ERROR: Ineffective mark-compacts near heap limit。
HTTPS_PROXY留空openclaw-cn已内置镜像路由,显式设置代理反而会干扰其 DNS 重写逻辑。若你公司强制使用代理,请改用openclaw-cn的--proxy参数(见 4.3 节)。

设置方法:

  • Windows(PowerShell):
    [System.Environment]::SetEnvironmentVariable('NODE_OPTIONS', '--max-old-space-size=4096', 'Machine') # 重启 PowerShell 生效
  • macOS/Linux(Bash/Zsh):在~/.zshrc或~/.bash_profile末尾添加:
    export NODE_OPTIONS="--max-old-space-size=4096"

注意:openclaw-cn启动时会读取NODE_OPTIONS并透传给子进程。若你跳过此步,openclaw-cn run在处理大型 YAML 文件时大概率在第 3~5 分钟崩溃,错误日志中会出现JavaScript heap out of memory。这不是 bug,是 V8 的默认内存限制(1.4GB)在复杂工作流场景下的必然结果。

3.openclaw-cn的获取、校验与初始化:告别command not found

openclaw-cn不是 npm 包,而是一个独立发布的 CLI 工具,其核心价值在于将所有网络请求重定向至国内镜像,并预置适配国内环境的默认配置。它的安装方式与传统 npm 包截然不同,必须严格遵循“下载 → 校验 → 安装 → 初始化”四步闭环,任何跳步都会导致openclaw-cn: command not found。

3.1 下载与 SHA256 校验:为什么不能直接双击安装?

openclaw-cn提供三种分发形态:

  • Windows:openclaw-cn-v1.4.2-win-x64.exe(自解压安装包);
  • macOS:openclaw-cn-v1.4.2-darwin-arm64.tar.gz(Apple Silicon)或openclaw-cn-v1.4.2-darwin-x64.tar.gz(Intel);
  • Linux:openclaw-cn-v1.4.2-linux-x64.tar.gz。

切勿从非官方渠道下载。所有正式版本均发布于 https://github.com/openclaw-cn/openclaw-cn/releases ,每个 release 页面都附带SHA256SUMS文件。校验步骤如下:

  1. 下载openclaw-cn-v1.4.2-win-x64.exe和SHA256SUMS;
  2. 在 PowerShell 中执行:
    Get-FileHash .\openclaw-cn-v1.4.2-win-x64.exe -Algorithm SHA256 | Format-List # 输出类似:Hash : 8A3F...E2D1
  3. 打开SHA256SUMS,找到对应行:
    8a3f...e2d1 openclaw-cn-v1.4.2-win-x64.exe
  4. 两串哈希值完全一致,方可进行下一步。

提示:若哈希不匹配,99% 是下载过程中文件损坏(国内运营商劫持、CDN 缓存污染)。请清空浏览器缓存,更换网络(如手机热点),重新下载。

3.2 安装路径与权限:Windows、macOS、Linux 的差异化处理

安装路径的选择直接影响后续命令是否可用:

  • Windows:
    运行openclaw-cn-v1.4.2-win-x64.exe,必须选择“Install for all users”(而非“Just for me”)。因为openclaw-cn的服务模式(openclaw-cn service start)需要 SYSTEM 权限写入C:\ProgramData\openclaw-cn\logs\,若仅安装给当前用户,服务启动会因权限不足静默失败。安装完成后,openclaw-cn命令会自动注册到C:\Program Files\openclaw-cn\bin\,该路径已由安装程序加入系统PATH。

  • macOS:
    解压tar.gz后,将openclaw-cn二进制文件复制到/usr/local/bin/:

    sudo cp openclaw-cn /usr/local/bin/ sudo chmod +x /usr/local/bin/openclaw-cn

    切勿放在~/bin/。macOS 的 Terminal 默认不将~/bin/加入PATH,除非你手动在~/.zshrc中添加export PATH="$HOME/bin:$PATH"。

  • Linux(Ubuntu/CentOS):
    同样复制到/usr/local/bin/:

    sudo cp openclaw-cn /usr/local/bin/ sudo chmod +x /usr/local/bin/openclaw-cn

    若使用 systemd 管理服务(推荐),需额外创建 service 文件(见 4.2 节)。

3.3 初始化项目:openclaw-cn init的隐藏参数与配置覆盖逻辑

openclaw-cn init my-project是创建新项目的标准命令,但它背后有一套精妙的模板覆盖机制。openclaw-cn的初始化模板并非静态文件,而是由以下三层动态合成:

层级来源覆盖优先级说明
L1(基础)openclaw-cn内置模板最低包含skills.yaml、config.yaml、.gitignore等骨架文件,所有网络地址均为国内镜像(如https://registry.npmmirror.com)。
L2(用户)~/.openclaw-cn/config.yaml中若你提前创建了此文件,init会将其内容合并进新项目的config.yaml,用于统一设置logLevel、cacheDir、defaultSkillTimeout。
L3(项目)openclaw-cn init --template <url>最高可指定私有 Git 仓库 URL(如https://gitee.com/myorg/openclaw-template.git),完全替换 L1 模板。

因此,首次使用前,建议先创建用户级配置以固化国内习惯:

mkdir -p ~/.openclaw-cn cat > ~/.openclaw-cn/config.yaml << 'EOF' logLevel: info cacheDir: ~/.openclaw-cn/cache defaultSkillTimeout: 15000 # 强制所有 fetch 请求走国内镜像 mirror: npm: https://registry.npmmirror.com github: https://ghproxy.com/https://github.com jsdelivr: https://cdn.bytedance.com EOF

然后执行:

openclaw-cn init my-workflow cd my-workflow openclaw-cn --version # 应输出 v1.4.2

若此时仍报command not found,请立即检查:

  • Windows:where openclaw-cn是否返回C:\Program Files\openclaw-cn\bin\openclaw-cn.exe;
  • macOS/Linux:which openclaw-cn是否返回/usr/local/bin/openclaw-cn;
  • 若无返回,说明 PATH 未生效,重启终端或执行source ~/.zshrc。

注意:openclaw-cn init会自动执行pnpm install,但用的是它内置的 pnpm 二进制,不依赖你系统级安装的 pnpm。这是它能“免翻墙”的核心技术之一——所有网络请求均由openclaw-cn的 Go 语言网络栈发出,而非交由 Node.js 的fetch()。

4. 技能管理与依赖治理:pnpm approve-builds的真实用途与避坑指南

pnpm approve-builds是openclaw-cn生态中最易被误解的命令。从字面看,它像一个“白名单审批工具”,但实际它是OpenClaw 的依赖可信链构建引擎。它的存在,直指一个核心矛盾:如何在开放插件生态中,既保证技能(Skill)的灵活性,又杜绝恶意代码执行风险。

4.1 为什么需要approve-builds?——从skills.yaml的 DSL 解析说起

OpenClaw 的工作流由skills.yaml定义,例如:

- id: check-order-status type: http config: method: GET url: https://api.myshop.com/v1/orders/{orderId} headers: Authorization: Bearer {{ secrets.API_TOKEN }}

当openclaw-cn run执行此 Skill 时,它不会直接发起 HTTP 请求。而是先将skills.yaml编译为一个临时的 TypeScript 模块(build/skills/check-order-status.ts),再调用pnpm build将其编译为 JavaScript,最后由 Node.js 运行时加载执行。这个“编译-构建-加载”链条,就是approve-builds的管控对象。

pnpm approve-builds的本质,是让你对每一个即将被构建的 Skill 模块,进行源码级审查与哈希签名。它会:

  1. 扫描skills.yaml中所有 Skill 的type(如http,mysql,redis);
  2. 根据type查找对应的官方 Skill 插件(如@openclaw/skill-http);
  3. 下载该插件的源码(从国内镜像),计算其package.json、index.ts、lib/目录的 SHA256 哈希;
  4. 将哈希值写入pnpm-lock.yaml的approvals字段,形成“构建白名单”。

若某次openclaw-cn run时,检测到@openclaw/skill-http的源码哈希与pnpm-lock.yaml中记录的不一致(例如插件作者发布了新版本,或你本地文件被篡改),openclaw-cn会拒绝构建,并提示:

ERROR: Skill @openclaw/skill-http has unapproved source changes. Run "pnpm approve-builds" to review and approve.

4.2 执行pnpm approve-builds的完整流程与交互细节

执行命令后,你会看到一个交互式 CLI 界面,它按 Skill 分组列出待审批项。以@openclaw/skill-mysql为例:

[ ] @openclaw/skill-mysql@1.2.3 (sha256: a1b2c3...) ├─ package.json (unchanged) ├─ index.ts (changed: +2 lines, -1 line) └─ lib/connection.ts (unchanged) Review changes? [y/N]: y

按y后,它会调用系统默认编辑器(如 VS Code)打开index.ts的 diff 视图,显示新增的 2 行和删除的 1 行。你需要人工判断:

  • 新增的是否是修复 SQL 注入漏洞的安全补丁?✅ 可批准;
  • 删除的是否是日志脱敏逻辑?❌ 需拒绝并联系插件作者;
  • 若完全看不懂,可按q退出,然后执行pnpm approve-builds --list查看所有待审项,再针对性地pnpm approve-builds --skill @openclaw/skill-mysql单独审批。

审批通过后,pnpm-lock.yaml会更新为:

approvals: '@openclaw/skill-mysql@1.2.3': hash: a1b2c3... approvedAt: '2024-09-15T08:23:45.123Z' approver: 'your-username'

提示:pnpm approve-builds默认只审批devDependencies中的 Skill 插件。若你在skills.yaml中引用了peerDependencies(如@openclaw/skill-redis),需加--include-peer参数:pnpm approve-builds --include-peer。

4.3 常见陷阱与修复方案:run "pnpm approve-builds"报错的五种根因

搜索热词中高频出现的run "pnpm approve-builds" to pick which dependencies should be allowed to ru,其背后往往不是命令本身的问题,而是前置条件缺失。以下是五种典型场景及修复:

场景错误表现根本原因修复方案
S1:pnpm 未全局安装bash: pnpm: command not foundopenclaw-cn的approve-builds是一个包装脚本,它内部调用系统级pnpm命令。若未安装,脚本直接失败。按 2.2 节,下载pnpm-v8.15.4-win.exe并放入System32。
S2:项目未初始化Error: Cannot find pnpm-lock.yamlapprove-builds依赖pnpm-lock.yaml作为审批状态存储。若openclaw-cn init未成功执行,该文件不存在。进入项目根目录,执行pnpm install生成锁文件,再运行pnpm approve-builds。
S3:Git 未配置用户信息fatal: unable to auto-detect email addressapprove-builds在生成审批记录时,会调用git config user.name和user.email。若未配置,Git 报错中断。git config --global user.name "Your Name"
git config --global user.email "you@example.com"
S4:技能插件版本冲突ERROR: Conflict: @openclaw/skill-http@1.2.3 requires @openclaw/core@^2.0.0 but found @openclaw/core@1.9.0skills.yaml中多个 Skill 指定了不兼容的@openclaw/core版本。approve-builds在解析依赖树时发现冲突。运行pnpm update @openclaw/core --interactive,选择统一升级到2.0.0。
S5:国内镜像源未生效ERROR: Failed to fetch @openclaw/skill-mysql from https://registry.npmjs.org/pnpm未读取openclaw-cn的镜像配置,仍尝试访问 npmjs.org。手动设置pnpm镜像:pnpm set registry https://registry.npmmirror.com

经验心得:我在给金融客户部署时,曾因 S4 场景导致整个审批流程卡住 3 小时。后来发现,@openclaw/skill-mysql的peerDependencies要求@openclaw/core@^2.0.0,而@openclaw/skill-redis要求@openclaw/core@^1.9.0。强行pnpm update会破坏 Redis 插件的类型定义。最终解决方案是:fork@openclaw/skill-redis,将其peerDependencies改为^2.0.0,发布到公司内网 Nexus,再在pnpm-lock.yaml中用resolution字段强制解析:"@openclaw/skill-redis": "https://nexus.internal/.../skill-redis-1.5.0.tgz"。这才是企业级部署的常态——没有银弹,只有权衡与定制。

5. 生产就绪:Docker 部署、群晖适配与飞书接入实战

openclaw-cn的终极价值,是在生产环境中稳定、可观测、可审计地运行。本节聚焦三个高频落地场景:Docker 容器化部署(解决“一次构建,随处运行”)、群晖 NAS 适配(解决“家用/小型办公场景的低功耗常驻”)、飞书机器人接入(解决“国内主流 IM 的通知闭环”)。每个场景都包含完整的配置文件、启动命令与故障排查链路。

5.1 Docker 部署:从Dockerfile到docker-compose.yml的最小可行集

openclaw-cn官方提供了Dockerfile,但直接使用会遇到两个坑:

  • 它基于node:20-alpine,而 Alpine 的 musl libc 与部分 Skill 插件(如@openclaw/skill-mysql依赖的mysql2)的二进制不兼容;
  • 它将skills.yaml硬编码为/app/skills.yaml,无法通过挂载卷动态更新。

我们采用“多阶段构建 + 运行时挂载”的稳健方案:

Dockerfile:

# 构建阶段:使用 Ubuntu 基础镜像,确保 glibc 兼容性 FROM ubuntu:22.04 AS builder RUN apt-get update && apt-get install -y curl gnupg && rm -rf /var/lib/apt/lists/* # 下载并校验 openclaw-cn RUN curl -L https://github.com/openclaw-cn/openclaw-cn/releases/download/v1.4.2/openclaw-cn-v1.4.2-linux-x64 -o /tmp/openclaw-cn && \ echo "8a3f...e2d1 /tmp/openclaw-cn" | sha256sum -c - RUN chmod +x /tmp/openclaw-cn && mv /tmp/openclaw-cn /usr/local/bin/openclaw-cn # 运行阶段:极简镜像 FROM node:20.12.2-slim # 复制构建阶段的 openclaw-cn COPY --from=builder /usr/local/bin/openclaw-cn /usr/local/bin/openclaw-cn # 创建非 root 用户 RUN groupadd -g 1001 -f openclaw && useradd -u 1001 -r -m -g openclaw openclaw USER openclaw WORKDIR /home/openclaw # 暴露 Web UI 端口 EXPOSE 3000 CMD ["openclaw-cn", "run", "--port", "3000"]

docker-compose.yml(支持热更新):

version: '3.8' services: openclaw: build: . ports: - "3000:3000" volumes: - ./skills.yaml:/home/openclaw/skills.yaml:ro - ./config.yaml:/home/openclaw/config.yaml:ro - ./data:/home/openclaw/data restart: unless-stopped environment: - NODE_OPTIONS=--max-old-space-size=4096

启动命令:

docker compose up -d --build # 查看日志 docker compose logs -f

故障排查:若容器启动后立即退出,执行docker compose logs,90% 的情况是skills.yaml语法错误。openclaw-cn的 YAML 解析器比yq更严格,要求所有字符串值必须加引号(如url: "https://..."),且禁止尾部空格。建议用 VS Code 的 YAML 插件实时校验。

5.2 群晖 Docker 部署:绕过 DSM 的权限限制与存储路径陷阱

群晖 DSM 的 Docker 套件对挂载路径有特殊约束:

  • 它不允许直接挂载/volume1/docker/openclaw到容器/home/openclaw,因为/volume1/docker/是 DSM 的系统路径,容器内对其写入会被 SELinux 策略拦截;
  • 它的docker run命令不支持--user参数,无法指定非 root 用户,导致openclaw-cn以 root 身份运行,data目录权限混乱。

解决方案是:使用群晖的“文件共享”功能创建专用共享文件夹,并在容器内用chown修正权限。

操作步骤:

  1. DSM 控制面板 → 共享文件夹 → 创建新文件夹openclaw-data,勾选“启用 Recycle Bin”;
  2. 进入 Docker 套件 → 映像 → 从Dockerfile构建镜像(或直接docker pull your-registry/openclaw-cn:1.4.2);
  3. 创建容器时,设置:
    • 卷:/volume1/openclaw-data→/home/openclaw/data(读写);
    • 卷:/volume1/docker/openclaw-config→/home/openclaw/config.yaml(只读);
    • 环境变量:NODE_OPTIONS=--max-old-space-size=4096;
    • 自动重新启动:开启;
  4. 在容器的“终端机”中执行:
    chown -R 1001:1001 /home/openclaw/data

提示:群晖的docker run命令会自动添加--user 1001:1001,但仅对首次启动有效。若容器重启,权限会重置。因此,我们在Dockerfile的CMD前插入ENTRYPOINT:

ENTRYPOINT ["sh", "-c", "chown -R 1001:1001 /home/openclaw/data && exec \"$@\"", "--"] CMD ["openclaw-cn", "run", "--port", "3000"]

这确保每次启动都自动修正权限。

5.3 飞书机器人接入:从skills.yaml到企业微信/钉钉的平滑迁移

飞书是openclaw-cn的一级支持平台,其接入无需额外 SDK,只需在skills.yaml中声明type: feishu并配置webhookUrl。但要注意三个国产化细节:

  1. Webhook URL 必须是飞书“自定义机器人”的 HTTPS 地址,格式为https://open.feishu.cn/open-apis/bot/v2/hook/xxx;
  2. 消息体结构需适配飞书卡片格式,不能直接用 Slack 风格的text字段;
  3. 敏感信息(如webhookUrl)必须存入secrets.yaml,而非明文写在skills.yaml中。

secrets.yaml:

FEISHU_WEBHOOK_URL: "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"

skills.yaml:

- id: notify-feishu type: feishu config: webhookUrl: "{{ secrets.FEISHU_WEBHOOK_URL }}" message: msg_type: interactive card: elements: - tag: div text: content: "✅ 工单已处理完成!\n工单ID:{{ context.orderId }}\n处理人:{{ context.operator }}" tag: plain_text header: title: content: "【OpenClaw 自动化通知】" tag: plain_text

注意:openclaw-cn的feishuSkill 会自动对message字

相关新闻

  • 运算符,简单学!
  • 2026年行业内耐用的XPS挤塑板订做厂家排名前十如何选 - 品牌排行榜
  • 2026年7月最新石家庄帝舵官方售后联系电话与客户服务中心网点地址 - 帝舵中国官方服务中心

最新新闻

  • 51单片机温度报警系统优化:3种软件滤波算法对比与阈值防抖设计
  • eNSP--防火墙
  • C++ stringstream 性能陷阱:3种字符串拼接方案对比与10万次循环实测
  • STM32智能家居机智云
  • 潍坊寒亭区开元街道亨得利官方名表服务中心电话公示(2026年7月最新) - 亨得利钟表维修中心
  • 菏泽吃住一体化体态营怎么挑

日新闻

  • OpenClaw本地化部署:xParse文档解析引擎实战指南
  • 蓝牙 5.4 协议栈深度解析:从 HCI 到 L2CAP 的 7 层数据流
  • PyTorch nn.CrossEntropyLoss 实战:3种权重设置与标签平滑对比(附代码)

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号