Ubuntu 云服务部署 OpenClaw 并接入飞书机器人

一、部署openclaw

点击立即登录

1.更新系统包索引

复制代码
sudo apt update

2.安装 curl

复制代码
sudo apt install -y curl

3.安装Node.js(LTS版本)

复制代码
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash 
复制代码
sudo apt-get install -y nodejs
#安装

4.配置npm镜像(加速国内访问)

复制代码
npm config set registry https://registry.npmmirror.com

5.安装openclaw

复制代码
curl -fsSL https://openclaw.ai/install.sh |bash

用键盘方向键选择,回车键确认

选择yes

这里默认,选择回车

6.选择大模型(以Kimi为例)

这里我选择kimi,因为新用户注册有15元的额度

我们先去kimi平台复制密钥信息,后面要用到

6.1. kimi平台配置

获取Kimi API Key

访问kimi平台,进入用户中心

左侧菜单选择API Key管理 ,然后新建,名字自己随便起,点击确定后先把密钥复制

这里密钥只会显示一次,一定要复制后确定,如果没复制到,就新建一个重复上面的步骤

我们选择kimi后回车

地区选择 .cn

默认选择第一个,回车

把前面复制的密钥粘贴进来

默认,回车

选择最后一个 skip for now

选择最后一个

是否设置技能,选no

空格选择第一个,人后回车

选择第二个

安装完成

7.验证安装

复制代码
openclaw status

若显示 running 则表示网关启动成功

8.本地访问 Openclaw Web UI

电脑本地 Ctrl+R

复制代码
ssh  -N  -L 18789:127.0.0.1:18789 root@172.16.175.146
##去掉 -N 可以本地ssh连接使用命令

选择yes

172.16.175.146换成你的服务器公网地址就行,还有问题就是你的防火墙去配置一下就好了,根据实际情况替换用户名和地址

⚠️ 确保 SSH 转发正常,服务器开启端口转发:AllowTcpForwarding yes

复制代码
##本地known_hosts冲突或者服务器重装过系统
##地址填你自己对应的
ssh-keygen -R 123.56.117.132

如果远程连接不上,查看服务器端口是否放行,端口转发是否为yes(AllowTcpForwarding yes)

9.获取访问Token

复制代码
cat /root/.openclaw/openclaw.json | grep token

1.解决 openclaw 命令无法使用问题

echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc



2.验证openclaw 命令,查询openclaw状态

openclaw status

3.通过powershell shh链接ubuntu

ssh -N -L 18789:127.0.0.1:18789 ubuntu@172.16.175.146

4.window 访问openclaw web ui

http://localhost:18789/#token=替换为安装后生成的token
要先本地连接ssh服务才能这样用否则回环地址无效

⚠️ 确保 SSH 转发正常,服务器开启端口转发:AllowTcpForwarding yes

二、接入飞书

1.进入飞书开放平台

飞书开放平台

点击进入开发者后台

填写名称和描述,然后创建应用,可以定义他的图标和颜色,我这里已经有一个机器人了,我就不创建了

2.飞书机器人权限

  • 进入「权限管理」
  • 点击「导入权限」,粘贴以下 JSON 权限配置(可按需精简):
复制代码
{
  "scopes": {
    "tenant": [
      "aily:file:read",
      "aily:file:write",
      "application:application.app_message_stats.overview:readonly",
      "application:application:self_manage",
      "application:bot.menu:write",
      "cardkit:card:write",
      "contact:contact.base:readonly",
      "contact:user.employee_id:readonly",
      "corehr:file:download",
      "docs:document.content:read",
      "event:ip_list",
      "im:app_feed_card:write",
      "im:biz_entity_tag_relation:read",
      "im:biz_entity_tag_relation:write",
      "im:chat",
      "im:chat.access_event.bot_p2p_chat:read",
      "im:chat.announcement:read",
      "im:chat.announcement:write_only",
      "im:chat.chat_pins:read",
      "im:chat.chat_pins:write_only",
      "im:chat.collab_plugins:read",
      "im:chat.collab_plugins:write_only",
      "im:chat.managers:write_only",
      "im:chat.members:bot_access",
      "im:chat.members:read",
      "im:chat.members:write_only",
      "im:chat.menu_tree:read",
      "im:chat.menu_tree:write_only",
      "im:chat.moderation:read",
      "im:chat.tabs:read",
      "im:chat.tabs:write_only",
      "im:chat.top_notice:write_only",
      "im:chat.widgets:read",
      "im:chat.widgets:write_only",
      "im:chat:create",
      "im:chat:delete",
      "im:chat:moderation:write_only",
      "im:chat:operate_as_owner",
      "im:chat:read",
      "im:chat:readonly",
      "im:chat:update",
      "im:datasync.feed_card.time_sensitive:write",
      "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.urgent:phone",
      "im:message.urgent:sms",
      "im:message:readonly",
      "im:message:recall",
      "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:tag:read",
      "im:tag:write",
      "im:url_preview.update",
      "im:user_agent:read",
      "sheets:spreadsheet",
      "wiki:wiki:readonly"
    ],
    "user": [
      "aily:file:read",
      "aily:file:write",
      "contact:contact.base:readonly",
      "im:chat.access_event.bot_p2p_chat:read"
    ]
  }
}

3.添加应用能力

  • 在「应用能力」中启用「机器人」

4.openclaw配置飞书

4.1.添加飞书渠道
复制代码
openclaw channels add

选择yes

选择飞书

选择npm安装

选择第一个App Secret

这里提示要输入 APP Secret ,我们去飞书开放平台复制

默认回车就行

china

选择第二个

Open - respond in all groups (requires mention)

Finished

yes

open

如图选择进行操作

4.2.重启网关

输入命令重启网关然后会到飞书开放平台

复制代码
openclaw gateway restart
4.3.配送飞书事件订阅

⚠️ 注意:在配置事件订阅前,请确保已完成 OpenClaw 渠道添加并启动网关。

  • 进入「事件订阅」
  • 选择 「使用长连接接收事件」(WebSocket)
  • 添加事件:im.message.receive_v1
4.4 发布应用
  • 进入「版本管理与发布」
  • 创建版本,提交审核(企业自建应用通常自动通过)

三、验收

1.发送测试消息

  • 在飞书客户端中搜索你的应用名称
  • 进入聊天窗口,发送消息
  • 机器人应能正常回复

五、总结

✅ 已完成内容

1. 环境搭建
  • Ubuntu 系统基础环境配置

  • Node.js 运行环境安装

  • OpenClaw 核心服务部署

2. 大模型集成
  • 选择 Kimi 作为对话模型

  • 配置 API Key 认证

  • 完成模型与 OpenClaw 的对接

3. 飞书机器人接入
  • 创建飞书企业自建应用

  • 配置应用权限和机器人能力

  • 通过 OpenClaw 添加飞书渠道

  • 设置 WebSocket 长连接接收消息事件

4. 本地访问配置
  • SSH 端口转发实现本地访问 Web UI

  • 获取访问 Token 进行安全认证

🎯 最终成果

  • OpenClaw 网关状态 :running(正常运行)

  • 飞书机器人:可在飞书客户端搜索到并正常对话

  • 消息响应:用户发送消息后,机器人能通过 Kimi 模型智能回复

💡 注意事项

  1. 密钥管理:Kimi API Key 和飞书 App Secret 需妥善保存

  2. 网络配置:确保服务器防火墙放行必要端口,SSH 转发配置正确

  3. 权限控制:飞书应用权限可按实际需求精简,避免过度授权

  4. 连接稳定性:WebSocket 长连接需保持服务持续运行

🔧 后续可扩展方向

  • 添加更多大模型(如通义千问、文心一言等)

  • 配置技能和插件增强机器人功能

  • 接入更多渠道(如企业微信、钉钉等)

  • 优化回复逻辑和对话体验

相关推荐
脆性薄片搬运谢工8 小时前
移栽电控箱放在机架上还是单独落地,产线布局哪个更合理?
机器人·脆性薄片搬运专机·桁架机械手·桁架机器人·特种桁架搬运专机
广州虚拟动力-动捕&虚拟主播9 小时前
从视角一致性看具身智能:头戴式采集设备的不可替代性
机器人
xwz小王子15 小时前
Science Advances 让机器人触觉在重压下继续分辨微小变化
机器人·1024程序员节
GlobalInfo20 小时前
机器人线缆用无卤TPU料市场分析报告深度版:产业洞察、技术演进与路径
大数据·人工智能·机器人
用户83514140494920 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
AiNightVision21 小时前
电力巡检夜视方案选型指南——无人机/机器人/固定监测三种场景怎么选
人工智能·科技·车载系统·机器人·无人机·边缘计算·视频
进击的荆棘21 小时前
MySQL——在ubuntu环境下安装MySQL
数据库·mysql·ubuntu
咕泡科技1 天前
AI前沿速递:Gemini双连发+混元双档落地!智元发布首个机器人工时KPI,具身智能分出工厂与客厅两条赛道
人工智能·机器人·腾讯混元·智元机器人·gemini4carbon·巴布机器人
天树星智源1 天前
静态物理满分、交互 11.54%:3D 场景生成系统的幻觉
论文阅读·人工智能·3d·机器人
咬代码的兽1 天前
智元创新日拆解:机器人开始按工时结算,Token之后有了Worken
机器人