Windpicker-owo
|
314021218e
|
更新MMC版本至0.13.1-alpha.2
|
2025-12-13 22:49:39 +08:00 |
|
Windpicker-owo
|
2f38d220c3
|
优化配置类,添加元信息和日志配置,调整验证策略以禁止额外字段
|
2025-12-13 22:35:34 +08:00 |
|
Windpicker-owo
|
1087d46ce2
|
chore: 将MMC_VERSION更新至0.13.1-alpha.1
|
2025-12-12 15:02:16 +08:00 |
|
Windpicker-owo
|
da3752725e
|
chore: 更新版本号至0.13.1-alpha.2和8.0.0,调整兴趣评分阈值
|
2025-12-12 14:59:44 +08:00 |
|
雅诺狐
|
4592e37c10
|
fix(config): 修复配置加载中的类型验证问题,避免Pydantic严格模式下的错误
|
2025-12-10 15:11:25 +08:00 |
|
Windpicker-owo
|
01bcfb491a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-08 17:19:33 +08:00 |
|
Windpicker-owo
|
a1d60ab026
|
启用数据库预加载器,清理日志
|
2025-12-08 17:17:53 +08:00 |
|
雅诺狐
|
3edcc9d169
|
ruff
|
2025-12-08 15:48:40 +08:00 |
|
Windpicker-owo
|
1dfa44b32b
|
fix(config): 更新版本号至 0.13.1-alpha.1
|
2025-12-04 22:04:27 +08:00 |
|
Windpicker-owo
|
4e0012dba9
|
fix(config): 更新版本号为 0.13.0
|
2025-12-04 09:11:21 +08:00 |
|
Windpicker-owo
|
b46ad71d20
|
feat(emoji): 添加提取精炼描述的辅助函数并优化表情包发送信息
|
2025-12-01 18:44:31 +08:00 |
|
Windpicker-owo
|
18906826d4
|
chore(config): 更新 MMC_VERSION 至 0.13.0-alpha.5
|
2025-12-01 16:20:29 +08:00 |
|
拾风
|
28c54dbec6
|
Merge branch 'dev' into feature/kfc
|
2025-12-01 16:06:47 +08:00 |
|
ikun-11451
|
acafc074b1
|
依旧修pyright喵喵喵~
|
2025-11-29 22:20:55 +08:00 |
|
tt-P607
|
0746a73bce
|
feat(KFC): 🎉 Kokoro Flow Chatter 心流聊天器 - 私聊专属处理系统从零构建完成
这是一个全新的私聊聊天处理器,专为深度情感交互设计,从架构设计到代码实现全部从零完成。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏗️ 核心架构 (7个核心模块)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📁 src/plugins/built_in/kokoro_flow_chatter/
├── chatter.py # 主处理器 - 协调所有组件的核心类
├── context_builder.py # S4U上下文构建器 - 超融合上下文系统
├── prompt_generator.py # V6三明治提示词生成器
├── action_executor.py # 动作执行器 - 解析+执行LLM动作
├── response_post_processor.py # 回复后处理器 - 分割+错别字
├── models.py # 数据模型 - Session/情感状态/心理日志
├── session_manager.py # 会话管理器 - 用户状态持久化
├── scheduler.py # 调度器 - 主动思考/超时处理
├── config.py # 配置类
└── plugin.py # 插件注册入口
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ 核心特性
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【V1-V3 基础框架】
- 心理状态驱动的交互模型 (KokoroSession)
- 连续时间观念和等待体验 (IDLE→RESPONDING→WAITING状态机)
- 心理日志系统 (MentalLogEntry)
- 动态情感状态 (EmotionalState)
【V4 动作系统集成】
- 动态动作发现 (复用ChatterActionManager)
- 支持所有AFC动作 (reply/emoji/poke_user/set_emoji_like等)
- LLM响应JSON解析和验证
【V5 超融合上下文】
- S4U用户中心上下文检索
- 三层记忆系统集成 (感知/短期/长期)
- 时间感知块 (时间段+日程+情境)
- 人物关系信息注入
- 跨聊天上下文共享
【V6 最终优化】
- 三明治提示词结构 (系统层→上下文层→指令层)
- ActionModifier动作筛选器集成 (三阶段预筛选)
- 阶段0: 聊天类型过滤
- 阶段2: 关联类型匹配
- 阶段3: go_activate()激活判定
- 回复分割器复用AFC核心逻辑 (split_into_sentences_w_remove_punctuation)
- 修复model配置 (使用replyer而非utils)
- 修复context_builder异步问题
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 技术细节
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
提示词结构 (V6三明治):
┌─────────────────────────────────────┐
│ 🍞 系统层 (人设/身份/表达风格) │
├─────────────────────────────────────┤
│ 🥬 上下文层 │
│ ├─ 时间感知块 │
│ ├─ 三层记忆 (感知+短期+长期) │
│ ├─ 人物关系 │
│ ├─ 对话历史 │
│ └─ 用户最新消息 │
├─────────────────────────────────────┤
│ 🍞 指令层 (JSON输出格式/可用动作) │
└─────────────────────────────────────┘
动作筛选效果: 13个动作 → 约5-7个 (节省token+提升决策质量)
回复分割: 长消息自动按标点分割成多条发送
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 配置项 (bot_config.toml)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[kokoro_flow_chatter]
enable = true
max_wait_seconds_default = 300
enable_continuous_thinking = true
[kokoro_flow_chatter.proactive_thinking]
enabled = true
silence_threshold_seconds = 7200
min_affinity_for_proactive = 0.3
min_interval_between_proactive = 1800
enable_morning_greeting = true
enable_night_greeting = true
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 设计理念
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
KFC不是独立人格,而是:
- 复用全局人设、情感框架和回复模型
- 专注于"体验→决策→行动"的私聊交互模式
- 从"消息响应者"转变为"对话体验者"
- 深度情感连接和长期关系维护
|
2025-11-29 02:05:56 +08:00 |
|
Windpicker-owo
|
73aaedaca6
|
fix: 更新硬编码的版本号至 0.13.0-alpha.4
|
2025-11-27 22:09:29 +08:00 |
|
Windpicker-owo
|
369639a8f1
|
feat: 添加守护线程版本的队列监听器以避免阻塞退出,优化配置初始化逻辑,改进消息构建中的用户信息处理
|
2025-11-27 14:06:17 +08:00 |
|
Windpicker-owo
|
3f02804d9d
|
chore(config): 更新版本号至0.13.0-alpha.3
|
2025-11-26 22:05:13 +08:00 |
|
Windpicker-owo
|
fee7611e99
|
feat: 实现消息编解码器和消息处理模型
- 添加编解码器,用于序列化和反序列化MessageEnvelope对象。
- 创建消息模型,包括分段(Seg)、群组信息(GroupInfo)、用户信息(UserInfo)、格式信息(FormatInfo)、模板信息(TemplateInfo)、基础消息信息(BaseMessageInfo)和消息基础(MessageBase)。
引入路由器以管理消息路由和连接。
- 实现运行时机制,通过钩子和路由来处理消息处理。
- 使用HTTP和WebSocket客户端和服务器开发传输层,以进行消息传输。
- 为消息内容和信封定义类型,以标准化消息结构。
|
2025-11-21 18:40:51 +08:00 |
|
Windpicker-owo
|
8dc754e562
|
fix(config): 更新 MMC_VERSION 至 0.13.0-alpha.2
|
2025-11-20 18:40:07 +08:00 |
|
tt-P607
|
5a93867417
|
fix(config): 临时修复 master_users 加载失败问题
问题描述:
由于未明原因,配置文件(bot_config.toml)中的 `permission.master_users` 字段在加载过程中被意外清空,导致权限系统无法正确识别 Master 用户。初步排查指向复杂的配置版本自动更新与迁移逻辑。
解决方案:
在 `config.py` 的 `load_config` 函数中,于 Pydantic 模型验证完成后,增加了一段临时修复代码。该代码会从 `tomlkit` 解析出的原始配置数据中,重新读取 `master_users` 的值,并将其强制赋给最终的 `config` 对象。
具体实现:
1. 使用 `config_data.unwrap()` 将 `tomlkit` 对象安全地转换为标准 Python 字典。
2. 从字典中提取 `permission.master_users` 的值。
3. 将提取到的值直接赋给 `config.permission.master_users`。
4. 添加了详细的日志,以便追踪此修复操作的执行情况。
影响:
- **正面**:立即恢复了 Master 用户的识别功能,解决了权限检查失效的核心问题。
- **注意**:这是一个临时性的解决方案(workaround),并未从根本上解决配置更新逻辑中可能存在的缺陷。后续仍需对该逻辑进行深入排查和重构。
|
2025-11-20 14:39:27 +08:00 |
|
Windpicker-owo
|
e70779347a
|
feat: 重构记忆系统配置,移除三层记忆相关配置,优化全局记忆管理逻辑,支持批量生成文本向量
|
2025-11-19 23:58:51 +08:00 |
|
Windpicker-owo
|
e44f238e53
|
feat:实现短期内存管理器和统一内存管理器
- 添加了ShortTermMemoryManager来管理短期记忆,包括提取、决策和记忆操作。
- 集成大型语言模型(LLM),用于结构化记忆提取和决策过程。
- 基于重要性阈值,实现了从短期到长期的内存转移逻辑。
- 创建了UnifiedMemoryManager,通过统一接口整合感知记忆、短期记忆和长期记忆的管理。
- 通过法官模型评估来增强记忆提取过程的充分性。
- 增加了自动和手动内存传输功能。
- 包含内存管理操作和决策的全面日志记录。
|
2025-11-19 23:58:48 +08:00 |
|
minecraft1024a
|
717d4ba555
|
feat(plugin_system): 引入插件HTTP端点系统
引入了全新的 `BaseRouterComponent` 组件类型,允许插件开发者通过继承并实现 `register_endpoints` 方法来创建 FastAPI 路由。
- 插件系统现在可以自动发现并注册这些路由组件,并将它们挂载到主 FastAPI 应用的 `/plugins/<plugin_name>` 前缀下。
- 新增了全局配置 `[plugin_http_system]`,提供了总开关、API 速率限制和 API 密钥认证 (`X-API-Key`) 等功能,以确保端点的安全性和稳定性。
- 更新了 `hello_world_plugin` 插件,增加了一个简单的 `/greet` 端点作为实现示例。
|
2025-11-19 23:58:48 +08:00 |
|
minecraft1024a
|
80b5c3c6f8
|
refactor(prompt): 移除注意力优化功能
注意力优化功能(通过添加随机空白字符或语义变体)被证明效果不佳且可能引入不稳定性。
为了简化代码库、减少用户配置的复杂性并提高系统的稳定性,决定移除此实验性功能。这使得提示词构建过程更加直接和可预测。
BREAKING CHANGE: 移除了注意力优化功能及其所有相关配置。用户需要从配置文件中移除 `[attention_optimization]` 部分。
|
2025-11-19 23:58:46 +08:00 |
|
Windpicker-owo
|
40709d95de
|
rebase 清理
|
2025-11-19 23:45:47 +08:00 |
|
Windpicker-owo
|
05205c60b3
|
更新版本号
|
2025-11-19 23:37:54 +08:00 |
|
Windpicker-owo
|
c0e400f423
|
feat(attention): 添加注意力优化器以增强提示词多样性和防止注意力退化
refactor(prompt): 使用 asyncio.gather 替代 as_completed 以提升并发性能
refactor(config): 添加注意力优化配置选项
refactor(prompt_params): 增加注意力优化开关
|
2025-11-19 23:37:37 +08:00 |
|
明天好像没什么
|
5d7d19625e
|
创建了新的反注入
|
2025-11-19 23:36:36 +08:00 |
|
明天好像没什么
|
26d22e5dd8
|
ruff
|
2025-11-19 23:36:06 +08:00 |
|
Windpicker-owo
|
b6a693895b
|
feat: 重构聊天系统的内存处理与格式化功能
- 更新了DefaultReplyer,采用新的内存格式化工具以提供更优质的内存描述。
- 已移除 Config 类中已弃用的内存配置。
- 在主系统中增强内存系统初始化检查,确保配置正确。
- 优化了MemoryManager,使其可直接使用全局配置进行内存设置。
- 新增了一个内存格式化工具,用于将内存对象转换为自然语言描述。
- 更新了内存工具,提供了更清晰的内存创建与管理指南。
- 精炼插件工具与使用提示,提升用户交互体验与记忆准确性。
- 根据内存系统结构的变化调整了机器人配置模板。
|
2025-11-19 23:32:11 +08:00 |
|
Windpicker-owo
|
5439e3bd82
|
fix(memory-graph): 修复集成测试问题
- 修复Config类memory字段验证问题 (改为Optional)
- 为Memory模型添加activation属性
- 修复CreateMemoryTool返回值 (添加memory_id)
- 为GraphStore添加remove_memory方法
- 修复integration测试脚本
- 所有集成测试通过 (5/5)
Changes:
- src/config/config.py: memory字段改为Optional
- src/memory_graph/models.py: 添加activation属性
- src/memory_graph/plugin_tools/memory_plugin_tools.py: 返回memory_id
- src/memory_graph/storage/graph_store.py: 添加remove_memory方法
- tests/test_memory_graph_integration.py: 修复工具返回值检查
Tests:
基本记忆操作 (CRUD + 检索)
LLM工具集成 (创建记忆)
记忆生命周期 (激活/整合/遗忘)
维护任务 (调度+手动执行)
配置系统 (默认/自定义/bot_config)
|
2025-11-19 23:32:09 +08:00 |
|
Windpicker-owo
|
ab8d43bb49
|
fix(config): 更新MMC版本号至0.12.0-alpha-1
|
2025-11-19 23:31:53 +08:00 |
|
Windpicker-owo
|
7534536e22
|
refactor(config): 移除普通聊天配置及相关字段,更新配置模板以反映变更
|
2025-11-19 23:30:18 +08:00 |
|
minecraft1024a
|
2ee6aa3951
|
refactor(core): 优化类型提示与代码风格
本次提交对项目代码进行了广泛的重构,主要集中在以下几个方面:
1. **类型提示现代化**:
- 将 `typing` 模块中的 `Optional[T]`、`List[T]`、`Dict[K, V]` 等旧式类型提示更新为现代的 `T | None`、`list[T]`、`dict[K, V]` 语法。
- 这提高了代码的可读性,并与较新 Python 版本的风格保持一致。
2. **代码风格统一**:
- 移除了多余的空行和不必要的空格,使代码更加紧凑和规范。
- 统一了部分日志输出的格式,增强了日志的可读性。
3. **导入语句优化**:
- 调整了部分模块的 `import` 语句顺序,使其符合 PEP 8 规范。
这些更改不涉及任何功能性变动,旨在提升代码库的整体质量、可维护性和开发体验。
|
2025-11-19 23:30:12 +08:00 |
|
minecraft1024a
|
bdcd50468c
|
refactor(reaction): 重构关键词反应系统为通用反应规则系统
将原有的 `keyword_reaction` 系统重构为一个更通用、更强大的 `reaction` 系统。新系统统一了关键词和正则表达式规则,并增加了按聊天流ID(`chat_stream_id`)进行规则作用域限定的功能。
主要变更包括:
- **统一配置模型**:将 `KeywordReactionConfig` 和 `KeywordRuleConfig` 合并重构为 `ReactionConfig` 和 `ReactionRuleConfig`,提供了更清晰、统一的规则定义方式。
- **增加作用域控制**:新的 `ReactionRuleConfig` 增加了 `chat_stream_id` 字段,允许规则被限定在全局范围或特定的聊天会话中。
- **简化逻辑实现**:`DefaultReplyer` 中的实现被重构,以适应新的配置模型,能够筛选并应用适用范围内的规则。
- **更新配置文件模板**:`bot_config_template.toml` 已更新,以反映新的 `[[reaction.rules]]` 配置结构,并提供了详细的注释说明。
- **新增辅助方法**:在 `ChatStream` 中添加了 `get_raw_id()` 方法,用于获取未哈希的原始聊天流ID,以支持新系统的作用域匹配。
BREAKING CHANGE: 关键词反应功能的配置结构已完全改变。旧的 `[keyword_reaction]` 配置不再兼容。用户需要将原有的 `keyword_rules` 和 `regex_rules` 迁移到新的 `[[reaction.rules]]` 格式。
|
2025-11-19 23:27:04 +08:00 |
|
minecraft1024a
|
7a797a1de6
|
refactor(core): 移除睡眠系统
由于睡眠系统存在设计缺陷、实现复杂且维护成本高,并且实际使用效果不佳,常常导致非预期的行为(如错过重要消息或在不应睡眠时睡眠),现决定将其从核心代码中完全移除。
移除内容包括:
- 删除了整个 `sleep_system` 模块及其所有相关逻辑、状态管理和定时任务。
- 清理了配置文件 `config.py` 和 `official_configs.py` 中的 `SleepSystemConfig`。
- 移除了 `main.py` 中关于睡眠系统的初始化调用。
- 清理了 `message_manager` 和 `proactive_thinker` 中对睡眠状态的检查。
- 更新了 `bot_config_template.toml` 模板文件,移除了所有睡眠系统相关的配置项。
此举旨在简化项目架构,提高系统的稳定性和可预测性。未来的相关功能可能会以更健壮、更模块化的插件形式重新实现。
|
2025-11-19 23:24:50 +08:00 |
|
Windpicker-owo
|
1eda54cb8f
|
feat(notice): 实现全局notice消息管理系统
添加全局notice管理器,将notice消息与普通消息分离处理。主要功能包括:
- 创建 GlobalNoticeManager 单例类,支持公共和特定聊天流作用域
- 在 message_manager 中集成notice检测和处理逻辑
- 扩展数据库模型和消息类,添加notice相关字段
- 在提示词生成器中添加notice信息块展示
- 配置系统支持notice相关参数设置
- 适配器插件增强notice类型识别和配置
notice消息特点:
- 默认不触发聊天流程,只记录到全局管理器
- 可在提示词中展示最近的系统通知
- 支持按类型设置不同的生存时间
- 支持公共notice(所有聊天可见)和流特定notice
BREAKING CHANGE: 数据库消息表结构变更,需要添加 is_public_notice 和 notice_type 字段
|
2025-11-19 23:23:55 +08:00 |
|
minecraft1024a
|
cca07bd16e
|
refactor: 将项目名称从 MaiBot 重命名为 MoFox-Bot
本次更新在整个代码库范围内将项目名称 "MaiBot" 及其相关变体(如 "maibot")统一重命名为 "MoFox-Bot"。
主要变更包括:
- 修改配置文件、模板和日志输出中的项目名称。
- 更新文档、注释和用户可见的字符串,以反映新的品牌名称。
- 调整插件元数据和描述。
|
2025-11-19 23:21:44 +08:00 |
|
Windpicker-owo
|
bdf0035034
|
refactor(chat): 重构关系系统并优化消息打断处理机制
- 移除独立的RelationshipConfig,将关系追踪参数整合到AffinityFlowConfig
- 实现消息打断后立即重新处理流程,提升交互响应性
- 优化关系追踪系统,添加概率筛选和超时保护机制
- 改进机器人自引用处理,确保消息内容正确显示
- 增强用户信息提取逻辑,兼容多种消息格式
- 添加异步后台任务处理,避免阻塞主回复流程
- 调整兴趣评分阈值和权重参数,优化消息匹配精度
|
2025-11-19 23:20:49 +08:00 |
|
雅诺狐
|
650b9038f2
|
更新版本号至0.11.1阿尔法第一版本
|
2025-11-19 23:20:43 +08:00 |
|
雅诺狐
|
b5f6ab4e01
|
为合并修改版本号
移除Dev分支后缀
|
2025-11-19 23:20:41 +08:00 |
|
minecraft1024a
|
2a89efe47a
|
ruff fix但指定了--unsafe-fixes
|
2025-11-19 23:19:42 +08:00 |
|
John Richard
|
a79253c714
|
re-style: 格式化代码
|
2025-11-19 23:13:20 +08:00 |
|
John Richard
|
00ba07e0e1
|
style: 格式化代码
|
2025-11-19 23:12:18 +08:00 |
|
minecraft1024a
|
2ada48c42b
|
feat(proactive_thinking): 实现一半并重构主动思考功能
重构了主动思考插件的底层逻辑,将其拆分为两个独立的后台任务,以实现更精细和人性化的主动交互策略。
- **`ColdStartTask` (破冰任务)**:
- 专门处理在私聊白名单中但从未有过交互的用户。
- 任务启动时,会扫描白名单,为新用户主动创建聊天流并发起初次问候,实现“破冰”效果。
- 解决了之前版本无法主动与全新用户建立联系的问题。
- **`ProactiveThinkingTask` (日常唤醒任务)**:
- 负责维护现有聊天流的活跃度。
- 采用动态间隔机制,结合基础间隔、随机扰动和每日不同时段的活跃度因子,模拟更自然的聊天发起时机。
- 持续监控已建立的聊天,在对话冷却后适时地重新发起话题。
- **配置结构优化**:
- 在 `bot_config_template.toml` 中新增了 `[proactive_thinking]` 配置节,统一管理所有相关配置。
- 提供了更清晰的选项,如总开关、冷启动开关、白名单设置等,提升了易用性和可配置性。
- 修正了 `config.py` 中错误的字段名 (`ProactiveThinking` -> `proactive_thinking`),确保与配置文件一致。
|
2025-11-19 23:11:41 +08:00 |
|
minecraft1024a
|
111d23f608
|
加入了尚未完成或者说根本就没做de主动思考
|
2025-11-19 23:11:30 +08:00 |
|
Windpicker-owo
|
a67b78b551
|
feat(chat): 实现动态消息分发系统和消息打断机制
添加基于focus_energy的动态消息分发周期调整功能,根据聊天流兴趣度智能调整检查间隔
实现消息打断系统,允许高优先级消息打断正在处理的任务
重构ChatStream类,引入动态兴趣度计算系统,包括消息兴趣度统计和用户关系评分
扩展数据库模型和配置系统以支持新功能,增加相关配置项
更新版本号至0.11.0-alpha-1以反映重大功能更新
|
2025-11-19 23:09:12 +08:00 |
|
Windpicker-owo
|
df3c616d09
|
ruff,私聊视为提及了bot
|
2025-11-19 23:07:30 +08:00 |
|
Windpicker-owo
|
e62843ea58
|
feat(affinity-flow): 重构亲和流配置系统
将硬编码的兴趣度评分参数迁移到集中式配置管理,新增AffinityFlowConfig配置类
- 从全局配置加载评分权重、阈值和计算参数
- 统一管理匹配奖励、关系分数和提及bot相关配置
- 更新配置文件模板包含完整的亲和流参数
- 确保各模块使用一致的配置值而非硬编码常量
|
2025-11-19 23:07:11 +08:00 |
|