245 Commits

Author SHA1 Message Date
LuiKlee
c2a1d7b00b 新增溢出策略 2025-12-16 16:10:13 +08:00
tt-P607
beca822d0f feat(config): add short term memory force cleanup option 2025-12-16 15:26:38 +08:00
Windpicker-owo
dab7e91fed feat(kokoro_flow_chatter): 添加活动流格式配置及上下文构建功能,修复分离模式失效的问题 2025-12-14 23:30:01 +08:00
tt-P607
87704702ad feat(kfc):独立私聊回复模型配置
- 在 ModelTaskConfig 中为私聊场景添加 `replyer_private` 字段
- 更新 KFC 回复器和统一模块以使用新的私聊配置
- 配置模板版本升级至 1.4.2,并更新 DeepSeek 模型名称
- 增强 KokoroFlowChatter 的执行日志
2025-12-13 19:38:06 +08:00
tt-P607
f1bfcd1cff Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-12-12 15:13:18 +08:00
tt-P607
5a1d5052ca feat(kfc): 引入自定义决策提示并优化后续警告
增加了一个新的配置选项 `custom_decision_prompt`,允许用户提供具体指令来指导 Kokoro Flow Chatter 的决策过程。该提示会被整合到拆分和统一的提示生成中,以影响整体行为。

此外,系统的后续警告逻辑也得到了显著增强。警告现在更加细致和明确,提供了更清晰的建议,如在多次未响应的后续请求后选择 `do_nothing` 或结束对话,从而促进更健康的交互模式。配置模板中的内部版本已更新。
2025-12-12 15:12:28 +08:00
Windpicker-owo
da3752725e chore: 更新版本号至0.13.1-alpha.2和8.0.0,调整兴趣评分阈值 2025-12-12 14:59:44 +08:00
Windpicker-owo
0193913841 refactor: 移除兴趣计算器相关代码和配置,优化系统管理插件 2025-12-12 14:38:15 +08:00
Windpicker-owo
e6a4f855a2 feat: 提升语义兴趣评分与拼写错误生成
- 为中文拼写生成器实现了背景预热功能,以提升首次使用时的性能。
- 更新了MessageStorageBatcher以支持可配置的提交批次大小和间隔,优化数据库写入性能。
- 增强版数据集生成器,对样本规模设置硬性限制并提升采样效率。
- 将AutoTrainer中的最大样本数增加至1000,以优化训练数据利用率。
- 对亲和兴趣计算器进行了重构,以避免并发初始化并优化模型加载逻辑。
- 引入批量处理机制用于语义兴趣评分,以应对高频聊天场景。
- 更新了配置模板以反映新的评分参数,并移除了已弃用的兴趣阈值。
2025-12-12 14:11:36 +08:00
拾风
59e7a1a846 Merge pull request #28 from Gardelll/dev
修复一些LLM响应解析问题和添加memory.use_judge配置项
2025-12-11 15:46:22 +08:00
Windpicker-owo
c75cc88fb5 feat(expression_selector): 添加温度采样功能以优化表达选择
feat(official_configs): 新增模型温度配置项以支持表达模型采样
chore(bot_config_template): 更新版本号并添加模型温度说明
2025-12-11 13:57:17 +08:00
7735b161c8 feat: 添加选项必须检索长期记忆 2025-12-10 12:52:41 +08:00
雅诺狐
da27c865d0 引入Redis 2025-12-08 17:42:57 +08:00
Windpicker-owo
43dbfb2a1e feat(waiting): 添加连续等待超时次数上限配置,优化等待策略 2025-12-07 16:50:18 +08:00
Windpicker-owo
9f666b580e feat(waiting): 添加等待策略配置,支持最大、最小等待时间及倍率调整 2025-12-07 16:38:46 +08:00
Eric-Terminal
2348dc1082 feat: 集成 AWS Bedrock 支持
- 新增 BedrockClient 客户端实现,支持 Converse API
- 支持两种认证方式:IAM 凭证和 IAM 角色
- 支持对话生成、流式输出、工具调用、多模态、文本嵌入
- 添加配置模板和完整文档
- 更新依赖:aioboto3, botocore
2025-12-06 17:26:40 +08:00
Windpicker-owo
06a45b3639 refactor: 移除对 MySQL 的支持,更新文档和配置以仅支持 SQLite 和 PostgreSQL 2025-12-04 23:30:43 +08:00
Windpicker-owo
63cb81aab6 fix: 更新配置文件,禁用身份压缩以提高回复性能
refactor: 移除日志信息以简化回复和响应动作
2025-12-04 22:49:56 +08:00
Windpicker-owo
d59946ce48 fix(config): 调整缓存和思考时间配置以优化性能 2025-12-03 21:30:47 +08:00
拾风
28c54dbec6 Merge branch 'dev' into feature/kfc 2025-12-01 16:06:47 +08:00
tt-P607
5d14bab259 feat: 为Kokoro Flow Chatter实现统一模式,支持模块化提示生成
新增统一模式:通过单次LLM调用同时处理推理与响应生成
采用模块化提示组件:系统提示与用户提示分离,提升灵活性和可维护性
日志更新:更清晰地记录生成响应与执行动作
版本更新:在机器人配置模板中递增版本号以反映变更
上下文处理优化:改进用户交互与记忆管理
2025-12-01 01:32:56 +08:00
ikun-11451
46359a8933 应该是把私聊必回加回来了喵? 2025-11-30 21:51:09 +08:00
Windpicker-owo
1288fd6cf7 feat: 添加主动思考配置选项,优化问候功能和触发概率设置 2025-11-30 20:41:30 +08:00
minecraft1024a
7cf55d0d61 feat(config): 完善 Gemini 模型配置模板
- 将 Google API 的 `base_url` 更新为正确的 `v1beta` 端点。
- 新增了 Gemini 模型的完整配置示例,方便用户参考。
- 在示例中包含了新的 `thinking_level` 和 `thinking_budget` 参数,并附有使用说明。
- 修正了注释中的拼写错误 (Gimini -> Gemini)。
2025-11-30 11:07:58 +08:00
minecraft1024a
7b0c349c22 refactor(config): 简化配置文件模板,移除废弃的跨上下文配置
从 `bot_config_template.toml` 文件中移除了 `[[cross_context.groups]]` 的示例配置。

该配置项已被视为过时或不再是推荐的默认设置,移除它可以简化新用户的配置过程并避免混淆。

同时,本次提交还包括:
- 将内部版本号更新至 7.9.1。
- 明确了 `planner_custom_prompt_content` 的注释,指出其用于AFC决策器。
2025-11-29 20:51:12 +08:00
tt-P607
b2a0196398 feat(KFC): 为私人聊天实现主动思考
此提交为 Kokoro Flow Chatter(KFC)引入了主动思考机制,使其在私人聊天中在一段时间沉默后主动发起对话。此功能旨在通过模拟一个会主动思考并联系用户的角色,创造更自然和有趣的互动。

此功能的关键组成部分包括:
- **主动思考回调**:`chatter.py` 中新增的回调处理整个主动思考流程,从上下文构建、提示生成到调用 LLM 和执行操作。
- **调度器集成**:`kfc_scheduler_adapter.py` 现在向 `UnifiedScheduler` 注册了一个定期任务,用于检查符合主动思考条件的会话。
- **触发条件**:主动思考的触发基于多个因素的组合,包括沉默时间、关系评分、概率检查以及“安静时间”,以避免打扰用户,系统现在获取全局关系分数以进行更准确的评估。- **专用提示**:`prompt_generator.py` 中的新提示专为此场景设计。它鼓励大语言模型决定是否发起联系,并将“不要打扰”作为一个有效且谨慎的选择。- **配置**:在 `bot_config_template.toml` 中添加了新设置以控制主动思维功能,包括静默阈值、最低亲和力和安静时间。- **AFC 集成**:通用的 `affinity_flow_chatter` 现在会检查 KFC 的主动思维是否在私人聊天中启用,并将控制权交给该功能,从而防止重复发送主动消息。
2025-11-29 17:20:00 +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
43483b934e feat: 更新机器人配置并添加数据库迁移脚本
- 将bot_config_template.toml中的版本升级至7.9.0
- 增强数据库配置选项以支持PostgreSQL
- 引入一个新脚本,用于在SQLite、MySQL和PostgreSQL之间迁移数据
- 实现一个方言适配器,用于处理特定于数据库的行为和配置
2025-11-27 18:45:01 +08:00
Windpicker-owo
6b3b2a8245 重构并增强Napcat适配器的功能
- 更新了`BaseAdapter`以简化子进程处理。
- 对`AdapterManager`进行了重构,以便根据适配器的`run_in_subprocess`属性来管理适配器。
- 增强了`NapcatAdapter`,以利用新的`CoreSinkManager`实现更优的进程管理。
- 在`utils.py`中实现了针对群组和成员信息的缓存机制。
- 改进了`message_handler.py`中的消息处理,以支持各种消息类型和格式。
- 已将插件配置版本更新至7.8.3。
2025-11-25 19:55:36 +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
5cfc74f276 feat: 更新模型配置,替换短期记忆构建和决策模型,调整长期记忆构建模型 2025-11-19 19:24:06 +08:00
Windpicker-owo
cf48d02ed3 feat: 重构记忆系统配置,移除三层记忆相关配置,优化全局记忆管理逻辑,支持批量生成文本向量 2025-11-19 19:16:27 +08:00
Windpicker-owo
dc3ad19809 feat: 采用三层内存系统实现统一内存管理器
- 添加了UnifiedMemoryManager,以整合感知层、短期记忆层和长期记忆层。
- 实现了初始化、消息添加和内存搜索功能。
- 引入了记忆从短期存储到长期存储的自动转移机制。
- 开发了用于结构化内存表示的内存格式化工具。
- 增强日志记录功能,以便在内存操作过程中更好地进行追踪。
2025-11-18 16:17:25 +08:00
Windpicker-owo
b5cfa41d36 feat:实现短期内存管理器和统一内存管理器
- 添加了ShortTermMemoryManager来管理短期记忆,包括提取、决策和记忆操作。
- 集成大型语言模型(LLM),用于结构化记忆提取和决策过程。
- 基于重要性阈值,实现了从短期到长期的内存转移逻辑。
- 创建了UnifiedMemoryManager,通过统一接口整合感知记忆、短期记忆和长期记忆的管理。
- 通过法官模型评估来增强记忆提取过程的充分性。
- 增加了自动和手动内存传输功能。
- 包含内存管理操作和决策的全面日志记录。
2025-11-18 11:12:05 +08:00
minecraft1024a
cbab331633 refactor(config): 移除配置文件模板中的 [security] 部分
在最近的安全相关重构之后,独立的 [security] 配置部分已不再需要。
此提交将其从模板文件中移除以简化配置结构,并相应地更新了版本号。
2025-11-16 13:34:56 +08:00
minecraft1024a
42f0e0e023 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-16 12:41:35 +08:00
minecraft1024a
7e323e3d0f feat(prompt): 默认启用抗审查指令并简化配置
为了简化用户配置并默认提高模型的抗审查能力,本次更新移除了 `prepend_noise_instruction` 配置选项。

现在,抗审查指令将作为默认行为,在处理所有提示词时自动添加,不再需要用户手动开启。同时,更新了模板文件中的注释,使其更清晰易懂。
2025-11-15 21:08:29 +08:00
minecraft1024a
58bc8e9867 feat(config): 将内容混淆设置移至模型级别
内容混淆功能的相关配置项(`enable_content_obfuscation` 和 `obfuscation_intensity`)已从 API Provider 级别迁移到单个模型级别。

这一调整提供了更精细的控制能力,允许用户为特定模型独立启用或配置内容混淆,而不是统一应用于同一API下的所有模型。这对于处理来自同一提供商但审查策略不同的模型非常有用。

BREAKING CHANGE: `enable_content_obfuscation` 和 `obfuscation_intensity` 配置项已从 `[[api_providers]]` 部分移除。请将这些配置项迁移到需要此功能的 `[[models]]` 部分下。
2025-11-14 16:20:37 +08:00
minecraft1024a
36b1b72e25 refactor(prompt): 移除注意力优化功能
注意力优化功能(通过添加随机空白字符或语义变体)被证明效果不佳且可能引入不稳定性。

为了简化代码库、减少用户配置的复杂性并提高系统的稳定性,决定移除此实验性功能。这使得提示词构建过程更加直接和可预测。

BREAKING CHANGE: 移除了注意力优化功能及其所有相关配置。用户需要从配置文件中移除 `[attention_optimization]` 部分。
2025-11-14 16:15:42 +08:00
Windpicker-owo
611baae432 调整配置文件,优化消息缓存、打断系统及主动思考功能的参数设置 2025-11-13 22:05:08 +08:00
tt-P607
30a1dd9242 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-11-13 16:28:51 +08:00
tt-P607
5e559ee7ea feat(config): 添加配置以切换知识摘要
这在 `lpmm_knowledge` 部分引入了一个新的配置选项 `enable_summary`。用户现在可以将其设置为 `false`,以防止知识库摘要被包含在最终提示上下文中。

这提供了对输出冗长程度的更多控制,并有助于管理令牌消耗。该功能默认启用,以保持现有行为。
2025-11-13 16:27:58 +08:00
Windpicker-owo
8e04bf36b4 feat(config): 添加表情包回复配置,允许或禁止回复表情包消息 2025-11-13 16:22:28 +08:00
Windpicker-owo
310256e24d feat(attention): 添加注意力优化器以增强提示词多样性和防止注意力退化
refactor(prompt): 使用 asyncio.gather 替代 as_completed 以提升并发性能
refactor(config): 添加注意力优化配置选项
refactor(prompt_params): 增加注意力优化开关
2025-11-12 22:37:35 +08:00
Windpicker-owo
61d86875ad 更新机器人配置模板,并添加路径扩展算法规范
- 将bot_config_template.toml中的版本号从7.6.7更新为7.6.8。
- 在bot_config_template.toml中添加了用于控制多个回复的配置选项。
- 引入了一份全面的路径扩展算法规范文档,详细介绍了算法概述、核心数据结构、算法流程、性能优化、接口定义和测试用例。
2025-11-12 19:06:11 +08:00
Windpicker-owo
1fc8d5091c feat: 添加路径评分扩展算法和内存去重工具
- 基于图路径传播,实现了一种路径评分扩展算法,以优化内存检索。
引入了内存去重工具,以识别和合并相似的内存,从而提高结果质量。
- 更新了路径扩展的配置选项,包括最大跳数、阻尼因子和剪枝阈值。
- 在路径扩展中增加了对首选节点类型的支持,以提高内存检索的相关性。
- 增强的日志记录功能,以便更好地跟踪路径扩展和去重过程。
2025-11-12 00:33:05 +08:00
明天好像没什么
6a5648ba07 创建了新的反注入 2025-11-09 12:31:38 +08:00
明天好像没什么
626dbfe998 权限已修复 2025-11-09 11:10:08 +08:00
tt-P607
130a0fdb31 refactor(core): 简化回复清理并加强 API 调用此次提交彻底重构了回复清理逻辑,以提升可维护性,并在发送 API 中引入了多项防御性检查,以防止常见的运行时错误。通过将复杂的迭代清理算法替换为单一且更高效的正则表达式,回复生成过程得到了简化。这不仅提高了去除模型生成的头信息的可靠性,还显著降低了代码复杂性。在发送 API 中,实现了多个安全措施:- 修正了异步处理错误,通过移除同步字典操作上无效的 await,防止出现 TypeError。- 添加了预检验证,以确保文件上传有定义的目标,并且临时流指定了平台。- 现在一致将机器人用户 ID 转换为字符串,以消除潜在的类型相关不一致。最后,为了清晰起见,机器人的行为原则术语也进行了调整。 2025-11-09 00:50:23 +08:00
Windpicker-owo
96dbb8fc55 fix(config): 增加缓存生存时间和最大内存占用限制 2025-11-08 11:03:01 +08:00