From 7d19a6728f80b353f830049f13e94e23cc76a416 Mon Sep 17 00:00:00 2001
From: SengokuCola <1026294844@qq.com>
Date: Wed, 30 Apr 2025 17:50:20 +0800
Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E5=8F=91=E5=B8=830.6.3=E5=89=8D?=
=?UTF-8?q?=E7=9A=84=E5=87=86=E5=A4=87=E5=B7=A5=E4=BD=9C=EF=BC=8Cchanglog?=
=?UTF-8?q?=EF=BC=8Creadme=EF=BC=8C=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 31 +++-----
src/api/config_api.py | 2 +-
src/config/config.py | 6 +-
.../tool_can_use/lpmm_get_knowledge.py | 2 +-
src/heart_flow/0.6Bing.md | 12 ++-
.../heartFC_chat/normal_chat_generator.py | 2 +-
src/plugins/memory_system/Hippocampus.py | 6 +-
src/plugins/memory_system/memory_config.py | 6 +-
template/bot_config_template.toml | 74 ++++++++-----------
(临时版)聊天兴趣监控.bat.bat | 26 +++++++
...(测试版)麦麦生成人格 copy.bat | 0
11 files changed, 90 insertions(+), 77 deletions(-)
create mode 100644 (临时版)聊天兴趣监控.bat.bat
rename (测试版)麦麦生成人格.bat => (测试版)麦麦生成人格 copy.bat (100%)
diff --git a/README.md b/README.md
index 820d7d62..58cb82c7 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@
### 📢 版本信息
-**最新版本: v0.6.2** ([查看更新日志](changelogs/changelog.md))
+**最新版本: v0.6.3** ([查看更新日志](changelogs/changelog.md))
> [!WARNING]
> 请阅读教程后更新!!!!!!!
> 请阅读教程后更新!!!!!!!
@@ -110,19 +110,20 @@
- [🚀 最新版本部署教程](https://docs.mai-mai.org/manual/deployment/mmc_deploy_windows.html) - 基于MaiCore的新版本部署方式(与旧版本不兼容)
-## 🎯 功能介绍
+## 🎯 0.6.3 功能介绍
| 模块 | 主要功能 | 特点 |
|----------|------------------------------------------------------------------|-------|
-| 💬 聊天系统 | • 心流/推理聊天
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC) | 拟人化交互 |
-| 🧠 心流系统 | • 实时思考生成
• 自动启停机制
• 日程系统联动
• 工具调用能力 | 智能化决策 |
-| 🧠 记忆系统 | • 优化记忆抽取
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 |
-| 😊 表情系统 | • 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 |
+| 💬 聊天系统 | • **统一调控不同回复逻辑**
• 智能交互模式 (普通聊天/专注聊天)
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC)增强 | 拟人化交互 |
+| 🧠 心流系统 | • 实时思考生成
• **智能状态管理**
• **概率回复机制**
• 自动启停机制
• 日程系统联动
• **上下文感知工具调用** | 智能化决策 |
+| 🧠 记忆系统 | • **记忆整合与提取**
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 |
+| 😊 表情系统 | • **全新表情包系统**
• **优化选择逻辑**
• 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 |
| 📅 日程系统 | • 动态日程生成
• 自定义想象力
• 思维流联动 | 智能规划 |
-| 👥 关系系统 | • 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 |
+| 👥 关系系统 | • **工具调用动态更新**
• 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 |
| 📊 统计系统 | • 使用数据统计
• LLM调用记录
• 实时控制台显示 | 数据可视 |
-| 🔧 系统功能 | • 优雅关闭机制
• 自动数据保存
• 异常处理完善 | 稳定可靠 |
-| 🛠️ 工具系统 | • 知识获取工具
• 自动注册机制
• 多工具支持 | 扩展功能 |
+| 🛠️ 工具系统 | • **LPMM知识库集成**
• **上下文感知调用**
• 知识获取工具
• 自动注册机制
• 多工具支持 | 扩展功能 |
+| 📚 **知识库(LPMM)** | • **全新LPMM系统**
• **强大的信息检索能力** | 知识增强 |
+| ✨ **昵称系统** | • **自动为群友取昵称**
• **降低认错人概率** (早期阶段) | 身份识别 |
## 📐 项目架构
@@ -142,18 +143,6 @@ graph TD
E --> M[情绪识别]
```
-
-## 开发计划TODO:LIST
-
-- 人格功能:WIP
-- 对特定对象的侧写功能
-- 图片发送,转发功能:WIP
-- 幽默和meme功能:WIP
-- 兼容gif的解析和保存
-- 小程序转发链接解析
-- 修复已知bug
-- 自动生成的回复逻辑,例如自生成的回复方向,回复风格
-
## ✍️如何给本项目报告BUG/提交建议/做贡献
MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献,无论是提交bug报告、功能需求还是代码pr,都对项目非常宝贵。我们非常感谢你的支持!🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](depends-data/CONTRIBUTE.md)(待补完)
diff --git a/src/api/config_api.py b/src/api/config_api.py
index fbc31433..025888d8 100644
--- a/src/api/config_api.py
+++ b/src/api/config_api.py
@@ -132,7 +132,7 @@ class BotConfig:
# llm_reasoning_minor: Dict[str, str]
llm_normal: Dict[str, str] # LLM普通
llm_topic_judge: Dict[str, str] # LLM话题判断
- llm_summary_by_topic: Dict[str, str] # LLM话题总结
+ llm_summary: Dict[str, str] # LLM话题总结
llm_emotion_judge: Dict[str, str] # LLM情感判断
embedding: Dict[str, str] # 嵌入
vlm: Dict[str, str] # VLM
diff --git a/src/config/config.py b/src/config/config.py
index f7e57542..388ee55b 100644
--- a/src/config/config.py
+++ b/src/config/config.py
@@ -279,8 +279,7 @@ class BotConfig:
# llm_reasoning_minor: Dict[str, str] = field(default_factory=lambda: {})
llm_normal: Dict[str, str] = field(default_factory=lambda: {})
llm_topic_judge: Dict[str, str] = field(default_factory=lambda: {})
- llm_summary_by_topic: Dict[str, str] = field(default_factory=lambda: {})
- llm_emotion_judge: Dict[str, str] = field(default_factory=lambda: {})
+ llm_summary: Dict[str, str] = field(default_factory=lambda: {})
embedding: Dict[str, str] = field(default_factory=lambda: {})
vlm: Dict[str, str] = field(default_factory=lambda: {})
moderation: Dict[str, str] = field(default_factory=lambda: {})
@@ -481,8 +480,7 @@ class BotConfig:
# "llm_reasoning_minor",
"llm_normal",
"llm_topic_judge",
- "llm_summary_by_topic",
- "llm_emotion_judge",
+ "llm_summary",
"vlm",
"embedding",
"llm_tool_use",
diff --git a/src/do_tool/tool_can_use/lpmm_get_knowledge.py b/src/do_tool/tool_can_use/lpmm_get_knowledge.py
index 7aab8495..4dba1bc7 100644
--- a/src/do_tool/tool_can_use/lpmm_get_knowledge.py
+++ b/src/do_tool/tool_can_use/lpmm_get_knowledge.py
@@ -14,7 +14,7 @@ class SearchKnowledgeFromLPMMTool(BaseTool):
"""从LPMM知识库中搜索相关信息的工具"""
name = "lpmm_search_knowledge"
- description = "从知识库中搜索相关信息"
+ description = "从知识库中搜索相关信息,如果你需要知识,就使用这个工具"
parameters = {
"type": "object",
"properties": {
diff --git a/src/heart_flow/0.6Bing.md b/src/heart_flow/0.6Bing.md
index 6af057e2..de5628e7 100644
--- a/src/heart_flow/0.6Bing.md
+++ b/src/heart_flow/0.6Bing.md
@@ -81,4 +81,14 @@
- **基于人格生成预设知识:**
- 开发利用 LLM 和人格配置生成背景知识的功能。
- 这些知识应符合角色的行为风格和可能的经历。
- - 作为一种"冷启动"或丰富角色深度的方式。
\ No newline at end of file
+ - 作为一种"冷启动"或丰富角色深度的方式。
+
+
+## 开发计划TODO:LIST
+
+- 人格功能:WIP
+- 对特定对象的侧写功能
+- 图片发送,转发功能:WIP
+- 幽默和meme功能:WIP
+- 小程序转发链接解析
+- 自动生成的回复逻辑,例如自生成的回复方向,回复风格
\ No newline at end of file
diff --git a/src/plugins/heartFC_chat/normal_chat_generator.py b/src/plugins/heartFC_chat/normal_chat_generator.py
index 0ad9707f..02baf94d 100644
--- a/src/plugins/heartFC_chat/normal_chat_generator.py
+++ b/src/plugins/heartFC_chat/normal_chat_generator.py
@@ -29,7 +29,7 @@ class NormalChatGenerator:
)
self.model_sum = LLMRequest(
- model=global_config.llm_summary_by_topic, temperature=0.7, max_tokens=3000, request_type="relation"
+ model=global_config.llm_summary, temperature=0.7, max_tokens=3000, request_type="relation"
)
self.current_model_type = "r1" # 默认使用 R1
self.current_model_name = "unknown model"
diff --git a/src/plugins/memory_system/Hippocampus.py b/src/plugins/memory_system/Hippocampus.py
index e5aa096f..7a5fc1a8 100644
--- a/src/plugins/memory_system/Hippocampus.py
+++ b/src/plugins/memory_system/Hippocampus.py
@@ -189,7 +189,7 @@ class Hippocampus:
def __init__(self):
self.memory_graph = MemoryGraph()
self.llm_topic_judge = None
- self.llm_summary_by_topic = None
+ self.llm_summary = None
self.entorhinal_cortex = None
self.parahippocampal_gyrus = None
self.config = None
@@ -203,7 +203,7 @@ class Hippocampus:
# 从数据库加载记忆图
self.entorhinal_cortex.sync_memory_from_db()
self.llm_topic_judge = LLMRequest(self.config.llm_topic_judge, request_type="memory")
- self.llm_summary_by_topic = LLMRequest(self.config.llm_summary_by_topic, request_type="memory")
+ self.llm_summary = LLMRequest(self.config.llm_summary, request_type="memory")
def get_all_node_names(self) -> list:
"""获取记忆图中所有节点的名字列表"""
@@ -1169,7 +1169,7 @@ class ParahippocampalGyrus:
# 调用修改后的 topic_what,不再需要 time_info
topic_what_prompt = self.hippocampus.topic_what(input_text, topic)
try:
- task = self.hippocampus.llm_summary_by_topic.generate_response_async(topic_what_prompt)
+ task = self.hippocampus.llm_summary.generate_response_async(topic_what_prompt)
tasks.append((topic.strip(), task))
except Exception as e:
logger.error(f"生成话题 '{topic}' 的摘要时发生错误: {e}")
diff --git a/src/plugins/memory_system/memory_config.py b/src/plugins/memory_system/memory_config.py
index b2fb7280..aa8850d3 100644
--- a/src/plugins/memory_system/memory_config.py
+++ b/src/plugins/memory_system/memory_config.py
@@ -24,7 +24,7 @@ class MemoryConfig:
consolidate_memory_interval: int # 记忆整合间隔
llm_topic_judge: str # 话题判断模型
- llm_summary_by_topic: str # 话题总结模型
+ llm_summary: str # 话题总结模型
@classmethod
def from_global_config(cls, global_config):
@@ -44,7 +44,7 @@ class MemoryConfig:
consolidate_memory_percentage=getattr(global_config, "consolidate_memory_percentage", 0.01),
consolidate_memory_interval=getattr(global_config, "consolidate_memory_interval", 1000),
llm_topic_judge=getattr(global_config, "llm_topic_judge", "default_judge_model"), # 添加默认模型名
- llm_summary_by_topic=getattr(
- global_config, "llm_summary_by_topic", "default_summary_model"
+ llm_summary=getattr(
+ global_config, "llm_summary", "default_summary_model"
), # 添加默认模型名
)
diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml
index 2be1ca4f..23368cca 100644
--- a/template/bot_config_template.toml
+++ b/template/bot_config_template.toml
@@ -197,55 +197,44 @@ pfc_chatting = false # 是否启用PFC聊天,该功能仅作用于私聊,与
# stream = : 用于指定模型是否是使用流式输出
# 如果不指定,则该项是 False
-[model.llm_reasoning] #只在回复模式为reasoning时启用
+#这个模型必须是推理模型
+[model.llm_reasoning] # 一般聊天模式的推理回复模型
name = "Pro/deepseek-ai/DeepSeek-R1"
-# name = "Qwen/QwQ-32B"
provider = "SILICONFLOW"
-pri_in = 4 #模型的输入价格(非必填,可以记录消耗)
-pri_out = 16 #模型的输出价格(非必填,可以记录消耗)
+pri_in = 1.0 #模型的输入价格(非必填,可以记录消耗)
+pri_out = 4.0 #模型的输出价格(非必填,可以记录消耗)
-#非推理模型
-
-[model.llm_normal] #V3 回复模型1 主要回复模型,默认temp 0.2 如果你使用的是老V3或者其他模型,请自己修改temp参数
+[model.llm_normal] #V3 回复模型 专注和一般聊天模式共用的回复模型
name = "Pro/deepseek-ai/DeepSeek-V3"
provider = "SILICONFLOW"
pri_in = 2 #模型的输入价格(非必填,可以记录消耗)
pri_out = 8 #模型的输出价格(非必填,可以记录消耗)
+#默认temp 0.2 如果你使用的是老V3或者其他模型,请自己修改temp参数
temp = 0.2 #模型的温度,新V3建议0.1-0.3
-[model.llm_emotion_judge] #表情包判断
-name = "Qwen/Qwen2.5-14B-Instruct"
-provider = "SILICONFLOW"
-pri_in = 0.7
-pri_out = 0.7
-
-[model.llm_topic_judge] #记忆主题判断:建议使用qwen2.5 7b
+[model.llm_topic_judge] #主题判断模型:建议使用qwen2.5 7b
name = "Pro/Qwen/Qwen2.5-7B-Instruct"
provider = "SILICONFLOW"
-pri_in = 0
-pri_out = 0
+pri_in = 0.35
+pri_out = 0.35
-[model.llm_summary_by_topic] #概括模型,建议使用qwen2.5 32b 及以上
+[model.llm_summary] #概括模型,建议使用qwen2.5 32b 及以上
name = "Qwen/Qwen2.5-32B-Instruct"
provider = "SILICONFLOW"
pri_in = 1.26
pri_out = 1.26
-[model.llm_tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b
-name = "Qwen/Qwen2.5-32B-Instruct"
-provider = "SILICONFLOW"
-pri_in = 1.26
-pri_out = 1.26
-
-# 识图模型
-
-[model.vlm] #图像识别
+[model.vlm] # 图像识别模型
name = "Pro/Qwen/Qwen2.5-VL-7B-Instruct"
provider = "SILICONFLOW"
pri_in = 0.35
pri_out = 0.35
-
+[model.llm_heartflow] # 用于控制麦麦是否参与聊天的模型
+name = "Qwen/Qwen2.5-32B-Instruct"
+provider = "SILICONFLOW"
+pri_in = 1.26
+pri_out = 1.26
[model.llm_observation] #观察模型,压缩聊天内容,建议用免费的
# name = "Pro/Qwen/Qwen2.5-7B-Instruct"
@@ -254,19 +243,18 @@ provider = "SILICONFLOW"
pri_in = 0
pri_out = 0
-[model.llm_sub_heartflow] #子心流:认真水群时,生成麦麦的内心想法
-name = "Qwen/Qwen2.5-72B-Instruct"
+[model.llm_sub_heartflow] #心流:认真水群时,生成麦麦的内心想法,必须使用具有工具调用能力的模型
+name = "Pro/deepseek-ai/DeepSeek-V3"
provider = "SILICONFLOW"
-pri_in = 4.13
-pri_out = 4.13
-temp = 0.7 #模型的温度,新V3建议0.1-0.3
+pri_in = 2
+pri_out = 8
+temp = 0.3 #模型的温度,新V3建议0.1-0.3
-
-[model.llm_plan] #决策模型:认真水群时,负责决定麦麦该做什么
-name = "Qwen/Qwen2.5-32B-Instruct"
+[model.llm_plan] #决策:认真水群时,负责决定麦麦该做什么
+name = "Pro/deepseek-ai/DeepSeek-V3"
provider = "SILICONFLOW"
-pri_in = 1.26
-pri_out = 1.26
+pri_in = 2
+pri_out = 8
#嵌入模型
@@ -303,11 +291,13 @@ pri_in = 2
pri_out = 8
-#此模型暂时没有使用!!
-#此模型暂时没有使用!!
-#此模型暂时没有使用!!
-[model.llm_heartflow] #心流
-# name = "Pro/Qwen/Qwen2.5-7B-Instruct"
+#以下模型暂时没有使用!!
+#以下模型暂时没有使用!!
+#以下模型暂时没有使用!!
+#以下模型暂时没有使用!!
+#以下模型暂时没有使用!!
+
+[model.llm_tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b
name = "Qwen/Qwen2.5-32B-Instruct"
provider = "SILICONFLOW"
pri_in = 1.26
diff --git a/(临时版)聊天兴趣监控.bat.bat b/(临时版)聊天兴趣监控.bat.bat
new file mode 100644
index 00000000..f26d14de
--- /dev/null
+++ b/(临时版)聊天兴趣监控.bat.bat
@@ -0,0 +1,26 @@
+@echo off
+CHCP 65001 > nul
+setlocal enabledelayedexpansion
+
+REM 查找venv虚拟环境
+set "venv_path=%~dp0venv\Scripts\activate.bat"
+if not exist "%venv_path%" (
+ echo 错误: 未找到虚拟环境,请确保venv目录存在
+ pause
+ exit /b 1
+)
+
+REM 激活虚拟环境
+call "%venv_path%"
+if %ERRORLEVEL% neq 0 (
+ echo 错误: 虚拟环境激活失败
+ pause
+ exit /b 1
+)
+
+echo 虚拟环境已激活,正在启动 GUI...
+
+REM 运行 Python 脚本
+python scripts/interest_monitor_gui.py
+
+pause
\ No newline at end of file
diff --git a/(测试版)麦麦生成人格.bat b/(测试版)麦麦生成人格 copy.bat
similarity index 100%
rename from (测试版)麦麦生成人格.bat
rename to (测试版)麦麦生成人格 copy.bat