OpenClaw-Linux 部署教程

OpenClaw-Linux 部署教程

OpenClaw-Linux 部署教程

📋 目录

  1. 核心认知:为什么选择 OpenClaw
  2. 部署前准备:环境与工具
  3. 方案 A:阿里云一键部署(推荐小白)
  4. 方案 B:Linux 手动部署全流程
  5. 核心步骤:对接飞书机器人
  6. 常用运维命令速查
  7. 常见问题排查 (FAQ)

1. 核心认知:为什么选择 OpenClaw

OpenClaw 是运行在本地服务器上的高权限 AI 智能体,相比云端 SaaS 服务,其核心优势在于:

  • 数据隐私:数据完全本地化,自主可控。
  • 高权限操作:支持执行 Shell 命令、读写文件、编写代码、控制浏览器。
  • 多平台集成:原生支持飞书、Telegram、WhatsApp 等。
  • 持久记忆:记住用户偏好和上下文。

2. 部署前准备:环境与工具

2.1 硬性环境要求

项目要求备注
操作系统Linux (推荐) / macOS / Windows (WSL2)本文以 Linux 为例
Node.js≥ 22.x必须,低版本会安装失败
内存≥ 2GB (建议 4GB)2GB 内存必须配置虚拟内存
网络可访问 GitHub, npm国内服务器建议配置镜像源或代理
AI 模型通义千问 (Qwen) / OpenAI 等 API Key推荐通义千问,有免费额度

2.2 必备凭证

  1. 通义千问 API Key:登录 阿里云百炼控制台 创建。
  2. 飞书开放平台账号:用于创建自建应用。
  3. 服务器信息:公网 IP、SSH 账号密码。

3. 方案 A:阿里云一键部署(推荐小白)

如果您使用阿里云轻量应用服务器,可使用此方案,几分钟即可完成。

  1. 购买实例
    • 访问 OpenClaw 一键部署页面
    • 选择 OpenClaw 镜像
    • 配置建议:2核2GB 及以上,地域推荐美国弗吉尼亚或中国香港(网络更通畅)。
  2. 配置 API Key
    • 在服务器控制台“应用详情”页,点击 一键放通 端口 18789
    • 输入之前创建的 百炼 API Key 并执行配置命令。
  3. 访问面板
    • 生成 Token 后,点击“打开网站页面”或通过 http://公网IP:18789 访问。
    • 输入 Token 即可开始使用。

4. 方案 B:Linux 手动部署全流程

适合所有 Linux 环境,步骤稍多但灵活性更高。

4.1 安装基础依赖

1. 安装 Git

sudoapt update sudoaptinstallgit -y git --version 

2. 安装 Node.js (v22+)
推荐使用 NVM 管理版本:

# 国内用户使用 Gitee 镜像源安装 NVMcurl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh |bash# 加载环境变量source ~/.bashrc # 安装并使用 Node.js 22 nvm install22 nvm use 22# 验证版本node -v # 应显示 v22.x.xnpm -v 

3. 配置虚拟内存 (2GB 内存服务器必做)
防止安装过程中因内存不足 (OOM) 导致失败:

# 创建 2G 交换文件sudo fallocate -l 2G /swapfile sudochmod600 /swapfile sudomkswap /swapfile sudoswapon /swapfile # 设置开机自动挂载echo'/swapfile none swap sw 0 0'|sudotee -a /etc/fstab # 验证free -h 

4.2 安装 OpenClaw

执行官方一键安装脚本:

curl -fsSL https://openclaw.bot/install.sh |bash
注意:首次安装耗时约 5-10 分钟,请勿中断。若提示 npm install failed,请检查虚拟内存是否生效。

4.3 初始化配置向导

安装完成后会自动进入向导 (openclaw onboard),按以下步骤操作:

  1. 安全确认:输入 Yes 确认知晓风险。
  2. 模式选择:选择 QuickStart (快速配置)。
  3. 模型选择:选择 Qwen (OAuth) (通义千问)。
  4. 授权登录
    • 终端会显示一个 URL 和验证码。
    • 本地浏览器打开该 URL,登录通义千问账号并授权。
    • 授权成功后,终端会自动继续。
  5. 模型确认:选择 Keep current 保持默认模型。
  6. 通道配置:选择 Skip for now (稍后单独配置飞书)。
  7. 技能配置:选择 No (稍后安装)。
  8. 启动方式:选择 Hatch in TUI 进入终端聊天测试。
    • 输入 Hello 测试响应。
    • Ctrl + C 退出终端界面。

4.4 访问 Web 管理面板

OpenClaw 默认监听本地端口 18789,需通过 SSH 隧道访问:

  1. 访问:复制输出的链接 (含 token) 到本地浏览器打开。

获取带 Token 的链接 (在服务器终端执行):

openclaw dashboard 

本地终端执行 (替换为您的用户名和 IP):

ssh -N -L 18789:127.0.0.1:18789 用户名@服务器公网IP 

5. 核心步骤:对接飞书机器人

5.1 飞书开放平台配置

  1. 创建应用
    • 登录 飞书开放平台,进入“开发者后台” -> “创建企业自建应用”。
    • 填写名称(如 OpenClaw),上传图标。
  2. 获取凭证
    • 在“凭证与基础信息”中,复制 App IDApp Secret
  3. 添加机器人能力
    • 点击“应用能力” -> 添加“机器人”。
  4. 开通权限 (关键):
    • 进入“权限管理”,搜索并开通以下权限:
      • contact:user.base:readonly (获取用户信息)
      • im:message (发送接收消息,勾选全部子项)
      • im:chat (获取群组信息)
  5. 配置事件订阅
    • 进入“事件与回调” -> “事件配置”。
    • 订阅方式选“使用长连接”。
    • 添加事件:im.message.receive.v1 (接收消息)。
  6. 发布应用
    • 进入“应用发布”,创建版本并发布(个人版自动通过)。

5.2 OpenClaw 配置飞书通道

    • 在通道列表中选择 Feishu/Lark (飞书)
    • 选择 Download from npm 安装插件。
  1. 填入凭证
    • 粘贴飞书 App ID
    • 粘贴飞书 App Secret
  2. 配置策略
    • 域名:选择 Feishu (feishu.cn)
    • 群聊策略:选择 Open (允许在所有群被 @ 响应)。
    • 私聊策略:保持默认 Open

重启服务
配置完成后,务必重启网关使配置生效:

openclaw gateway restart 

选择飞书

报错处理:若提示 Cannot find module 'zod',请执行:

重新进入配置向导

openclaw onboard 

(依次确认安全风险、QuickStart 模式、模型配置,直到通道选择页)

5.3 验证

在飞书中搜索机器人名称,发送 Hello,若收到回复即表示对接成功。


6. 常用运维命令速查

命令功能描述
openclaw status查看运行状态
openclaw dashboard获取 Web 面板访问链接
openclaw gateway restart重启服务 (修改配置后必用)
openclaw onboard重新进入配置向导
openclaw update更新到最新版本
openclaw doctor诊断并修复常见问题
openclaw skills install <名字>安装新技能插件
openclaw uninstall卸载 OpenClaw

7. 常见问题排查 (FAQ)

Q1: 安装时提示 npm install failed 或卡住?

  • 原因:内存不足。
  • 解决:检查是否已配置 2GB 虚拟内存 (free -h 查看 Swap 行)。若未配置,请按 4.1.3 步骤配置后重试。

Q2: 飞书机器人无响应?

  • 检查清单
    1. 飞书应用是否已发布(版本状态为“已上线”)?
    2. im:message 等权限是否已开通
    3. App ID 和 Secret 是否填写正确?
    4. 是否执行了 openclaw gateway restart

查看日志

# 查看技能运行日志dockerexec -it openclaw-2026 tail -f /opt/openclaw/logs/skills/run.log # 或者查看系统日志 journalctl -u openclaw-gateway -f 

Q3: Web 面板无法访问?

  • 原因:SSH 隧道断开或 Token 失效。
  • 解决
    1. 确保本地终端的 SSH 隧道命令正在运行。
    2. 在服务器执行 openclaw dashboard 获取最新带 Token 的链接。

Q4: openclaw 命令提示 command not found

  • 解决:执行 source ~/.bashrc 刷新环境变量,或关闭终端重开。

Read more

探秘 C++ list:在复杂数据管理的编程世界里,它宛如灵动的魔法链条,高效实现元素频繁增删,有序维系数据秩序,无论是海量动态数据缓存、游戏角色属性集处理,还是复杂任务调度编排

探秘 C++ list:在复杂数据管理的编程世界里,它宛如灵动的魔法链条,高效实现元素频繁增删,有序维系数据秩序,无论是海量动态数据缓存、游戏角色属性集处理,还是复杂任务调度编排

🌟个人主页:落叶  🌟当前专栏:C++专栏 目录 list的介绍及使用 list的介绍 list的使用  list的构造  构造的list中包含n个值为val的 元素  构造空的list 拷贝构造函数  用[first, last)区间中的元素构造 list list iterator的使用  【begin+end】 【rbegin+ rend】反向迭代器  list capacity 【empty】检测list是否为空 【size 】返回list中有效节点的个数  list element access 【front】返回list的第一个节点中值的引用 【back 】返回list的最后一个节点中值的引用   list modifiers 【push_front】在list首元素前插入值为val的元素 【pop_front】删除list中第一个元素 【push_back】在list尾部插入值为val的元素

By Ne0inhk
【Linux】Linux 地址空间 + 页表映射的概念解析

【Linux】Linux 地址空间 + 页表映射的概念解析

前言:欢迎各位光临本博客,这里小编带你直接手撕**,文章并不复杂,愿诸君**耐其心性,忘却杂尘,道有所长!!!! IF’Maxue:个人主页  🔥 个人专栏: 《C语言》 《C++深度学习》 《Linux》 《数据结构》 《数学建模》 ⛺️生活是默默的坚持,毅力是永久的享受。不破不立! 文章目录 * Linux线程解析 * 一、进程与线程的核心区别 * 二、地址空间:线程共享的“窗口” * 三、线程的本质:多执行流并行 * 四、Linux为什么用进程模拟线程? * 五、其他平台的线程实现 * 六、Linux线程的调度与称呼 * 七、资源划分:共享与独占 * 八、物理内存管理:4KB页框 * 页框的地址计算 * 申请物理内存的本质 * 九、虚拟地址与页表映射 * 32位虚拟地址的划分(经典两级页表)

By Ne0inhk
【Linux】网络基础(一)

【Linux】网络基础(一)

文章目录 * 网络发展 * 认识协议 * 🚩网络协议 * 🚩协议分层 * OSI七层协议 * 🚩TCP/IP五层(四层)协议 * 🚩网络传输基本流程 * 🚩数据包的封装和解包 * MAC地址 网络发展 起初计算机是用在军事上的 独立模式: 计算机之间相互独立 网络互联:多台计算机连接在一起实现网络互联 局域网LAN:计算机数量越来越多了,通过交换机和路由器连接在一起 广域网WAN:将远隔千里之外的的计算机连接在一起 所谓局域网广域网是相对概念,我们家庭路由器就可以看作局域网,把家家户户连接的社区就是广域网。社区看作局域网,把社区连接的就是广域网,中国网络看作局域网,连接世界就是广域网 认识协议 协议是一种约定 计算机之间通过光信号电信号交流,通过频率强弱来代表0和1,要想传递不同信息,就要约定好数据格式,比如000代表什么信息 要想多台计算机之间相互通信,就要约定共同的标准,这就是网络协议 🚩网络协议 🚩协议分层 打电话的例子,语言层汉语有协议,通信设备层也有协议 英语之间交流

By Ne0inhk
Flutter 三方库 jao 的鸿蒙化适配指南 - 实现极简的对象映射(Object Mapping)逻辑、支持数据传输对象(DTO)与领域实体的高效转换

Flutter 三方库 jao 的鸿蒙化适配指南 - 实现极简的对象映射(Object Mapping)逻辑、支持数据传输对象(DTO)与领域实体的高效转换

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 jao 的鸿蒙化适配指南 - 实现极简的对象映射(Object Mapping)逻辑、支持数据传输对象(DTO)与领域实体的高效转换 前言 在进行 Flutter for OpenHarmony 的分层架构开发时,我们经常需要在 API 响应模型(DTO)与业务领域实体(Domain Entity)之间进行数据转换。虽然手动编写转换逻辑可以胜任,但随着业务复杂度增加,代码中会充斥大量重复的赋值语句。jao 是一个主打极简风格的对象映射库。本文将探讨如何在鸿蒙端利用该库提升模型转换的效率。 一、原理解析 / 概念介绍 1.1 基础原理 jao 的核心思想是通过定义声明式的映射规则,利用 Dart 的扩展方法(Extension Methods)

By Ne0inhk