【大模型应用篇】用 OpenClaw + 飞书打造 7x24 小时服务器运维机器人

前言

本文基于OpenClaw,也是最近超火的可在本地运行的AI Agent网关,记录从零搭建通过飞书对话管理服务器运维机器人的全过程。该机器人支持随时随地通过飞书查看服务器状态、检索日志、管理进程,其核心机制在于:由OpenClaw将聊天平台(飞书等)的消息路由至大模型,模型调用本地工具(如Shell、文件系统、浏览器)执行相应任务,最终将结果自动返回至飞书会话中,实现自动化运维交互。

架构概览

飞书 App (WebSocket 长连接)

OpenClaw Gateway (服务器上 systemd 常驻)

AI 模型 (DeepSeek v3.2/GLM 4.7)

服务器 Shell (受白名单限制的命令执行)

核心组件:

  • OpenClaw Gateway:Agent 网关,管理会话、工具调用、渠道连接
  • 飞书插件:通过 WebSocket 长连接收发消息,无需公网回调地址
  • exec 工具:让 AI 在服务器上执行 shell 命令,支持白名单安全策略
  • 模型提供商:支持自定义 OpenAI 兼容 API,本文使用 OneRouter 提供的 DeepSeek V3.2

环境要求

  • Linux 服务器(本文使用 Ubuntu)
  • Node.js 22+
  • npm 10+
  • 飞书企业账号(可免费创建)
  • AI 模型 API(OpenAI / Anthropic / OpenRouter / 自定义兼容接口均可)

第一步:安装 OpenClaw

由于需要让机器人直接管理服务器上的服务,选择 npm 全局安装(裸机安装),而不是 Docker:

npm install -g openclaw

安装后确认 openclaw 命令可用。如果提示 command not found,需要把 npm 全局 bin 目录加入 PATH:

echo 'export PATH="HOME/.npm-global/bin:PATH"' >> ~/.bashrc

source ~/.bashrc

第二步:注册为 systemd 服务

让 Gateway 开机自启、后台常驻:

openclaw gateway install

openclaw gateway start

验证状态:

openclaw gateway status

第三步:配置模型提供商

编辑 ~/.openclaw/openclaw.json,添加模型配置。以 OneRouter + DeepSeek V3.2 为例:

{

"agents": {

"defaults": {

"model": {

"primary": "onerouter/deepinfra/deepseek-v3.2"

}

}

},

"models": {

"mode": "merge",

"providers": {

"onerouter": {

"baseUrl": "https://your-api-endpoint/v1",

"apiKey": "your-api-key",

"api": "openai-completions",

"models": [

{

"id": "deepinfra/deepseek-v3.2",

"name": "DeepSeek V3.2"

}

]

}

}

}

}

> 任何兼容 OpenAI API 格式的模型提供商都可以用这种方式接入。

第四步:接入飞书

4.1 创建飞书应用

  1. 访问 飞书开放平台,创建企业自建应用2
  2. 在 凭证与基础信息 页面,记下 App ID 和 App Secret
  3. 在 权限管理 中添加以下权限:
  • im:message --- 发送消息
  • im:message:send_as_bot --- 以机器人身份发送
  • im:message.p2p_msg:readonly --- 读取私聊消息
  • im:message.group_at_msg:readonly --- 读取群聊 @消息
  • im:resource --- 读取资源
  • contact:contact.base:readonly --- 读取联系人基本信息(可选,用于解析发送者名字)
  1. 在 应用能力 中启用 机器人

  2. 安装飞书插件:

openclaw plugins install @openclaw/feishu

4.2 配置飞书app信息

使用 CLI 向导:

openclaw channels add

选择 Feishu,输入 App ID 和 App Secret。也可以手动在 openclaw.json 中添加:

{

"channels": {

"feishu": {

"enabled": true,

"accounts": {

"main": {

"appId": "cli_xxxxx",

"appSecret": "your-app-secret"

}

}

}

}

}

4.3 重启并确认连接

openclaw gateway restart

openclaw logs --follow

看到以下日志说明飞书长连接成功:

feishu[main]: WebSocket client started

ws\] ws client ready

4.4 配置飞书事件订阅

回到飞书开放平台:

  1. 事件与回调 → 选 "使用长连接接收事件" → 保存
  2. 添加事件 im.message.receive_v1
  3. 版本管理与发布 → 创建版本 → 发布

> 注意:必须先启动 Gateway 建立长连接,飞书后台才能保存"长连接"订阅方式。

第五步:配置运维 Agent

5.1 设置 Agent 人设

编辑 ~/.openclaw/workspace/AGENTS.md,在原有内容基础上追加运维规则:

服务器运维规则

你同时是一个服务器运维助手,负责维护管理员在这台服务器上部署的服务。

工作范围

  • 只管理 /home/youruser/projects 目录下的项目和服务

  • 不要触碰其他用户的文件和服务

允许的操作

  • 查看日志、进程、服务状态、端口、磁盘/内存

  • 管理用户级服务(systemctl --user)

  • 工作目录下的文件操作

禁止的操作

  • rm -rf(用 trash 代替)

  • sudo 操作(除非明确要求)

  • 修改系统配置

  • 重启其他用户的服务

语言

  • 用中文回复

5.2 配置 exec 工具

在 openclaw.json 中添加工具配置,让 Agent 可以在服务器上执行命令:

{

"tools": {

"exec": {

"host": "gateway",

"security": "allowlist",

"ask": "off"

}

}

}

  • host: "gateway" --- 命令直接在服务器本机执行
  • security: "allowlist" --- 只允许白名单命令,安全可控
  • ask: "off" --- 不弹审批提示(7x24 自动化需要)

5.3 配置命令白名单

编辑 ~/.openclaw/exec-approvals.json,为 Agent 配置允许执行的命令:

{

"version": 1,

"defaults": {

"security": "allowlist",

"ask": "off",

"askFallback": "allowlist"

},

"agents": {

"main": {

"security": "allowlist",

"ask": "off",

"askFallback": "allowlist",

"allowlist": [

{ "pattern": "/usr/bin/bash" },

{ "pattern": "/usr/bin/sh" },

{ "pattern": "/usr/bin/ls" },

{ "pattern": "/usr/bin/cat" },

{ "pattern": "/usr/bin/tail" },

{ "pattern": "/usr/bin/head" },

{ "pattern": "/usr/bin/find" },

{ "pattern": "/usr/bin/du" },

{ "pattern": "/usr/bin/df" },

{ "pattern": "/usr/bin/free" },

{ "pattern": "/usr/bin/ps" },

{ "pattern": "/usr/bin/top" },

{ "pattern": "/usr/bin/ss" },

{ "pattern": "/usr/bin/netstat" },

{ "pattern": "/usr/bin/journalctl" },

{ "pattern": "/usr/bin/systemctl" },

{ "pattern": "/usr/bin/git" },

{ "pattern": "/usr/bin/docker" },

{ "pattern": "/usr/bin/node" },

{ "pattern": "/usr/bin/python3" }

]

}

}

}

> 重要:/usr/bin/bash 和 /usr/bin/sh 必须加上,否则带管道的命令无法执行。路径可能因系统而异,用 which <command> 确认。

第六步:测试

重启 Gateway 后在飞书里直接对机器人说话:

帮我看看服务器上哪些服务在运行

机器人会自动调用 systemctl、ps、ss 等命令,收集信息后返回一份结构化的服务器状态报告。

更多使用场景:

  • "查看 xxx 服务的最近日志"
  • "服务器磁盘还剩多少空间"
  • "帮我重启一下 xxx 服务"
  • "看看哪些端口在监听"

安全策略总结

层级 措施 说明
命令执行 allowlist 白名单 只允许指定的二进制文件
工作范围 AGENTS.md 规则 Agent 被指示只操作特定目录
飞书接入 pairing 配对 新用户需要管理员批准才能使用
系统权限 非 root 运行 Gateway 以普通用户身份运行

最终的 openclaw.json 结构

{

"plugins": { "entries": { "feishu": { "enabled": true } } },

"agents": {

"defaults": {

"model": { "primary": "your-provider/your-model" }

}

},

"models": {

"mode": "merge",

"providers": { "...": "..." }

},

"tools": {

"exec": {

"host": "gateway",

"security": "allowlist",

"ask": "off"

}

},

"channels": {

"feishu": {

"enabled": true,

"accounts": {

"main": {

"appId": "cli_xxxxx",

"appSecret": "your-secret"

}

}

}

},

"gateway": { "mode": "local" }

}

参考材料

【1】https://github.com/openclaw/openclaw

【2】https://developer.aliyun.com/article/1710355

相关推荐
大模型真好玩3 小时前
中美大模型“内战”都怎么打!一文详解Claude Opus 4.6和GPT-5.3 CodeX核心特性
人工智能·agent·deepseek
Hi202402173 小时前
在Docker容器中安全运行OpenClaw:无需虚拟机,体验AI助手
人工智能·安全·docker·openclaw
主机哥哥14 小时前
京东云OpenClaw快速部署教程,一键创建专属AI助手!
京东云·openclaw
qq_3161929515 小时前
OpenClaw 的长短期记忆体系概览
openclaw
孟健16 小时前
吹爆 OpenClaw!一个人 +6 个 AI 助理,我再也不想招人了
openai·agent·ai编程
周末程序猿17 小时前
再谈Agent Loop:大模型 “能做事” 的核心机制
agent·ai编程
七夜zippoe17 小时前
脉向AI|当豆包手机遭遇“全网封杀“:GUI Agent是通向AGI的必经之路吗?
人工智能·ai·智能手机·agent·gui
JaguarJack18 小时前
OpenClaw 最新保姆级飞书对接指南教程 搭建属于你的 AI 助手
ai·clawdbot·openclaw
prog_610318 小时前
【笔记】思路分享:各种大模型免费当agent后台
笔记·大语言模型·agent·cursor