OpenClaw一键安装教程

复制代码
安装环境:
Ubuntu 22.04 64位 
openclaw:2026.3.7版本
Ubuntu用户:root

一、openclaw默认安装

1、运行Claw_setup.sh(看附录)

首先给脚本权限并且执行,完成openclaw安装。

2、查看openclaw状态以及日志是否存在报错

如果一切顺利那么就是正常安装完成

复制代码
# 查看服务状态
systemctl status openclaw

# 如果未运行,启动服务
systemctl start openclaw

查看监听状态
ss -tulpn | grep 18789
正常输出如下:
LISTEN 0      511         127.0.0.1:18789      0.0.0.0:*    users:(("node",pid=xxxxx,fd=xx))


日志查看:如果有问题发给AI解决
journalctl -u openclaw -n 50 --no-pager

3、配置文件路径

复制代码
/root/.openclaw/openclaw.json

可备份:
cp /root/.openclaw/openclaw.json /root/.openclaw/openclaw.json.bak

4、交互式配置model、channel

复制代码
openclaw configure

5、模型配置(选择就行,其他默认回车)...略

6、配置飞书

复制代码
# 交互式登录/配置飞书频道
openclaw models add

找到配置飞书的依次配置ID和Secret,正常情况下是能配置好的,如果遇到以下报错,请按如下步骤进行:

复制代码
报错信息:
◇  Plugin install ─────────────────────────────────────────────╮
│                                                              │
│  Failed to install @openclaw/feishu: plugin already exists:  │
│  /root/.openclaw/extensions/feishu (delete it first)         │
│                                                              │
├──────────────────────────────────────────────────────────────╯
Plugin install failed: plugin already exists: /root/.openclaw/extensions/feishu (delete it first)

解决方式,彻底清除存在的插件,重新安装飞书插件:

复制代码
1. 停止 OpenClaw 服务
systemctl stop openclaw

2. 彻底删除所有飞书插件目录(两个都要删)
# 删除用户全局安装的飞书插件
rm -rf /root/.openclaw/extensions/feishu
# 删除系统自带的飞书插件(避免冲突)
rm -rf /usr/lib/node_modules/openclaw/extensions/feishu

3. 清理 OpenClaw 插件缓存与配置
# 清理插件缓存目录(如果存在)
rm -rf /root/.openclaw/plugins/cache
# 重置插件配置(避免残留重复条目)
openclaw plugins reset feishu 2>/dev/null || true

4. 重新全局安装飞书插件(仅安装一次)
openclaw plugins install @openclaw/feishu

5. 手动安装缺失的飞书 SDK 依赖(关键步骤)
# 进入飞书插件目录
cd /root/.openclaw/extensions/feishu
# 安装 package.json 中定义的依赖(包括 @larksuiteoapi/node-sdk)
npm install

6. 验证插件加载状态
# 回到家目录
cd ~
# 查看插件列表,确认 feishu 状态为 loaded 或 disabled(不再是 error)
openclaw plugins list

7. 启动 OpenClaw 服务
systemctl start openclaw

8. 最后触发飞书频道交互式配置
openclaw models add

基本上就没问题了,飞书的配置就全部默认回车只需要配置ID和Secret即可。
但后续飞书对话中如果出现报错:
OpenClaw: access not configured.
Your Feishu user id: ou_xxxxxxxxxxx
Pairing code: PxxxxB
Ask the bot owner to approve with:
openclaw pairing approve feishu PxxxxB

那么执行如下命令:
openclaw pairing approve feishu PxxxxB
systemctl restart openclaw

二、飞书配置

1、访问飞书开发者平台:https://open.feishu.cn/app

2、创建应用

3、添加机器人

4、导入权限配置

复制代码
{
  "scopes": {
    "tenant": [
      "contact:user.base:readonly",
      "contact:user.employee_id:readonly",
      "contact:user.id:readonly",
      "contact:contact.base:readonly",
      "im:chat",
      "im:chat.access_event.bot_p2p_chat:read",
      "im:chat.members:read",
      "im:chat.moderation:read",
      "im:chat.tabs:read",
      "im:chat.tabs:write_only",
      "im:chat.top_notice:write_only",
      "im:chat:moderation:write_only",
      "im:chat:operate_as_owner",
      "im:chat:read",
      "im:chat:readonly",
      "im:chat:update",
      "im:message",
      "im:message.group_at_msg:readonly",
      "im:message.group_msg",
      "im:message.p2p_msg:readonly",
      "im:message.pins:read",
      "im:message.pins:write_only",
      "im:message.reactions:read",
      "im:message.reactions:write_only",
      "im:message.urgent",
      "im:message.urgent.status:write",
      "im:message:readonly",
      "im:message:send_as_bot",
      "im:message:send_multi_depts",
      "im:message:send_multi_users",
      "im:message:send_sys_msg",
      "im:message:update",
      "im:resource",
      "im:url_preview.update",
      "im:user_agent:read",
      "passport:session_mask:readonly"
    ],
    "user": []
  }
}

5、添加事件回调

openclaw配置好基础信息中的ID和Secret后,这里就能够配置回调了。

添加事件:

6、发布,完成飞书的创建

注意:

默认情况下,openclaw安装完成是本地127.0.0.1启动,不建议公网开放,那么如果要访问web端http://127.0.0.1:18789的话,可使用frp。

ECS云端:运行frpc和frps

  1. 上传并解压 frp

    登录 ECS,下载 frp(若无法访问 GitHub,可手动上传压缩包)

    cd /root
    wget https://github.com/fatedier/frp/releases/download/v0.67.0/frp_0.67.0_linux_amd64.tar.gz

    解压并重命名(简化路径)

    tar -zxvf frp_0.67.0_linux_amd64.tar.gz
    mv frp_0.67.0_linux_amd64 frp
    cd frp

  2. ECS 部署 frps,配置 frps.ini(服务端配置)

frp 0.67.0 仍支持 ini 格式(仅警告,不影响功能),编辑配置文件:

复制代码
vim frps.ini

粘贴以下内容:

复制代码
[common]
# frps 监听端口(需开放安全组)
bind_port = 7000
# 可选:仪表盘端口(用于查看 frp 状态,无需可注释)
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123
# 可选:日志级别(debug/info/warn/error)
log_level = info
log_file = ./frps.log
  1. 启动

    前台启动测试(查看是否报错,按 Ctrl+C 停止)

    ./frps -c ./frps.ini

    后台持久化运行(推荐)

    nohup ./frps -c ./frps.ini > frps.log 2>&1 &

    验证 frps 是否启动

    ps -ef | grep frps

    正常输出:root 12345 1 0 10:00 ? 00:00:00 ./frps -c ./frps.ini

  2. ECS 部署 frpc,配置 frpc.ini(客户端配置)

    vim frpc.ini

粘贴以下内容:

复制代码
[common]
# ECS 公网 IP(frps 部署地址)
server_addr = 1.1.1.1
# 与 frps.ini 的 bind_port 一致
server_port = 7000
# 可选:日志配置
log_level = info
log_file = ./frpc.log

# SOCKS5 代理配置(核心)
[socks5_proxy]
type = tcp
# 开放的公网端口(对应安全组 1080)
remote_port = 1080
# frp 内置 SOCKS5 插件
plugin = socks5
# 可选:SOCKS5 认证(增强安全性,建议配置)
plugin_user = user
plugin_passwd = passwd
# 超时时间(可选)
plugin_timeout = 60
  1. 启动 frpc

    前台启动测试(查看连接日志,按 Ctrl+C 停止)

    ./frpc -c ./frpc.ini

    后台运行(推荐)

    nohup ./frpc -c ./frpc.ini > frpc.log 2>&1 &

    验证 frpc 是否启动

    ps -ef | grep frpc

    正常输出:root 12346 1 0 10:01 ? 00:00:00 ./frpc -c ./frpc.ini

    查看 frpc 日志(确认连接成功)

    tail -f frpc.log

    成功日志:connect to server success | [socks5_proxy] start proxy success

本地客户端:配置 Proxifier

  1. 安装 Proxifier

​ 下载 Proxifier(建议官网或可信渠道),安装后打开软件。

  1. 添加 SOCKS5 代理服务器

    1. 点击顶部菜单「Profile」→「Proxy Servers」→「Add」;
    2. 配置代理服务器参数:
    • Address:填写 ECS 公网 IP(如1.1.1.1);
    • Port:填写 1080;
    • Protocol:选择 SOCKS5
    • 勾选「Enable」;
    • 若 frpc.ini 配置了 plugin_user/plugin_passwd,点击「Credentials」→「Add」,填写用户名(user)和密码(passwd)。
  2. 点击「Check」测试连通性,提示「Proxy Server is reachable」即为成功;

  3. 点击「OK」保存。

  4. 配置代理规则(核心:让访问 127.0.0.1:18789 走代理)

  5. 点击顶部菜单「Profile」→「Proxification Rules」→「Add」;

  6. 配置规则参数:

    • Name:自定义(如 ECS-18789);

    • Applications:可选(仅让指定程序走代理,如浏览器,默认全量);

    • Target Hosts:填写 127.0.0.1(因为要访问 ECS 的 localhost:18789);

    • Target Ports:填写 18789

    • Action:选择「Proxy SOCKS5_Proxy」(即上一步添加的代理服务器);

  7. 点击「OK」保存,确保规则优先级高于默认规则。

最后,在本地客户端打开浏览器,访问http://127.0.0.1:18789

其他

关于openclaw的权限问题,如果有被限制权限的话(为了安全起见,还是请注意权限控制),解决方案如下:

1、执行命令

bash 复制代码
openclaw config set tools.profile full

2、在web界面中,Agent处进行修改,全部开启即可

附录

安装脚本:Claw_setup.sh

复制代码
#!/bin/bash
# ==============================================
# 阿里云 ECS Ubuntu 22.04 LTS OpenClaw 全自动部署脚本
# 适配 root 用户,仅监听 127.0.0.1:18789,配合 FRP 隧道使用
# ==============================================

set -e

# --------------------------
# 前置校验:拦截不符合要求的环境
# --------------------------
echo "===== 1. 环境前置校验 ====="
# 校验是否为root用户
if [ "$(id -u)" -ne 0 ]; then
    echo "错误:必须使用root用户运行此脚本!"
    exit 1
fi
# 校验是否为Ubuntu 22.04系统
if ! grep -q "Ubuntu 22.04" /etc/os-release; then
    echo "错误:此脚本仅适配Ubuntu 22.04 LTS系统!"
    exit 1
fi
echo "✅ 环境校验通过,符合安装要求"

# --------------------------
# 系统基础优化与依赖安装
# --------------------------
echo -e "\n===== 2. 系统基础配置与依赖安装 ====="
# 优化apt源超时设置,适配阿里云ECS
echo "Acquire::http::Timeout \"30\";" > /etc/apt/apt.conf.d/99timeout
echo "Acquire::https::Timeout \"30\";" >> /etc/apt/apt.conf.d/99timeout
# Git SSH 访问问题,强制使用 HTTPS
git config --global url."https://github.com/".insteadOf ssh://git@github.com/
git config --global url."https://".insteadOf git://
# 更新系统并安装必备依赖
apt update -y
apt install -y curl git build-essential ca-certificates
echo "✅ 系统依赖安装完成"

# --------------------------
# 安装Node.js 22(OpenClaw强制要求版本)
# --------------------------
echo -e "\n===== 3. 安装Node.js 22 LTS ====="
# 导入nodesource官方公钥与源,适配Ubuntu 22.04
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/nodesource.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" > /etc/apt/sources.list.d/nodesource.list
# 安装Node.js
apt update -y
apt install -y nodejs
# 配置国内npm镜像,加速安装,避免超时
npm config set registry https://registry.npmmirror.com
# 校验安装结果
NODE_VERSION=$(node -v)
NPM_VERSION=$(npm -v)
echo "✅ Node.js安装完成,版本:$NODE_VERSION,npm版本:$NPM_VERSION"

# --------------------------
# 全局安装最新版OpenClaw
# --------------------------
echo -e "\n===== 4. 安装OpenClaw最新版 ====="
npm install -g openclaw@latest
# 校验安装结果
OPENCLAW_PATH=$(which openclaw)
OPENCLAW_VERSION=$($OPENCLAW_PATH --version)
echo "✅ OpenClaw安装完成,路径:$OPENCLAW_PATH,版本:$OPENCLAW_VERSION"

# --------------------------
# 初始化配置(关键步骤)
# --------------------------
echo -e "\n===== 5. 初始化 OpenClaw 配置 ====="
# 先停止可能存在的旧服务
systemctl stop openclaw 2>/dev/null || true
# 生成基础配置(非交互式)
mkdir -p /root/.openclaw
# 仅本地监听,关闭跨域限制,配合 FRP 使用
cat > /root/.openclaw/openclaw.json <<EOF
{
  "gateway": {
    "mode": "local",
    "bind": "loopback",
    "port": 18789,
    "auth": {
      "mode": "none"
    },
    "controlUi": {
      "enabled": true,
      "dangerouslyAllowHostHeaderOriginFallback": true
    }
  }
}
EOF
echo "✅ 配置文件生成完成"

# --------------------------
# 创建systemd系统服务
# --------------------------
echo -e "\n===== 6. 创建OpenClaw系统服务 ====="
# 生成服务文件,动态获取路径
cat > /etc/systemd/system/openclaw.service <<EOF
[Unit]
Description=OpenClaw AI Gateway Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root
# 【核心修改】去掉 --bind lan,仅使用默认本地监听
Environment="OPENCLAW_SKIP_SYSTEMD=1"
ExecStart=$OPENCLAW_PATH gateway run
Restart=always
RestartSec=5
StandardOutput=journal+console
StandardError=journal+console

[Install]
WantedBy=multi-user.target
EOF

# 加载服务、设置开机自启、启动服务
systemctl daemon-reload
systemctl enable openclaw
systemctl start openclaw
echo "✅ OpenClaw系统服务创建完成,已设置开机自启"

# --------------------------
# 最终部署结果校验
# --------------------------
echo -e "\n===== 7. 部署结果最终校验 ====="
sleep 3
# 校验服务运行状态
if systemctl is-active --quiet openclaw; then
    echo "✅ OpenClaw服务运行正常"
else
    echo "❌ 服务启动失败,请执行 journalctl -u openclaw -f 查看报错日志"
    exit 1
fi

# 校验端口监听状态(仅本地 127.0.0.1)
if ss -tulpn | grep -q "127.0.0.1:18789"; then
    echo "✅ 端口监听正常:127.0.0.1:18789"
else
    echo "❌ 端口监听失败,请检查服务日志"
    exit 1
fi

# --------------------------
# 部署完成输出
# --------------------------
echo -e "\n=============================================="
echo "🎉 OpenClaw 部署完成!"
echo -e "\n📌 本地访问地址:http://127.0.0.1:18789"
echo -e "\n⚠️  下一步操作:"
echo "  1. 配置 FRP 客户端,将本地 18789 端口映射出去"
echo "  2. 通过 FRP 隧道访问 Web 界面"
echo -e "\n常用运维命令:"
echo "查看服务状态:systemctl status openclaw"
echo "查看运行日志:journalctl -u openclaw -f"
echo "重启服务:systemctl restart openclaw"
echo "停止服务:systemctl stop openclaw"
echo "=============================================="

卸载脚本:uninstall_claw.sh

复制代码
#!/bin/bash
# ==============================================
# OpenClaw 完全卸载脚本(适配 Ubuntu 22.04 root 用户)
# ==============================================

set -e

# --------------------------
# 前置校验
# --------------------------
echo "===== 卸载前置校验 ====="
if [ "$(id -u)" -ne 0 ]; then
    echo "错误:必须使用 root 用户运行此脚本!"
    exit 1
fi

# --------------------------
# 二次确认
# --------------------------
echo -e "\n⚠️  警告:此操作将完全卸载 OpenClaw,包括:"
echo "  1. 停止并删除 systemd 服务"
echo "  2. 全局卸载 OpenClaw npm 包"
echo "  3. 删除配置目录 /root/.openclaw"
echo "  4. 清理相关日志"
echo -e "\n此操作不可逆,请确认是否继续?"
read -p "输入 yes 继续,其他键取消:" CONFIRM

if [ "$CONFIRM" != "yes" ]; then
    echo "✅ 已取消卸载"
    exit 0
fi

# --------------------------
# 执行卸载
# --------------------------
echo -e "\n===== 1. 停止 OpenClaw 服务 ====="
if systemctl is-active --quiet openclaw; then
    systemctl stop openclaw
    echo "✅ 服务已停止"
else
    echo "⚠️  服务未运行,跳过停止"
fi

echo -e "\n===== 2. 禁用并删除 systemd 服务 ====="
if systemctl is-enabled --quiet openclaw 2>/dev/null; then
    systemctl disable openclaw
    echo "✅ 服务已禁用开机自启"
fi

if [ -f /etc/systemd/system/openclaw.service ]; then
    rm -f /etc/systemd/system/openclaw.service
    systemctl daemon-reload
    systemctl reset-failed
    echo "✅ 服务文件已删除"
else
    echo "⚠️  服务文件不存在,跳过"
fi

echo -e "\n===== 3. 全局卸载 OpenClaw npm 包 ====="
if npm list -g openclaw >/dev/null 2>&1; then
    npm uninstall -g openclaw
    echo "✅ OpenClaw npm 包已卸载"
else
    echo "⚠️  OpenClaw npm 包未安装,跳过"
fi

echo -e "\n===== 4. 删除配置目录 ====="
if [ -d /root/.openclaw ]; then
    rm -rf /root/.openclaw
    echo "✅ 配置目录 /root/.openclaw 已删除"
else
    echo "⚠️  配置目录不存在,跳过"
fi

echo -e "\n===== 5. 清理残留进程(如有) ====="
pkill -f openclaw 2>/dev/null || true
echo "✅ 残留进程已清理"

# --------------------------
# 卸载完成
# --------------------------
echo -e "\n=============================================="
echo "🎉 OpenClaw 已完全卸载!"
echo -e "\n📌 说明:"
echo "  - Node.js 未卸载(如需卸载请手动执行:apt remove -y nodejs)"
echo "  - npm 配置未修改(如需清理请手动删除:/root/.npmrc)"
echo "=============================================="
相关推荐
阿杰学AI2 小时前
AI核心知识122—大语言模型之 直接偏好优化(简洁且通俗易懂版)
人工智能·算法·机器学习·ai·强化学习·dpo·直接优化偏好
克里斯蒂亚诺·罗纳尔达2 小时前
智能体学习22——智能体间通信(A2A)
人工智能·学习·ai
GISer_Jing2 小时前
前端动画技术全解析:从GIF到WebGPU
前端·ai·动画·webgl
爱分享的阿Q2 小时前
CEAI2026具身智能十五大方向-产业化路线图
ai
穿条秋裤到处跑2 小时前
java2AI系列:SpringAI 通过 Function Calling 接入外部系统
人工智能·ai
kyle~3 小时前
FANUC机械臂---PR位置寄存器(Position Register)
c++·机器人·fanuc
高铭杰3 小时前
hermes与hindsight
ai·hermes
FreeBuf_3 小时前
Codex 利用全局可写驱动接口破解三星电视获取 Root 权限
ai·codex·三星
cddchina3 小时前
解决 Ubuntu 上 Claude 登录验证问题
ai