Merge branch 'master' of https://github.com/MaiBot-Plus/MaiMbot-Pro-Max
This commit is contained in:
16
EULA.md
16
EULA.md
@@ -1,16 +1,16 @@
|
||||
# **MaiMbot-Pro-Max最终用户许可协议**
|
||||
# **MoFox_Bot最终用户许可协议**
|
||||
**版本:V1.1**
|
||||
**更新日期:2025年8月14日**
|
||||
**生效日期:2025年8月14日**
|
||||
**更新日期:2025年8月26日**
|
||||
**生效日期:2025年8月26日**
|
||||
**适用的MaiMbot-Pro-Max版本号:所有版本**
|
||||
|
||||
**2025© MaiMbot-Pro-Max项目团队**
|
||||
**2025© MoFox_Bot项目团队**
|
||||
|
||||
---
|
||||
|
||||
## 一、一般条款
|
||||
|
||||
**1.1** MaiMbot-Pro-Max项目(包括MaiMbot-Pro-Max的源代码、可执行文件、文档,以及其它在本协议中所列出的文件)(以下简称“本项目”)是由开发者及贡献者(以下简称“项目团队”)共同维护,为用户提供自动回复功能的机器人代码项目。以下最终用户许可协议(EULA,以下简称“本协议”)是用户(以下简称“您”)与项目团队之间关于使用本项目所订立的合同条件。
|
||||
**1.1** MoFox_Bot项目(包括MoFox_Bot的源代码、可执行文件、文档,以及其它在本协议中所列出的文件)(以下简称“本项目”)是由开发者及贡献者(以下简称“项目团队”)共同维护,为用户提供自动回复功能的机器人代码项目。以下最终用户许可协议(EULA,以下简称“本协议”)是用户(以下简称“您”)与项目团队之间关于使用本项目所订立的合同条件。
|
||||
|
||||
**1.2** 在运行或使用本项目之前,您**必须阅读并同意本协议的所有条款**。未成年人或其它无/不完全民事行为能力责任人请**在监护人的陪同下**阅读并同意本协议。如果您不同意,则不得运行或使用本项目。在这种情况下,您应立即从您的设备上卸载或删除本项目及其所有副本。
|
||||
|
||||
@@ -39,12 +39,12 @@
|
||||
|
||||
### 插件系统授权和责任免责
|
||||
|
||||
**2.7** 您**了解**本项目包含插件系统功能,允许加载和使用由第三方开发者(非MaiBot核心开发组成员)开发的插件。这些第三方插件可能具有独立的许可证条款和使用协议。
|
||||
**2.7** 您**了解**本项目包含插件系统功能,允许加载和使用由第三方开发者(非MoFox_Bot核心开发组成员)开发的插件。这些第三方插件可能具有独立的许可证条款和使用协议。
|
||||
|
||||
**2.8** 您**了解并同意**:
|
||||
- 第三方插件的开发、维护、分发由其各自的开发者负责,**与MaiBot项目团队无关**;
|
||||
- 第三方插件的功能、质量、安全性、合规性**完全由插件开发者负责**;
|
||||
- MaiMbot-Pro-Max项目团队**仅提供**插件系统的技术框架,**不对**任何第三方插件的内容、行为或后果承担责任;
|
||||
- MoFox_Bot项目团队**仅提供**插件系统的技术框架,**不对**任何第三方插件的内容、行为或后果承担责任;
|
||||
- 您使用任何第三方插件的风险**完全由您自行承担**;
|
||||
|
||||
**2.9** 在使用第三方插件前,您**应当**:
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
### 一、过往版本使用条件追溯
|
||||
|
||||
**1.1** 对于本项目此前未配备 EULA 协议的版本,自本协议发布之日起,若用户希望继续使用本项目,应在本协议生效后的合理时间内,通过升级到最新版本并同意本协议全部条款。若在本版协议生效日(2025年8月14日)之后,用户仍使用此前无 EULA 协议的项目版本且未同意本协议,则用户无权继续使用,项目方有权采取措施阻止其使用行为,并保留追究相关法律责任的权利。
|
||||
**1.1** 对于本项目此前未配备 EULA 协议的版本,自本协议发布之日起,若用户希望继续使用本项目,应在本协议生效后的合理时间内,通过升级到最新版本并同意本协议全部条款。若在本版协议生效日(2025年8月26日)之后,用户仍使用此前无 EULA 协议的项目版本且未同意本协议,则用户无权继续使用,项目方有权采取措施阻止其使用行为,并保留追究相关法律责任的权利。
|
||||
|
||||
|
||||
### 二、风险提示
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# MaiBot-Plus 修复总结
|
||||
# MoFox_Bot 修复总结
|
||||
|
||||
## 修复的问题
|
||||
|
||||
|
||||
12
PRIVACY.md
12
PRIVACY.md
@@ -1,12 +1,12 @@
|
||||
### MaiBot用户隐私条款
|
||||
### MoFox_Bot用户隐私条款
|
||||
**版本:V1.1**
|
||||
**更新日期:2025年7月10日**
|
||||
**生效日期:2025年3月18日**
|
||||
**适用的MaiBot版本号:所有版本**
|
||||
**更新日期:2025年8月26日**
|
||||
**生效日期:2025年8月26日**
|
||||
**适用的MoFox_Bot版本号:所有版本**
|
||||
|
||||
**2025© MaiBot项目团队**
|
||||
**2025© MoFox_Bot项目团队**
|
||||
|
||||
MaiBot项目团队(以下简称项目团队)**尊重并保护**用户(以下简称您)的隐私。若您选择使用MaiBot项目(以下简称本项目),则您需同意本项目按照以下隐私条款处理您的输入和输出内容:
|
||||
MaiBot项目团队(以下简称项目团队)**尊重并保护**用户(以下简称您)的隐私。若您选择使用MoFox_Bot项目(以下简称本项目),则您需同意本项目按照以下隐私条款处理您的输入和输出内容:
|
||||
|
||||
**1.1** 本项目**会**收集您的输入和输出内容并发送到第三方API,用于生成新的输出内容。因此您的输入和输出内容**会**同时受到本项目和第三方API的隐私政策约束。
|
||||
|
||||
|
||||
52
README.md
52
README.md
@@ -1,24 +1,24 @@
|
||||
<div align="center">
|
||||
<img src="depends-data/maimai.png" alt="MaiBot-Pro-Max" title="作者:略nd" width="300">
|
||||
<img src="depends-data/maimai.png" alt="MoFox_Bot" title="作者:略nd" width="300">
|
||||
|
||||
# 麦麦Plus!MaiMbot-Pro-Max
|
||||
# 麦麦Plus!MoFox_Bot
|
||||
|
||||
<p>
|
||||
<strong>基于 MaiCore 的增强版智能体,提供更完善的功能和更好的使用体验</strong>
|
||||
</p>
|
||||
|
||||
[](https://www.python.org/)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/blob/master/LICENSE)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/graphs/contributors)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/network/members)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/stargazers)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/issues)
|
||||
[](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot/blob/master/LICENSE)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot/graphs/contributors)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot/network/members)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot/stargazers)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot/issues)
|
||||
[](https://github.com/MoFox-Studio/MoFox_Bot)
|
||||
|
||||
<p>
|
||||
<strong>
|
||||
<a href="https://github.com/MaiBot-Plus/MaiMbot-Pro-Max">项目主页</a> •
|
||||
<a href="https://github.com/MoFox-Studio/MoFox_Bot">项目主页</a> •
|
||||
<a href="#-快速开始">快速开始</a> •
|
||||
<a href="#-核心优势">核心优势</a> •
|
||||
<a href="#-讨论交流">讨论交流</a> •
|
||||
@@ -48,17 +48,17 @@
|
||||
|
||||
## 项目介绍
|
||||
|
||||
**MaiMbot-Pro-Max** 是基于 MaiCore 的增强版智能体,在保留原版0.10.0 snapshot.5所有功能的基础上,提供了更完善的功能、更好的稳定性和更丰富的使用体验。
|
||||
**MoFox_Bot** 是基于 MaiCore 的增强版智能体,在保留原版0.10.0 snapshot.5所有功能的基础上,提供了更完善的功能、更好的稳定性和更丰富的使用体验。
|
||||
|
||||
**请注意!这个版本的所有后续更新均为我们的第三方更新,不代表MaiBot官方立场**
|
||||
|
||||
无论你是想要一个智能的聊天伙伴,还是需要一个功能强大的群聊助手,MaiMbot-Pro-Max 都能满足你的需求。
|
||||
无论你是想要一个智能的聊天伙伴,还是需要一个功能强大的群聊助手,MoFox_Bot 都能满足你的需求。
|
||||
|
||||
## 核心优势
|
||||
|
||||
相比官方版本,MaiMbot-Pro-Max 带来以下增强:
|
||||
相比官方版本,MoFox_Bot 带来以下增强:
|
||||
|
||||
| 特性 | 官方版本 | Pro-Max 版本 |
|
||||
| 特性 | 官方版本 | MoFox_Bot 版本 |
|
||||
|------|----------|-------------|
|
||||
| **多模型支持** | 基础支持 | 适配 Gemini 等主流大语言模型 |
|
||||
| **插件生态** | 标准插件 | 额外提供实用插件,涵盖更多使用场景 |
|
||||
@@ -67,11 +67,11 @@
|
||||
| **性能** | 标准 | 优化性能,响应更快速 |
|
||||
|
||||
> [!TIP]
|
||||
> 请注意! 从官方版本到 Pro-Max 版本迁移暂时存在问题,因为数据库结构有改变
|
||||
> 请注意! 从官方版本到 MoFox_Bot 版本迁移暂时存在问题,因为数据库结构有改变
|
||||
|
||||
### 核心优势
|
||||
|
||||
相比官方版本,MaiMbot-Pro-Max 拥有更完善的功能:
|
||||
相比官方版本,MoFox_Bot 拥有更完善的功能:
|
||||
|
||||
- **增强插件**:额外提供 一些插件,涵盖更多使用场景
|
||||
- **稳定性提升**:修复官方版本的一些已知问题,提供更稳定的运行体验
|
||||
@@ -101,12 +101,12 @@
|
||||
- **QQ协议端**: [NapCat](https://github.com/NapNeko/NapCatQQ) 或其他兼容协议端
|
||||
- **数据库**: SQLite (内置) 或 MySQL (可选)
|
||||
|
||||
**MaiMbot-Pro-Max 是基于 MaiCore 的增强版智能体,提供更完善的功能和更好的使用体验**
|
||||
**MoFox_Bot 是基于 MaiCore 的增强版智能体,提供更完善的功能和更好的使用体验**
|
||||
|
||||
|
||||
## 更新和安装
|
||||
|
||||
**最新版本: v1.0.0-maibotProMax**
|
||||
**最新版本: v1.0.0-MoFox_Bot**
|
||||
|
||||
|
||||
**GitHub 分支说明:**
|
||||
@@ -121,13 +121,13 @@
|
||||
## 讨论交流
|
||||
|
||||
### 官方社区
|
||||
- **交流群**: [maibot-Pro-Max 交流群] - 群号:169850076
|
||||
- **功能建议**: [GitHub Discussions](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/discussions)
|
||||
- **问题反馈**: [GitHub Issues](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/issues)
|
||||
- **交流群**: [MoFox_Bot 交流群] - 群号:169850076
|
||||
- **功能建议**: [GitHub Discussions](https://github.com/MoFox-Studio/MoFox_Bot/discussions)
|
||||
- **问题反馈**: [GitHub Issues](https://github.com/MoFox-Studio/MoFox_Bot/issues)
|
||||
|
||||
**其他资源:**
|
||||
- [问题反馈](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/issues)
|
||||
- [功能建议](https://github.com/MaiBot-Plus/MaiMbot-Pro-Max/discussions)
|
||||
- [问题反馈](https://github.com/MoFox-Studio/MoFox_Bot/issues)
|
||||
- [功能建议](https://github.com/MoFox-Studio/MoFox_Bot/discussions)
|
||||
|
||||
## 文档资源
|
||||
|
||||
@@ -138,11 +138,11 @@
|
||||
|
||||
## 贡献和致谢
|
||||
|
||||
MaiMbot-Pro-Max 是一个开源项目,欢迎所有人参与贡献!
|
||||
MoFox_Bot 是一个开源项目,欢迎所有人参与贡献!
|
||||
|
||||
### 贡献者
|
||||
|
||||
感谢所有为 Pro-Max 版本做出贡献的开发者!
|
||||
感谢所有为 MoFox_Bot 做出贡献的开发者!
|
||||
|
||||
|
||||
### 致谢
|
||||
@@ -150,7 +150,7 @@ MaiMbot-Pro-Max 是一个开源项目,欢迎所有人参与贡献!
|
||||
- [MaiM-with-u](https://github.com/MaiM-with-u/MaiBot): 原版 MaiBot 项目,感谢提供优秀的基础框架
|
||||
- [略nd](https://space.bilibili.com/1344099355): 为麦麦绘制人设
|
||||
- [NapCat](https://github.com/NapNeko/NapCatQQ): 现代化的基于 NTQQ 的 Bot 协议端实现
|
||||
- **Pro-Max 社区**: 感谢所有提供建议和反馈的用户
|
||||
- **MoFox_Bot 社区**: 感谢所有提供建议和反馈的用户
|
||||
|
||||
## 注意事项
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 如何给MaiCore做贡献v1.0
|
||||
# 如何给MoFox_Bot做贡献v1.0
|
||||
|
||||
修改时间2025/4/5
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
首先,非常感谢你抽出时间来做贡献!❤️
|
||||
|
||||
这份文档是告诉你,当你想向MaiMbot-Pro-Max提交代码,或者想要以其他形式加入MaiMbot-Pro-Max的开发,或周边插件的开发,你可以怎么做。
|
||||
这份文档是告诉你,当你想向MoFox_Bot提交代码,或者想要以其他形式加入MoFox_Bot的开发,或周边插件的开发,你可以怎么做。
|
||||
|
||||
我们鼓励并重视任何形式的贡献,但无序的贡献只会使麦麦的维护与更新变成一团糟。因此,我们建议您在做出贡献之前,先查看本指南。
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
## 我想做贡献
|
||||
|
||||
> ### 项目所有权与维护
|
||||
> MaiMbot-Pro-Max项目(基于MaiBot修改,核心为MaiCore)由雅诺狐创建,采用GPL3开源协议。
|
||||
> MaiMbot-Pro-Max项目现已移动至MaiMbot-Pro-Max组织下,目前主要内容由核心开发组维护,整体由核心开发组、reviewer和所有贡献者共同维护(该部分在未来将会明确)。
|
||||
> MoFox_Bot项目(基于MaiBot修改,核心为MaiCore)由雅诺狐创建,采用GPL3开源协议。
|
||||
> MoFox_Bot项目现已移动至MoFox_Bot组织下,目前主要内容由核心开发组维护,整体由核心开发组、reviewer和所有贡献者共同维护(该部分在未来将会明确)。
|
||||
> 为了保证设计的统一和节省不必要的精力,以及为了对项目有整体的把控,我们对不同类型的贡献采取不同的审核策略:
|
||||
>
|
||||
> #### 功能新增
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
## 提出建议
|
||||
|
||||
这一部分指导您如何为MaiMbot-Pro-Max提交一个建议,包括全新的功能和对现有功能的小改进。遵循这些指南将有助于维护人员和社区了解您的建议并找到相关的建议。
|
||||
这一部分指导您如何为MoFox_Bot提交一个建议,包括全新的功能和对现有功能的小改进。遵循这些指南将有助于维护人员和社区了解您的建议并找到相关的建议。
|
||||
|
||||
在提交建议之前
|
||||
|
||||
@@ -83,6 +83,6 @@
|
||||
### 附(暂定):
|
||||
核心组成员:@foxcyber907(雅诺狐) @Furina-1013-create(Navinatte)@tt-P607(言柒)@ikun-11451(ikun两年半)@minecraft1024a(一闪)
|
||||
|
||||
reviewer:核心组+MaiMbot-Pro-Max主仓库合作者/权限者
|
||||
reviewer:核心组+MoFox_Bot主仓库合作者/权限者
|
||||
|
||||
贡献者:所有提交过贡献的用户
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 概述
|
||||
|
||||
MaiMbot-Pro-Max的权限系统提供了完整的权限管理功能,支持权限等级和权限节点配置。系统包含以下核心概念:
|
||||
MoFox_Bot的权限系统提供了完整的权限管理功能,支持权限等级和权限节点配置。系统包含以下核心概念:
|
||||
|
||||
- **Master用户**:拥有最高权限,无视所有权限节点,在配置文件中设置
|
||||
- **权限节点**:细粒度的权限控制单元,由插件自行创建和管理
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 麦麦记忆系统架构 v3.0 设计文档
|
||||
# MoFox_Bot记忆系统架构 v3.0 设计文档
|
||||
*融合 Mem0 先进理念的生产级记忆系统*
|
||||
|
||||
## 🎯 1. 核心思想
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 模型配置指南
|
||||
|
||||
本文档将指导您如何配置 `model_config.toml` 文件,该文件用于配置 MaiBot 的各种AI模型和API服务提供商。
|
||||
本文档将指导您如何配置 `model_config.toml` 文件,该文件用于配置 MoFox_Bot 的各种AI模型和API服务提供商。
|
||||
|
||||
## 配置文件结构
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
## 📖 什么是Action
|
||||
|
||||
Action是给麦麦在回复之外提供额外功能的智能组件,**由麦麦的决策系统自主选择是否使用**,具有随机性和拟人化的调用特点。Action不是直接响应用户命令,而是让麦麦根据聊天情境智能地选择合适的动作,使其行为更加自然和真实。
|
||||
Action是给MoFox_Bot在回复之外提供额外功能的智能组件,**由MoFox_Bot的决策系统自主选择是否使用**,具有随机性和拟人化的调用特点。Action不是直接响应用户命令,而是让MoFox_Bot根据聊天情境智能地选择合适的动作,使其行为更加自然和真实。
|
||||
|
||||
### Action的特点
|
||||
|
||||
- 🧠 **智能激活**:麦麦根据多种条件智能判断是否使用
|
||||
- 🧠 **智能激活**:MoFox_Bot根据多种条件智能判断是否使用
|
||||
- 🎲 **可随机性**:可以使用随机数激活,增加行为的不可预测性,更接近真人交流
|
||||
- 🤖 **拟人化**:让麦麦的回应更自然、更有个性
|
||||
- 🤖 **拟人化**:让MoFox_Bot的回应更自然、更有个性
|
||||
- 🔄 **情境感知**:基于聊天上下文做出合适的反应
|
||||
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MaiBot插件开发文档
|
||||
# MoFox_Bot插件开发文档
|
||||
|
||||
> 欢迎来到MaiBot插件系统开发文档!这里是你开始插件开发旅程的最佳起点。
|
||||
> 欢迎来到MoFox_Bot插件系统开发文档!这里是你开始插件开发旅程的最佳起点。
|
||||
|
||||
## 新手入门
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 概述
|
||||
|
||||
MaiBot插件系统现在强制要求每个插件都必须包含一个 `_manifest.json` 文件。这个文件描述了插件的基本信息、依赖关系、组件等重要元数据。
|
||||
MoFox_Bot插件系统现在强制要求每个插件都必须包含一个 `_manifest.json` 文件。这个文件描述了插件的基本信息、依赖关系、组件等重要元数据。
|
||||
|
||||
### 🔄 配置架构:Manifest与Config的职责分离
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# 🚀 快速开始指南
|
||||
|
||||
本指南将带你从零开始创建一个功能完整的MaiCore插件。
|
||||
本指南将带你从零开始创建一个功能完整的MoFox_Bot插件。
|
||||
|
||||
## 📖 概述
|
||||
|
||||
这个指南将带你快速创建你的第一个MaiCore插件。我们将创建一个简单的问候插件,展示插件系统的基本概念。
|
||||
这个指南将带你快速创建你的第一个MoFox_Bot插件。我们将创建一个简单的问候插件,展示插件系统的基本概念。
|
||||
|
||||
以下代码都在我们的`plugins/hello_world_plugin/`目录下。
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
确保你已经:
|
||||
|
||||
1. 克隆了MaiCore项目
|
||||
1. 克隆了MoFox_Bot项目
|
||||
2. 安装了Python依赖
|
||||
3. 了解基本的Python语法
|
||||
|
||||
@@ -58,7 +58,7 @@ from src.plugin_system import BasePlugin, register_plugin, ComponentInfo
|
||||
|
||||
@register_plugin # 注册插件
|
||||
class HelloWorldPlugin(BasePlugin):
|
||||
"""Hello World插件 - 你的第一个MaiCore插件"""
|
||||
"""Hello World插件 - 你的第一个MoFox_Bot插件"""
|
||||
|
||||
# 以下是插件基本信息和方法(必须填写)
|
||||
plugin_name = "hello_world_plugin"
|
||||
@@ -73,7 +73,7 @@ class HelloWorldPlugin(BasePlugin):
|
||||
return []
|
||||
```
|
||||
|
||||
🎉 恭喜!你刚刚创建了一个最简单但完整的MaiCore插件!
|
||||
🎉 恭喜!你刚刚创建了一个最简单但完整的MoFox_Bot插件!
|
||||
|
||||
**解释一下这些代码:**
|
||||
|
||||
@@ -84,9 +84,9 @@ class HelloWorldPlugin(BasePlugin):
|
||||
|
||||
### 4. 测试基础插件
|
||||
|
||||
现在就可以测试这个插件了!启动MaiCore:
|
||||
现在就可以测试这个插件了!启动MoFox_Bot:
|
||||
|
||||
直接通过启动器运行MaiCore或者 `python bot.py`
|
||||
直接通过启动器运行MoFox_Bot或者 `python bot.py`
|
||||
|
||||
在日志中你应该能看到插件被加载的信息。虽然插件还没有任何功能,但它已经成功运行了!
|
||||
|
||||
@@ -96,9 +96,9 @@ class HelloWorldPlugin(BasePlugin):
|
||||
|
||||
现在我们要给插件加入一个有用的功能,我们从最好玩的Action做起
|
||||
|
||||
Action是一类可以让MaiCore根据自身意愿选择使用的“动作”,在MaiCore中,不论是“回复”还是“不回复”,或者“发送表情”以及“禁言”等等,都是通过Action实现的。
|
||||
Action是一类可以让MoFox_Bot根据自身意愿选择使用的“动作”,在MoFox_Bot中,不论是“回复”还是“不回复”,或者“发送表情”以及“禁言”等等,都是通过Action实现的。
|
||||
|
||||
你可以通过编写动作,来拓展MaiCore的能力,包括发送语音,截图,甚至操作文件,编写代码......
|
||||
你可以通过编写动作,来拓展MoFox_Bot的能力,包括发送语音,截图,甚至操作文件,编写代码......
|
||||
|
||||
现在让我们给插件添加第一个简单的功能。这个Action可以对用户发送一句问候语。
|
||||
|
||||
@@ -138,7 +138,7 @@ class HelloAction(BaseAction):
|
||||
|
||||
@register_plugin
|
||||
class HelloWorldPlugin(BasePlugin):
|
||||
"""Hello World插件 - 你的第一个MaiCore插件"""
|
||||
"""Hello World插件 - 你的第一个MoFox_Bot插件"""
|
||||
|
||||
# 插件基本信息
|
||||
plugin_name = "hello_world_plugin"
|
||||
@@ -160,21 +160,21 @@ class HelloWorldPlugin(BasePlugin):
|
||||
|
||||
- `HelloAction` 是我们定义的问候动作类,继承自 `BaseAction`,并实现了核心功能。
|
||||
- 在 `HelloWorldPlugin` 中,我们通过 `get_plugin_components()` 方法,通过调用`get_action_info()`这个内置方法将 `HelloAction` 注册为插件的一个组件。
|
||||
- 这样一来,当插件被加载时,问候动作也会被一并加载,并可以在MaiCore中使用。
|
||||
- `execute()` 函数是Action的核心,定义了当Action被MaiCore选择后,具体要做什么
|
||||
- 这样一来,当插件被加载时,问候动作也会被一并加载,并可以在MoFox_Bot中使用。
|
||||
- `execute()` 函数是Action的核心,定义了当Action被MoFox_Bot选择后,具体要做什么
|
||||
- `self.send_text()` 是发送文本消息的便捷方法
|
||||
|
||||
Action 组件中有关`activation_type`、`action_parameters`、`action_require`、`associated_types` 等的详细说明请参考 [Action组件指南](./action-components.md)。
|
||||
|
||||
### 6. 测试问候Action
|
||||
|
||||
重启MaiCore,然后在聊天中发送任意消息,比如:
|
||||
重启MoFox_Bot,然后在聊天中发送任意消息,比如:
|
||||
|
||||
```
|
||||
你好
|
||||
```
|
||||
|
||||
MaiCore可能会选择使用你的问候Action,发送回复:
|
||||
MoFox_Bot可能会选择使用你的问候Action,发送回复:
|
||||
|
||||
```
|
||||
嗨!很开心见到你!😊
|
||||
@@ -182,7 +182,7 @@ MaiCore可能会选择使用你的问候Action,发送回复:
|
||||
|
||||

|
||||
|
||||
> **💡 小提示**:MaiCore会智能地决定什么时候使用它。如果没有立即看到效果,多试几次不同的消息。
|
||||
> **💡 小提示**:MoFox_Bot会智能地决定什么时候使用它。如果没有立即看到效果,多试几次不同的消息。
|
||||
|
||||
🎉 太棒了!你的插件已经有实际功能了!
|
||||
|
||||
@@ -222,7 +222,7 @@ class TimeCommand(BaseCommand):
|
||||
|
||||
@register_plugin
|
||||
class HelloWorldPlugin(BasePlugin):
|
||||
"""Hello World插件 - 你的第一个MaiCore插件"""
|
||||
"""Hello World插件 - 你的第一个MoFox_Bot插件"""
|
||||
|
||||
# 插件基本信息
|
||||
plugin_name = "hello_world_plugin"
|
||||
@@ -250,7 +250,7 @@ class HelloWorldPlugin(BasePlugin):
|
||||
|
||||
### 8. 测试时间查询Command
|
||||
|
||||
重启MaiCore,发送命令:
|
||||
重启MoFox_Bot,发送命令:
|
||||
|
||||
```
|
||||
/time
|
||||
@@ -319,7 +319,7 @@ class HelloWorldPlugin(BasePlugin):
|
||||
|
||||
```toml
|
||||
# hello_world_plugin - 自动生成的配置文件
|
||||
# 我的第一个MaiCore插件,包含问候功能和时间查询等基础示例
|
||||
# 我的第一个MoFox_Bot插件,包含问候功能和时间查询等基础示例
|
||||
|
||||
# 插件基本信息
|
||||
[plugin]
|
||||
@@ -417,11 +417,6 @@ class TimeCommand(BaseCommand):
|
||||
|
||||
你可以创建一个 `README.md` 文件,描述插件的功能和使用方法。
|
||||
|
||||
### 3. 发布到插件市场
|
||||
|
||||
如果你想让更多人使用你的插件,可以将它发布到MaiCore的插件市场。
|
||||
|
||||
这部分请参考 [plugin-repo](https://github.com/Maim-with-u/plugin-repo) 的文档。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
## 📖 什么是工具
|
||||
|
||||
工具是MaiBot的信息获取能力扩展组件。如果说Action组件功能五花八门,可以拓展麦麦能做的事情,那么Tool就是在某个过程中拓宽了麦麦能够获得的信息量。
|
||||
工具是MoFox_Bot的信息获取能力扩展组件。如果说Action组件功能五花八门,可以拓展麦麦能做的事情,那么Tool就是在某个过程中拓宽了麦麦能够获得的信息量。
|
||||
|
||||
### 🎯 工具的特点
|
||||
|
||||
- 🔍 **信息获取增强**:扩展麦麦获取外部信息的能力
|
||||
- 🔍 **信息获取增强**:扩展MoFox_Bot获取外部信息的能力
|
||||
- 📊 **数据丰富**:帮助麦麦获得更多背景信息和实时数据
|
||||
- 🔌 **插件式架构**:支持独立开发和注册新工具
|
||||
- ⚡ **自动发现**:工具会被系统自动识别和注册
|
||||
@@ -15,9 +15,9 @@
|
||||
|
||||
| 特征 | Action | Command | Tool |
|
||||
|-----|-------|---------|------|
|
||||
| **主要用途** | 扩展麦麦行为能力 | 响应用户指令 | 扩展麦麦信息获取 |
|
||||
| **触发方式** | 麦麦智能决策 | 用户主动触发 | LLM根据需要调用 |
|
||||
| **目标** | 让麦麦做更多事情 | 提供具体功能 | 让麦麦知道更多信息 |
|
||||
| **主要用途** | 扩展MoFox_Bot行为能力 | 响应用户指令 | 扩展MoFox_Bot信息获取 |
|
||||
| **触发方式** | MoFox_Bot智能决策 | 用户主动触发 | LLM根据需要调用 |
|
||||
| **目标** | 让MoFox_Bot做更多事情 | 提供具体功能 | 让MoFox_Bot知道更多信息 |
|
||||
| **使用场景** | 增强交互体验 | 功能服务 | 信息查询和分析 |
|
||||
|
||||
## 🏗️ Tool组件的基本结构
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 1. 系统概述与目标
|
||||
|
||||
本系统旨在为Bot引入一个动态的、由大型语言模型(LLM)驱动的“月层计划”机制。其核心目标是取代静态、预设的任务模板,转而利用LLM在程序启动时自动生成符合Bot人设的、具有时效性的月度计划。这些计划将被存储、管理,并在构建每日日程时被动态抽取和使用,从而极大地丰富日程内容的个性和多样性。
|
||||
本系统旨在为MoFox_Bot引入一个动态的、由大型语言模型(LLM)驱动的“月层计划”机制。其核心目标是取代静态、预设的任务模板,转而利用LLM在程序启动时自动生成符合Bot人设的、具有时效性的月度计划。这些计划将被存储、管理,并在构建每日日程时被动态抽取和使用,从而极大地丰富日程内容的个性和多样性。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 🚀 MaiBot-Plus 系统优化完成报告
|
||||
# 🚀 MoFox_Bot 系统优化完成报告
|
||||
|
||||
## 📋 问题解决总结
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
### 📝 使用建议
|
||||
|
||||
1. **立即生效**: 重启MaiBot-Plus即可使用新的异步系统
|
||||
1. **立即生效**: 重启MoFox_Bot即可使用新的异步系统
|
||||
2. **监控日志**: 观察是否有"异步记忆"相关日志
|
||||
3. **性能测试**: 可运行`test_async_optimization.py`验证性能
|
||||
4. **故障排查**: 如有问题会自动回退到原系统
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
本次优化彻底解决了记忆系统阻塞和Action组件错误的问题,同时大幅提升了系统性能和稳定性。所有修改都遵循向后兼容原则,确保平滑升级。
|
||||
|
||||
**立即重启MaiBot-Plus即可享受流畅的新体验!** 🚀
|
||||
**立即重启MoFox_Bot即可享受流畅的新体验!** 🚀
|
||||
|
||||
---
|
||||
*优化完成时间: 2025年8月22日*
|
||||
|
||||
@@ -109,7 +109,7 @@ class InstantMemory:
|
||||
memory_id=memory_item.memory_id,
|
||||
chat_id=memory_item.chat_id,
|
||||
memory_text=memory_item.memory_text,
|
||||
keywords=memory_item.keywords,
|
||||
keywords=json.dumps(memory_item.keywords, ensure_ascii=False),
|
||||
create_time=memory_item.create_time,
|
||||
last_view_time=memory_item.last_view_time,
|
||||
)
|
||||
@@ -171,11 +171,10 @@ class InstantMemory:
|
||||
query = session.execute(select(Memory).where(Memory.chat_id == self.chat_id)).scalars()
|
||||
for mem in query:
|
||||
# 对每条记忆
|
||||
mem_keywords = mem.keywords or ""
|
||||
parsed = ast.literal_eval(mem_keywords)
|
||||
if isinstance(parsed, list):
|
||||
mem_keywords = [str(k).strip() for k in parsed if str(k).strip()]
|
||||
else:
|
||||
mem_keywords_str = mem.keywords or "[]"
|
||||
try:
|
||||
mem_keywords = json.loads(mem_keywords_str)
|
||||
except json.JSONDecodeError:
|
||||
mem_keywords = []
|
||||
# logger.info(f"mem_keywords: {mem_keywords}")
|
||||
# logger.info(f"keywords_list: {keywords_list}")
|
||||
|
||||
@@ -287,6 +287,7 @@ class LLMRequest:
|
||||
# 模型选择和请求准备
|
||||
start_time = time.time()
|
||||
model_info, api_provider, client = self._select_model()
|
||||
model_name = model_info.name
|
||||
|
||||
# 检查是否启用反截断
|
||||
use_anti_truncation = getattr(self.model_for_task, "anti_truncation", False)
|
||||
@@ -403,7 +404,7 @@ class LLMRequest:
|
||||
# 重试失败
|
||||
if raise_when_empty:
|
||||
raise RuntimeError(f"经过 {max_empty_retry} 次重试后仍然无法生成有效回复")
|
||||
return "生成的响应为空,请检查模型配置或输入内容是否正确", ("", model_info.name, None)
|
||||
return "生成的响应为空,请检查模型配置或输入内容是否正确", ("", model_name, None)
|
||||
|
||||
async def get_embedding(self, embedding_input: str) -> Tuple[List[float], str]:
|
||||
"""获取嵌入向量
|
||||
@@ -565,7 +566,7 @@ class LLMRequest:
|
||||
Returns:
|
||||
(等待间隔(如果为0则不等待,为-1则不再请求该模型), 新的消息列表(适用于压缩消息))
|
||||
"""
|
||||
model_name = model_info.name
|
||||
model_name = model_info.name if model_info else "unknown"
|
||||
|
||||
if isinstance(e, NetworkConnectionError): # 网络连接错误
|
||||
return self._check_retry(
|
||||
|
||||
@@ -58,7 +58,7 @@ class CookieService:
|
||||
else:
|
||||
response = await send_api.adapter_command_to_stream(action="get_cookies", params=params, platform="qq", timeout=40.0)
|
||||
|
||||
if response.get("status") == "ok":
|
||||
if response and response.get("status") == "ok":
|
||||
cookie_str = response.get("data", {}).get("cookies", "")
|
||||
if cookie_str:
|
||||
return {k.strip(): v.strip() for k, v in (p.split('=', 1) for p in cookie_str.split('; ') if '=' in p)}
|
||||
|
||||
Reference in New Issue
Block a user