ubuntu上安装OpenClaw并接入飞书机器人

ubuntu上安装OpenClaw并接入飞书机器人

大家好,我是一根甜苦瓜。今天来分享如何在本地安装openclaw并接入飞书,实现让AI给我打工。

最近AI圈更新太快了,从github copilotcursorclaud code ,再到codex,然后是最近火爆了的小龙虾(OpenClaw),可谓是百花齐放,应接不暇。本人也是github copilot+codex的深度用户,确实不错,所以最近打算折腾一下小龙虾,顺带教大家如何把智谱GLM 接入OpenClaw

1. 前言

1.1 什么是openclaw

2026 年开年,AI 圈突然冒出一匹“野生黑马”——OpenClaw。这个开源个人 AI 助手项目在 GitHub 上只用了 两周时间就狂揽 15 万 Star,速度堪比开挂。

简单说,它就像给你配了一个 24 小时不下班的数字打工人:
把它部署在自己的电脑或服务器上,它就能接入 WhatsAppTelegram、飞书、钉钉 等十多种聊天平台,帮你自动回复、处理消息、执行任务,活脱脱一个全年无休的 AI Agent。

而且最妙的是——
这个“员工”不领工资、不摸鱼、也不用年终奖,只要你给它一点算力和 API。

但是这也是最坑的地方——他烧Token的速度简直太快了,由于上下文积累,以及多轮推理,模型选择,系统提示词等等,很多地方都会消耗Token,这可能会导致费用爆炸。

1.2 环境介绍

据说openclaw最适配的硬件是mac mini,但是其实linux系统都比较适配。由于我正好有一台闲置的联想笔记本,并且是ubuntu系统,所以就用来试水啦。

由于openclaw的对硬件的权限很高,所以尽量不要用自己的主力开发机来安装,防止出现隐私泄露问题。

系统: ubuntu
前置要求:

  1. 必须能科学上网
  2. node >= 22.0

2. 前期准备

由于openclaw需要对接聊天软件,同时他自身没有模型,所以我们需要两个东西

  1. 大模型API。
  2. 聊天渠道

2.1 飞书准备

首先,您需要使用您的飞书账号登录飞书开放平台,点击开发者后台>扫码登录>点击创建企业自建应用。

在这里插入图片描述


输入应用名称和描述之后,直接点击创建即可。之后我们需要为这个应用添加一个机器人,如下图:

在这里插入图片描述


同时我们需要记住我们这个应用的AppIDAppSecret

在这里插入图片描述


接下来我们用这个appID 和 AppSecret来准备激活长连接。我们回到自己的ubuntu系统,在/usr/local目录下执行下面的操作:

(任意目录都可以,我这里习惯在这个目录安装)

克隆项目

git clone https://github.com/Futaoj/enable_openclaw_feishu_lark.git cd enable_openclaw_feishu_lark 

安装依赖

npminstall

配置环境变量,上面飞书应用的appIDSecret配置到环境变量中

exportFEISHU_APP_ID="your_app_id"exportFEISHU_APP_SECRET="your_app_secret"

启动长连接客户端

npm run ws 

成功启动后,你将看到类似以下输出:

🚀 正在启动飞书长连接客户端... 📱 App ID: cli_xxxxx... [info]: ['client ready'][debug]: ['[ws]', 'ws connect success'][info]: ['[ws]', 'ws client ready'] ✅ 长连接客户端已启动,等待事件... 

因为这个需要一直在后台运行,所以我们Ctrl+C取消,然后使用下面命令让其在后台运行

nohupnpm run ws > ws.log 2>&1&

接下来我们回到飞书开放平台,在刚才的应用下点击左边菜单栏【事件与回调】,然后点击订阅方式如下图:

在这里插入图片描述


这里选择使用长连接接收事件,然后保存

在这里插入图片描述


同时我们把回调配置也设置为长连接

在这里插入图片描述

然后在下方的找到【添加事件】,把下面这几个加上
• im.message.receive_v1(必需)
• im.message.message_read_v1
• im.chat.member.bot.added_v1
• im.chat.member.bot.deleted_v1

在这里插入图片描述


接下来就是飞书应用的权限配置,点击左侧菜单栏【权限管理】然后导入权限

在这里插入图片描述


将下面的json填入

{"scopes":{"tenant":["contact:contact.base:readonly","contact:user.base:readonly","contact:user.employee_id:readonly","contact:user.id: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":[]}}

然后下一步确认权限,申请开通

在这里插入图片描述


最后点击确认

在这里插入图片描述


最后我们创建版本并发布

在这里插入图片描述


我们填入版本号和描述,拉到页面底部,点击保存即可

在这里插入图片描述


一会之后我们的飞书会收到类似这样的通知

在这里插入图片描述

![在这里插入图片描述](https://i-blog.ZEEKLOGimg.cn/direct/f44aa93cc9844faea0cd5503993ea894.png
到这里,和飞书的交到基本打完。按照流程走完之后我们只需要记住两个东西,AppIDAppSecret,一会要用。

2.2 申请大模型ApiKey

下面我们去智谱平台,注册账号,然后点击API Key,最后我们添加一个新的API key即可。注意要记住这个api key 哦,一会初始化的时候会用到

在这里插入图片描述

3. 安装并初始化

安装其实很简单,我们可以去看官方文档,当然这里我还是给大家粘贴出来

curl-fsSL https://openclaw.ai/install.sh |bash
openclaw onboard --install-daemon 

查看网关状态

openclaw gateway status 

然后初始化的时候配置OpenApi的时候选择Z.AI,然后粘贴上面申请的Key.

在这里插入图片描述


然后接入渠道选择飞书

在这里插入图片描述


最后安装完成可以在飞书中测试一手

在这里插入图片描述

总结

安装起来不难,主要是飞书接入要浪费点时间,还有就是保证电脑能科学上网。

Read more

C++ 继承:面向对象的代码复用核心机制

C++ 继承:面向对象的代码复用核心机制

C++ 继承:面向对象的代码复用核心机制 💡 学习目标:掌握继承的基本语法与核心特性,理解不同继承方式的访问权限控制,能够通过继承实现代码复用与扩展。 💡 学习重点:继承的语法格式、三种继承方式的区别、基类与派生类的关系、继承中的构造与析构顺序。 一、继承的概念与核心价值 ✅ 结论:继承是 C++ 面向对象三大特性之一,允许一个类派生类继承另一个类基类的属性和行为,实现代码复用,同时支持派生类在基类基础上扩展新功能。 继承的核心价值体现在两个方面: 1. 代码复用:避免重复编写相同的成员变量和成员函数,降低代码冗余度 2. 功能扩展:派生类可以在基类的基础上新增属性和方法,满足更复杂的业务需求 生活中的继承示例:学生和老师都属于“人”,都有姓名、年龄等属性和吃饭、睡觉等行为。可以先定义 Person 基类,再让 Student 和 Teacher 继承 Person,并各自扩展专属功能。 二、继承的基本语法与实现 2.1

By Ne0inhk
《C++实战项目-高并发内存池》6.内存释放流程

《C++实战项目-高并发内存池》6.内存释放流程

💡Yupureki:个人主页 ✨个人专栏:《C++》 《算法》《Linux系统编程》《高并发内存池》 🌸Yupureki🌸的简介: 目录 1. 准备工作 2. ThreadCache内存回收与释放 3. CentralCache内存回收与释放 4. PageCache内存回收与释放 完整项目链接https://github.com/Yupureki-code/ConcurrentMemoryPool 1. 准备工作 当ThreadCache把内存块还给CentralCache时,这些内存块挂在哪里?我们知道这些内存块之前是在一个Span下的,而也应该理所应当还给那个Span 因此我们必须用哈希表记录一个内存块对应的Span。由于每个Span也都是PageCache给CentralCache的,对应关系也应该由PageCache知道,因此我们得在PageCache内新增一个内存块地址查找Span的哈希表 class PageCache { public: static PageCache* GetInstance() { return &_sIns

By Ne0inhk

在 Mac 上完美配置 VSCode 的 C/C++ 开发环境(GCC/G++ 详细教程 )

本文手把手教你如何在 macOS 系统上配置 VSCode 的 C/C++ 开发环境,解决各种常见问题,让你轻松开启 C/C++ 编程之旅! 前言 作为程序员,一个顺手的开发环境至关重要。VSCode 作为轻量级但功能强大的代码编辑器,配合 GCC/G++ 编译器,能够在 Mac 上提供优秀的 C/C++ 开发体验。本文将详细介绍从零开始的完整配置过程。 一、环境准备:安装编译工具 1.1 安装 Xcode Command Line Tools(推荐首选) 打开终端,执行以下命令: xcode-select --install 执行后会弹出安装对话框,点击"安装"即可。

By Ne0inhk
C++:继承

C++:继承

Hello大家好! 很高兴与大家见面! 给生活添点快乐,开始今天的编程之路。 我的博客:<但愿. 我的专栏:C语言、题目精讲、算法与数据结构、C++ 欢迎点赞,关注 目录   一 继承的概念及定义        1.1继承的概念        1.2继承的定义               1.2.1定义格式               1.2.2类继承基类方式改变对应成员访问⽅式的变化               1.2.3  继承类模板【类继承类似】      二 基类和派⽣类间的转换          2.1不同的转换方式                 2.1.1会产生临时变量                 2.1.2不会产生临时变量(基类和派⽣类间的转换)                         2.1.2.1不会产生临时变量(

By Ne0inhk