组建龙虾团队——OpenClaw多机器人构建

组建龙虾团队——OpenClaw多机器人构建

成功搭建了OpenClaw,也成功建立的自己的每日服务,这时候发现,似乎不太敢在当前的机器人中让他做别的事情,生怕会话太多会让他出现遗忘。(尽管我们配置了QMD记忆增强,但毋庸置疑任何技术都是有上限的)。

换做同样的情况,比如在DeepSeek或者豆包之类的对话窗口,我们会习惯性地新建一个对话。那么我们是否可以新建一个机器人,或者多个机器人,让他们各司其职,各尽所能,形成一个相互配合的团队呢~开干吧,没什么不可能的!!

🦞新建一个机器人

来到飞书开发者后台,新创建一个应用,在这里我们以短视频剪辑脚本应用为例。

创建之后,由于我们的openclaw绑定的是之前的飞书渠道,并没有链接到这个应用的APP ID,所以暂时不做其他操作,只需要记录一下他的APP ID和APP Secret。

🦞配置OpenClaw

如果还是按照claw的命令行安装,每一步都有些让人担心害怕,毕竟我们先前已经配置过一次了,接下来的操作,需要小心是否会把以前的配置给覆盖掉。

为了避免这样的不确定性,我们直接去操作他的配置文件

在WSL2终端中进入openclaw目录

cd .openclaw/ 

别着急,首先我们先备份一份配置文件,避免一次失误导致全局崩盘

cp openclaw.json openclaw.json.backup

以任何你喜欢的方式打开openclaw.json,在这里以nano为例。

nano openclaw.json

找到关于Channels的版块

在这里,你的json构造和图中的构造多半是不一样的,因为再在此之前我已经创建了两个机器人,一个名为“claw_deepseek”,一个名为“咨询获取”(已经无所畏惧了直接上中文吧)

接下来我将完整的配置粘贴到下方,大家只需要根据自己应用的APP ID 和Secret进行填写就好。

"channels": { "feishu": { "enabled": true, "domain": "feishu", "groupPolicy": "allowlist", "accounts": { "main": { "appId": "【cli_ID1】", "appSecret": "【Secret1】", "botname": "【机器人名1】", }, "feishu-work":{ "appId": "【cli_ID2】", "appSecret": "【Secret2】", "botName": "【机器人名2】", } }, "dmPolicy": "pairing" } }, "bindings": [ { "agentId": "main", "match": { "channel": "feishu", "accountId": "main" } }, { "agentId": "work", "match": { "channel": "feishu", "accountId": "feishu-work【这个可以自己命名一下】" } } ],

保存之后回到终端,执行以下最简单的检查命令

openclaw-cn gateway

如果你的json有问题的话,就会出现报错,像这样

按照指引去看看哪里写错了。

如果没有问题的话,就会像这样,告诉我们网关已经在跑了。

🦞启动新员工

回到飞书后台,开启订阅方式为长连接

如果没有去配置openclaw就试图开启长连接的话,之类会提示【没有会话对象】之类的

接下来就比较熟悉, 订阅一个消息接收的事件,im.message.receive_v1

在这里我加了一个消息已读,没什么关系,后续我们都可以修改。根据引导开启机器人功能就好。

下一步就是要给他授予权限,除了下面批量导入的权限外,也可以把关于文档的权限尽可能给它开通,避免生成文档出现问题。

{ "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:chat", "im:chat.access_event.bot_p2p_chat:read", "im:chat.members:bot_access", "im:message", "im:message.group_at_msg:readonly", "im:message.group_msg", "im:message.p2p_msg:readonly", "im:message:readonly", "im:message:send_as_bot", "im:resource", "sheets:spreadsheet", "wiki:wiki:readonly" ], "user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"] } }

接下来就让我们发布一个版本,正式上线吧~

发布成功后,我们去飞书的消息栏看一下,【打开应用】

我们向新建的应用发送一句“你好”,有时候飞书回复会很慢,这个时候我们可以去claw的后台去看,访问你本机地址的18789端口(默认)。根据消息在命令行执行配对命令

当再次打招呼时,就会发现它可以正常的跟我们对话了。

🦞做个测试

首先我对他的身份进行了定义,他是专门用于输出短视频剪辑脚本的,我将另一个机器人生成的每日资讯作为输入,让其生成脚本文件,结果是比较惊讶的。

其不仅建立了独立的工作空间,而且创建了完整版和快速版两种,十分高效。

🦞总结

到现在为止我们成功创建了多个龙虾员工,下一步我们将探索如何将他们的工作关联起来,形成一个整体~加油~

Read more

【Java 开发日记】设计一个支持万人同时抢购商品的秒杀系统?

【Java 开发日记】设计一个支持万人同时抢购商品的秒杀系统?

目录 一、系统架构设计 1. 分层架构 2. 具体组件 二、核心问题解决方案 1. 超卖问题 解决方案一:Redis原子操作 解决方案二:数据库乐观锁 解决方案三:预扣库存 2. 高并发请求处理 2.1 流量削峰 2.2 分层过滤 3. 系统性能优化 3.1 缓存策略 3.2 读多写少优化 4. 详细实现方案 4.1 秒杀流程 4.2 库存同步方案 三、高可用保障 1. 限流降级策略 2. 熔断降级 四、监控与告警 1.

By Ne0inhk
模仿淘宝购物系统的Java Web前端项目(开源项目)

模仿淘宝购物系统的Java Web前端项目(开源项目)

提示:此项目仅作为本博主的学习笔记记录,不作为商品售卖,资源往下翻看源码获取 文章目录 * 前言 * Web端功能设计 * 首页 * 热销商品 * 新到商品 * 商品分类 * 商品详情 * 购物车 * 添加地址 * 提交订单 * 部分代码展示 * 可能会出现的错误 * 如果拿到项目后发现图片不显示 * 源码获取 前言 提示:这里可以添加本文要记录的大概内容: 本项目要求完成Java Web的开发环境准备,以及项目开发框架的搭建 Web开发环境准备,包括eclipse、MySQL、tomcat Web项目框架搭建,涉及jsp、servlet、MVC等技术 运行网址:http://localhost:8080/eshop0/index.action 提示:以下是本篇文章正文内容,下面案例可供参考 Web端功能设计 首页 热销商品 新到商品 商品分类 商品详情 ![在这里

By Ne0inhk
JavaScript:编程世界中的“语盲”现象

JavaScript:编程世界中的“语盲”现象

前言 JavaScript 是现代前端开发中必不可少的编程语言,以其强大的功能、丰富的API库以及跨平台特性深受开发者喜爱。然而,在它的广泛应用背后,JavaScript 也被认为是“最被误解的语言”。这种误解源于其复杂性和多面性,使得许多开发者在使用时感到困惑和压力。   语法复杂性 JavaScript 的语法与传统编程语言如 C 或 Java 明显不同,这让初学者感到难以适应。尽管 JavaScript 允许显式和隐式的变量类型转换,但在实际应用中,这种特性有时会导致代码混淆。例如,字符串操作符 + 在 JavaScript 中既可以用于数字相加,也可以用于连接字符串,这使得理解代码变得具有挑战性。 此外,JavaScript 的语法虽然与 Java 有一定的相似之处,但其细节上存在显著差异。例如,数组的增量操作使用 [ ] 符号,而对象的属性使用 . 或 [] 符号进行访问。这些微小的区别常常让开发者感到困惑,尤其是在处理变量和数据类型时。 动态类型系统 JavaScript 是一种基于弱类型的语言,这意味着它允许显式和隐式的变量类型转换。

By Ne0inhk
从反射到方法句柄:深入探索Java动态编程的终极解决方案

从反射到方法句柄:深入探索Java动态编程的终极解决方案

🌟 你好,我是 励志成为糕手 ! 🌌 在代码的宇宙中,我是那个追逐优雅与性能的星际旅人。 ✨ 每一行代码都是我种下的星光,在逻辑的土壤里生长成璀璨的银河; 🛠️ 每一个算法都是我绘制的星图,指引着数据流动的最短路径; 🔍 每一次调试都是星际对话,用耐心和智慧解开宇宙的谜题。 🚀 准备好开始我们的星际编码之旅了吗? 目录 摘要  一、Java反射机制基础 1.1 什么是反射? 1.2 Java反射核心类关系图 1.3 反射的核心原理 二、反射核心操作详解 2.1 获取Class对象的三种方式 2.2 动态创建对象实例 2.3 动态调用方法 2.4 动态操作字段 三、反射的典型应用场景 3.1 框架开发(Spring IOC容器) 3.2 动态代理(JDK

By Ne0inhk