跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.jsAI

基于 OpenClaw 与飞书构建 7x24 小时服务器运维机器人

基于 OpenClaw 与飞书构建 7x24 小时服务器运维机器人方案。利用 OpenClaw 网关结合飞书 API,搭建本地化 AI 运维机器人。通过 WebSocket 长连接实现消息互通,配置大模型调用 Shell 工具执行服务器指令。重点涵盖环境部署、权限白名单设置及安全策略,确保在保障系统安全的前提下实现 7x24 小时自动化运维交互。

ByteFlow发布于 2026/4/10更新于 2026/9/961 浏览
基于 OpenClaw 与飞书构建 7x24 小时服务器运维机器人

架构概览

飞书 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 格式的模型提供商都可以用这种方式接入。

接入飞书

1. 创建飞书应用

访问飞书开放平台,创建企业自建应用。在凭证与基础信息页面,记下 App ID 和 App Secret。在权限管理中添加以下权限:

  • im:message — 发送消息
  • im:message:send_as_bot — 以机器人身份发送
  • im:message.p2p_msg:readonly — 读取私聊消息
  • im:message.group_at_msg:readonly — 读取群聊 @消息
  • im:resource — 读取资源
  • contact:contact.base:readonly — 读取联系人基本信息(可选,用于解析发送者名字)

在应用能力中启用机器人,然后安装飞书插件:

openclaw plugins install @openclaw/feishu
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"
        }
      }
    }
  }
}
3. 重启并确认连接
openclaw gateway restart
openclaw logs --follow

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

feishu[main]: WebSocket client started
[ws] ws client ready
4. 配置飞书事件订阅

回到飞书开放平台:

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

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

配置运维 Agent

1. 设置 Agent 人设

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

## 服务器运维规则

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

### 工作范围
- 只管理 /home/youruser/projects 目录下的项目和服务
- 不要触碰其他用户的文件和服务

### 允许的操作
- 查看日志、进程、服务状态、端口、磁盘/内存
- 管理用户级服务(systemctl --user)
- 工作目录下的文件操作

### 禁止的操作
- rm -rf(用 trash 代替)
- sudo 操作(除非明确要求)
- 修改系统配置
- 重启其他用户的服务

### 语言
- 用中文回复
2. 配置 exec 工具

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

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

参考材料

  • OpenClaw GitHub

目录

  1. 架构概览
  2. 环境要求
  3. 安装 OpenClaw
  4. 注册为 systemd 服务
  5. 配置模型提供商
  6. 接入飞书
  7. 1. 创建飞书应用
  8. 2. 配置飞书 App 信息
  9. 3. 重启并确认连接
  10. 4. 配置飞书事件订阅
  11. 配置运维 Agent
  12. 1. 设置 Agent 人设
  13. 服务器运维规则
  14. 工作范围
  15. 允许的操作
  16. 禁止的操作
  17. 语言
  18. 2. 配置 exec 工具
  19. 3. 配置命令白名单
  20. 测试与使用
  21. 安全策略总结
  22. 最终的 openclaw.json 结构
  23. 参考材料

更多推荐文章

查看全部
  • 常用技术资源与开源社区链接汇总
  • 使用 wxauto 与百度千帆大模型构建微信聊天机器人
  • Spring Boot WebClient 集成大模型 API:OpenAI、文心一言、通义千问
  • XGBoost+SHAP 可解释性分析回归预测及可视化算法
  • Copilot 四大模式详解:Ask、Edit、Agent 与 Plan 的核心区别
  • Linux 进程优先级详解:调度规则与调整方法
  • llama.cpp 量化模型部署实战:从模型转换到 API 服务
  • OpenClaw + Ollama 集成指南:本地私有化部署 LLM
  • ORB-SLAM3 开源视觉与视觉惯性 SLAM 库详解
  • Diffusion Transformer(DiT):用 ViT 替代 U-Net 用于视频生成与机器人动作预测
  • GitHub 日榜:AI 智能体、边缘计算与开发工具精选
  • 大模型(LLM)前沿研究论文合集:检索增强、压缩与评估
  • AIGC 技术现状、应用场景与未来趋势
  • 使用 Python SDK 调用扣子(Coze)工作流
  • Moonvalley AI 视频生成工具使用指南
  • 10 款论文 AIGC 降重工具实测对比
  • 法奥机器人基础操作与编程指南
  • 大模型基本概念解析:定义、分类与发展历程
  • 企业级招聘数据采集:基于 Bright Data AI Studio 的自动化爬虫方案
  • 主流无人机倾斜摄影三维建模服务商盘点

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online