↓跳过正文
  1. 文字/

Openclaw 全流程部署指南 (Discord 篇)

·1576 字·4 分钟
开发 Openclaw 配置指南 Discord
Kyo
作者
Kyo
0.5x~2x
目录

本文档适用于 Linux 服务器(如 CentOS, Ubuntu, OpenCloudOS)。
#

📋 目录
#

  1. 环境准备:创建用户与安装 Node.js
  2. Discord 设置:申请机器人与 Token
  3. OpenClaw 配置:白名单与 ID
  4. 进程守护:实现后台 24 小时运行
  5. 常见问题与故障排查 (FAQ)

第一阶段:环境准备
#

1. 创建用户并授权
#

以 root 身份登录服务器终端,执行:

# 1. 创建用户,取一个名字,比如'kyoyarn'
useradd -m kyoyarn

# 2. 设置密码 (passwd+用户名,密码需输入两次)
passwd kyoyarn

# 3. 赋予管理员权限(kyoyarn替换成你的用户名)
# 注意:CentOS/OpenCloudOS 通常用 wheel 组,Ubuntu 用 sudo 组
usermod -aG wheel kyoyarn
# 如果报错 "group 'wheel' does not exist",请尝试: usermod -aG sudo kyoyarn

2. 安装 Node.js (v18+)
#

OpenClaw 需要 Node.js 环境。 (如果服务器已有 Node.js v18 以上版本,可跳过此步)

# 切换到新用户进行操作(kyoyarn替换成你的用户名)
su - kyoyarn

# 使用 NVM 安装 Node.js (最稳妥的方式)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 刷新环境变量
source ~/.bashrc

# 安装并使用 Node v20
nvm install 20
nvm use 20

# 验证安装
node -v  # 应输出 v20.x.x

3. 安装 OpenClaw
#

# 全局安装 OpenClaw
npm install -g openclaw@latest

# 初始化配置目录
mkdir -p ~/.openclaw

# 验证安装
openclaw --version

第二阶段:Discord 设置
#

1. 创建应用
#

  1. 登录 Discord Developer Portal。
  2. 点击右上角 New Application,起个名字(如 MyOpenClaw)。
  3. 点击左侧菜单 Bot,点击 Reset Token。
    Reset Token for Discord Bot
  • 👉 立即复制并保存 Token(一旦关掉网页就看不到了)。

2. 开启特权意图 (关键步骤)
#

在 Bot 页面向下滚动到 Privileged Gateway Intents,必须开启以下三项:

  • ✅ Presence Intent
  • ✅ Server Members Intent
  • ✅ Message Content Intent (不开这个,机器人就是聋子)
  • 点击 Save Changes。
    Enable Privileged Gateway Intents for Discord Bot

3. 生成邀请链接
#

  1. 点击左侧 OAuth2 -> URL Generator。

  2. Scopes 勾选:bot。

    scopes for Bot

  3. Bot Permissions 视自己需要勾选,以下几个是必需的:

  • Read Messages/View Channels
  • Send Messages
  • Read Message History
    Generate Invite Link for Discord Bot
  1. 复制生成的 URL,在浏览器打开,把机器人拉进你的服务器。

第三阶段:OpenClaw 配置
#

1. 获取 ID (需开启开发者模式)
#

在 Discord 软件设置 -> Advanced -> 开启 Developer Mode。

Enable Developer Mode

  • Guild ID (服务器 ID):右键左侧服务器图标 -> Copy Server ID。
    Get Guild ID
  • Channel ID (频道 ID):右键你要对话的频道 -> Copy Channel ID。
    Get Channel ID

2. 写入配置文件
#

使用 nano 编辑配置文件:

nano ~/.openclaw/openclaw.json

复制并修改以下内容(注意替换 Token 和 ID):

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "你的_DISCORD_TOKEN_粘贴在这里",
      "groupPolicy": "allowlist",
      "guilds": {
        "你的_服务器ID_粘贴在这里": {
          "channels": {
            "你的_频道ID_粘贴在这里": {
              "allow": true
            }
          }
        }
      }
    }
  },
  "gateway": {
    // 允许通过 http://服务器IP:4000 访问控制台
    "bind": "0.0.0.0"
  }
}

按 Ctrl + O 回车保存,按 Ctrl + X 退出。

3. 初步测试
#

先不要开后台,手动跑一次看看通不通:

openclaw gateway
  • 观察日志是否显示 Gateway connected。
  • 去 Discord 发个 hello,看有没有回复。
  • 测试成功后,按 Ctrl + C 停止。

第四阶段:进程守护 (后台运行)
#

使用 Systemd 托管服务,确保 SSH 断开后程序依然运行,且开机自启。

1. 开启用户驻留 (Linger)
#

防止用户注销后进程被系统杀掉。

# 确保你是 kyoyarn 用户
loginctl enable-linger $(whoami)

2. 设置运行时变量
#

export XDG_RUNTIME_DIR=/run/user/$(id -u)

(建议将这行加到 ~/.bashrc 文件底部,以免下次登录失效)

3. 注册并启动服务
#

# 1. 安装服务
openclaw daemon install

# 2. 启动服务
openclaw daemon start

# 3. 检查状态
openclaw daemon status

看到绿色的 Active: active (running) 即大功告成!🎉


第五阶段:常见问题与故障排查 (FAQ)
#

Q1: Discord 回复 “Agent failed… permission denied /root/…”
#

原因:这是典型的迁移后遗症。虽然你是 kyoyarn 用户,但配置文件里还残留着 /root 的路径。 解决: 运行以下命令批量替换所有配置文件中的路径:

find ~/.openclaw -type f -exec sed -i "s|/root/.openclaw|/home/$(whoami)/.openclaw|g" {} +
# 替换完记得重启
openclaw daemon restart

Q2: 机器人在线,发消息完全没反应 (日志也静默)
#

原因:通常是 Discord 后台的 Message Content Intent 没开。 解决:去 Discord Developer Portal -> Bot -> 开启 Message Content Intent -> Save Changes。

Q3: 报错 “This channel is not allowed”
#

原因:白名单生效了,但你当前的频道 ID 没写进 openclaw.json。 解决:右键复制当前频道 ID,加到配置文件里,然后运行 openclaw daemon restart。

Q4: 如何查看实时报错?
#

命令:

journalctl --user -u openclaw -f

(按 Ctrl + C 退出查看)

Q5: 如何彻底停止或重启?
#

  • 重启(修改配置后):openclaw daemon restart
  • 停止(维护时):openclaw daemon stop

相关文章

用 Obsidian + Gemini + Azure TTS 实现笔记翻译、朗读自动化(2)
·1142 字·3 分钟
效率 Obsidian QuickAdd Gemini Azure TTS 英语学习