阿里云的moltbot机器人使用钉钉的Stream流式接入

注意

  1. 这个不需要工作流
  2. 这个不需要开放外网

具体方法:

1.check代码https://github.com/DingTalk-Real-AI/dingtalk-moltbot-connector

2.package.json增加如下代码

"moltbot": { "extensions": ["./plugin.ts"], "channels": ["dingtalk-connector"], "installDependencies": true }

3.安装插件

moltbot plugins install dingtalk-moltbot-connector

4.增加钉钉配置~/.moltbot/moltbot.json;如果有了进行提花

{ "channels": { "dingtalk-connector": { "enabled": true, "clientId": "dingxxxxxxxxx", // 钉钉 AppKey "clientSecret": "your_secret_here", // 钉钉 AppSecret "gatewayToken": "", // 可选:Gateway 认证 token, opencode.json配置中 gateway.auth.token 的值 "gatewayPassword": "", // 可选:Gateway 认证 password(与 token 二选一) "sessionTimeout": 1800000 // 可选:会话超时(ms),默认 30 分钟 } }, "gateway": { // gateway通常是已有的节点,配置时注意把http部分追加到已有节点下 "http": { "endpoints": { "chatCompletions": { "enabled": true } } } } }

4.重启gateway

moltbot gateway restart

5.登录钉钉开发平台修改机器人配置

   切换成stream,关闭工作流

Read more

计算机基础知识总结(八股文总结----计算机网络、操作系统、数据库、c++、数据结构与算法)

计算机基础知识总结(八股文总结----计算机网络、操作系统、数据库、c++、数据结构与算法)

一、操作系统 0.内存管理 01.什么是虚拟内存?为什么需要虚拟内存? 虚拟内存为程序提供比实际物理内存更大的内存空间,同时提高内存管理的灵活性和系统的多任务处理能力。虚拟地址空间就是进程所能看到的内存空间,这段空间是连续的、独立的,实际地址空间则是内存上的空间,这段是所有进程共享的、有限的空间。虚拟内存就是把实际地址空间映射到虚拟地址空间的技术,这样就实现了内存隔离、内存扩展、物理内存管理、页面交换等技术。内存隔离就是每个进程都有自己的虚拟地址空间,因此一个进程无法访问另一个进程的内存。内存扩展就是虚拟内存让每个进程拥有比实际大的内存空间地址,可以处理更多的数据、更大的进程。物理内存管理,内存空间不足时把不常用的数据转移到硬盘上,释放内存,以助于更多进程使用。页面交换,进程可能会造成外部内存碎片,可能会导致内存空间不足,这时把不常用的数据交换到硬盘上,再交换回来,就能消除内存碎片,之前技术是内存分段,现在都是内存分页,一页或几页的内存交换就能解决内存不足的问题,而且效率高,内存分段的大数据在硬盘上读取速度慢。 02.什么是内存分段和分页?作用是什么? 内存分段是将一个程序

By Ne0inhk
C++ 互斥量、锁与条件变量详解

C++ 互斥量、锁与条件变量详解

C++ 互斥量、锁与条件变量详解 1. ‌互斥量(Mutex)‌ * ‌定义‌:互斥量是C++多线程编程中用于保护共享资源的同步机制,确保同一时间只有一个线程可以访问特定代码段或资源。 * ‌核心API‌: * std::mutex:基本互斥锁,需手动管理锁的生命周期。 * std::lock_guard:RAII风格的锁管理,构造时自动上锁,析构时自动解锁。 * std::unique_lock:更灵活的锁管理,支持手动控制锁的生命周期。 2. ‌锁(Lock)‌ * ‌作用‌:锁是互斥量的执行单元,通过lock()和unlock()方法控制对共享资源的访问。 * ‌关键特性‌: * ‌独占性‌:同一时刻仅允许一个线程持有锁,其他线程尝试加锁时会阻塞或失败。 * ‌RAII‌:推荐使用std::lock_guard和std::unique_lock实现自动锁管理,避免死锁。 3. ‌条件变量(Condition Variable)‌ * ‌定义‌

By Ne0inhk

探索30dayMakeCppServer:构建高性能C++网络服务器的实践指南

探索30dayMakeCppServer:构建高性能C++网络服务器的实践指南 【免费下载链接】30dayMakeCppServer30天自制C++服务器,包含教程和源代码 项目地址: https://gitcode.com/GitHub_Trending/30/30dayMakeCppServer 在现代应用开发中,高性能网络服务器是支撑高并发业务的核心基础设施。30dayMakeCppServer项目通过30天的渐进式教程,带领开发者从零构建功能完善的C++服务器。本文将系统讲解该项目的核心架构、实现方法及优化策略,帮助开发者掌握事件驱动、异步I/O等关键技术,解决高并发场景下的连接管理、数据处理等实际问题。 概念解析:理解C++服务器的核心组件 认识事件驱动模型的工作原理 事件驱动模型(Event-driven Model)是现代高性能服务器的基础架构模式,通过事件循环(Event Loop) 机制实现非阻塞I/O操作。在该模型中,服务器不再为每个连接创建独立线程,而是通过多路复用(I/O Multiplexing) 技术(如epoll)监听多个文件描述符的状态变化,

By Ne0inhk
初学者:《C++ STL容器入门:手把手教你使用常用容器》

初学者:《C++ STL容器入门:手把手教你使用常用容器》

🎬 博主名称:个人主页 🔥 个人专栏: 《算法通关》,《Java讲解》 ⛺️心简单,世界就简单 目录 序言 vector 倍增思想: 一,初始化 常用函数 遍历方式 黑科技 pair 定义方式 取出元素方式 构造一个pair 用来干嘛 string 常用函数 操作 queue队列 priority_queue优先队列 常用函数 如何构造小根堆 stack 栈 常用函数 deque 双端队列 set,multiset 常用函数 map,multimap unordered_set,  unordered_map,   unordered_multiset,  unordered_multimap 序言 我们今天来讲一下 vector

By Ne0inhk