Windpicker-owo
|
b5e7f6313f
|
fix(sqlite): 调整busy_timeout设置为10秒以减少锁定错误
|
2025-12-08 18:11:23 +08:00 |
|
Windpicker-owo
|
7c2843de64
|
feat(postgresql): 增强PostgreSQL会话级性能优化配置
|
2025-12-08 18:08:37 +08:00 |
|
Windpicker-owo
|
e148cfd16b
|
feat(memory): 使用异步初始化确保统一记忆管理器已准备就绪
|
2025-12-08 17:30:11 +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
|
084192843b
|
feat(mem_monitor): 禁用内存监控功能
|
2025-12-08 12:08:56 +08:00 |
|
Windpicker-owo
|
071a160da9
|
feat(plugin): 禁用 hello_world_plugin 插件
refactor(prompt): 将日志级别从 info 调整为 debug
fix(mem_monitor): 启用内存监控并调整监控间隔至 2400s
feat(llm_models): 添加系统提示支持,优化请求策略
refactor(main): 更新内存监控启动日志信息
refactor(user_profile_tool): 将用户画像更新日志级别调整为 debug
refactor(exa_engine): 移除搜索引擎请求中的高亮片段选项
feat(system_prompt): 添加系统提示内容
|
2025-12-08 12:02:44 +08:00 |
|
Windpicker-owo
|
fbc37bbcaf
|
refactor(logging): 简化日志记录,移除冗余调试信息
delete(connection_pool): 移除连接池管理器相关代码
|
2025-12-07 15:19:12 +08:00 |
|
Eric-Terminal
|
c059c7a2f1
|
feat: 启动时记录可选依赖 objgraph/pympler 的可用性
|
2025-12-06 02:23:42 +08:00 |
|
Eric-Terminal
|
5b98038425
|
fix: 将 pympler 和 objgraph 改为可选依赖,修复 Docker 镜像启动失败问题
|
2025-12-06 02:16:00 +08:00 |
|
minecraft1024a
|
b8bbd7228f
|
feat(plugin): 调整插件路由前缀以避免组件冲突
将插件组件的路由前缀从 `/plugins/{plugin_name}` 修改为 `/plugins/{plugin_name}/{component_name}`。
此项更改旨在解决单个插件注册多个路由组件时可能出现的路径冲突问题,确保每个组件都拥有唯一的 API 端点。
此外,为了支持新的前端开发环境,已将端口 11451 和 3001 添加到 CORS 允许源列表中。
BREAKING CHANGE: 插件 API 的 URL 结构已发生变更。所有对插件接口的调用都需要更新为新的 `/plugins/{plugin_name}/{component_name}` 格式。
|
2025-12-05 19:15:14 +08:00 |
|
Windpicker-owo
|
06a45b3639
|
refactor: 移除对 MySQL 的支持,更新文档和配置以仅支持 SQLite 和 PostgreSQL
|
2025-12-04 23:30:43 +08:00 |
|
tt-P607
|
22767ce234
|
feat(context): 为大语言模型提供过去网页搜索的上下文记忆
此更改使聊天机器人能够记住并引用过去网页搜索的相关信息,从而显著提高响应质量和连贯性。
系统不再将每个查询视为孤立事件,而是在生成新响应之前,对之前的 `web_search` 结果缓存进行向量相似度搜索。如果发现过去的相关信息,会自动作为“相关历史搜索结果”注入到大语言模型的提示中。
这使模型能够立即访问相关背景信息,避免对已经讨论过的主题重复搜索。
为了支持这一新功能:
- 对 `web_search` 工具的提示进行了改写,以通过确保结果被高效缓存和调用,鼓励大语言模型更频繁地使用它。
- 重要工具结果(如网页搜索)的预览长度已增加
|
2025-12-04 04:12:36 +08:00 |
|
tt-P607
|
cba6d34197
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-03 17:02:39 +08:00 |
|
tt-P607
|
2671a6e7e5
|
feat(profile):对用户关系和分析系统进行重构,采用结构化数据和异步更新
此提交完全重写了用户关系和分析系统,创建了一个更强大、详细和响应式的框架。旧系统已被弃用,取而代之的是一个集中式的`UserRelationships`模型。
主要变更:
1. ‌**增强数据库模型(`UserRelationships`):**‌
- 添加`impression_text`用于长期、叙述式印象。
- 引入`key_facts`(JSON)存储结构化数据如生日、工作和位置。
- 添加`relationship_stage`跟踪关系进展(如陌生人、朋友、挚友)。
- 添加`first_met_time`和`last_impression_update`的时间戳。
2. ‌**重设计`UserProfileTool`:**‌
- 工具的用途被限定为仅捕捉重要新信息,防止用于小聊。
- 更新现在在后台异步处理,确保机器人回复不被延迟。
- 引入`key_info_type`和`key_info_value`参数供LLM提交结构化事实。
3. ‌**复杂的印象和情感逻辑:**‌
- 关系追踪LLM现在分析最近聊天历史生成更丰富、更上下文的印象。
- 用渐进的`affection_change`(最大±0.03)取代直接情感分数设置,使关系发展更真实。
4. ‌**数据源整合:**‌
- `RelationshipFetcher`重构为仅依赖`UserRelationships`表作为唯一数据源。
- 简化`get_user_relationship` API并移除其缓存,确保分析的实时数据访问。
破坏性变更:`UserProfileTool`已重设计,新增参数(`key_info_type`、`key_info_value`)并改变用途。移除`affection_score`参数。此外,`get_user_relationship`数据库API签名简化为仅接受`user_id`。
|
2025-12-03 16:53:40 +08:00 |
|
Windpicker-owo
|
16afd8f6ff
|
feat(filter): 添加无意义消息过滤功能以优化表达学习效果
|
2025-12-03 13:13:41 +08:00 |
|
Windpicker-owo
|
bcdd987e4c
|
feat(statistic): 优化内存使用,添加分批查询和统计处理上限
feat(typo_generator): 实现单例模式以复用拼音字典和字频数据
feat(query): 添加分批迭代获取结果的功能,优化内存使用
|
2025-12-02 12:45:10 +08:00 |
|
Windpicker-owo
|
8f4b846630
|
feat(mem-monitor): 添加内存监控模块,支持内存使用追踪和日志记录
|
2025-12-02 12:20:21 +08:00 |
|
Windpicker-owo
|
2ed11ad1a8
|
refactor(database-messages): 移除数据库自增主键字段 id
|
2025-12-01 20:21:14 +08:00 |
|
Windpicker-owo
|
943c2a6566
|
feat(data-models): 使用 __slots__ 优化内存占用和属性访问性能,更新多个数据模型
|
2025-12-01 19:57:33 +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 |
|
Windpicker-owo
|
fc85338d0b
|
feat: 更新消息管理和数据库操作日志,增强调试信息
|
2025-11-30 15:13:01 +08:00 |
|
ikun-11451
|
acafc074b1
|
依旧修pyright喵喵喵~
|
2025-11-29 22:20:55 +08:00 |
|
ikun-11451
|
72e7492953
|
依旧修pyright喵~
|
2025-11-29 21:26:42 +08:00 |
|
Eric-Terminal
|
aaedd77797
|
fix: 修复 aiosqlite 日志导致 CPU 占用过高的问题
- 将 aiosqlite 和 message_bus 添加到 suppress_libraries 列表
- 屏蔽数据库操作的 DEBUG 日志,防止日志刷屏导致 CPU 100%
|
2025-11-29 11:44:47 +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
|
2bd7e93af7
|
fix: 更新数据库会话管理,确保事务在正常退出时自动提交,并在异常时安全回滚
|
2025-11-28 13:24:41 +08:00 |
|
Windpicker-owo
|
3538716515
|
fix: 更新版本号至 0.13.0,增强数据库迁移功能,注册通知事件处理
|
2025-11-27 22:37:50 +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
|
369639a8f1
|
feat: 添加守护线程版本的队列监听器以避免阻塞退出,优化配置初始化逻辑,改进消息构建中的用户信息处理
|
2025-11-27 14:06:17 +08:00 |
|
copilot-swe-agent[bot]
|
1ca3aa6a07
|
fix: 修复代码质量和隐形问题 - 移除未使用导入、修复asyncio任务引用、修复类型注解
Co-authored-by: Windpicker-owo <221029311+Windpicker-owo@users.noreply.github.com>
|
2025-11-26 14:43:44 +00:00 |
|
Windpicker-owo
|
0908fb50a0
|
优化日志
|
2025-11-26 21:16:16 +08:00 |
|
Windpicker-owo
|
d28ba27f26
|
重构:统一平台字段命名,更新相关数据模型和消息处理逻辑
|
2025-11-26 17:34:25 +08:00 |
|
Windpicker-owo
|
8a6b141017
|
重构代码以使用 mofox_wire 替代 mofox_bus,更新相关文档和示例
|
2025-11-25 22:45:57 +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
|
1ebdc37b22
|
重构ChatStream和StreamContext:移除context_manager引用
- 在ChatStream及相关类中,将所有context_manager的实例替换为直接上下文访问。
- 更新方法,利用新的上下文结构来管理聊天状态和消息。
- 增强的StreamContext,增加了用于消息处理、统计和历史管理的方法。
- 在重构过程中改进了错误处理和日志记录。
|
2025-11-25 12:01:26 +08:00 |
|
Windpicker-owo
|
d30b0544b5
|
重构消息处理和信封转换
- 从代码库中移除了EnvelopeConverter类及其相关方法,因为它们已不再需要。
- 更新了主系统,使其能够直接处理MessageEnvelope对象,而无需将其转换为旧格式。
- 增强了MessageRuntime类,以支持多种消息类型并防止重复注册处理程序。
引入了一个新的MessageHandler类来管理消息处理,包括预处理和数据库存储。
- 改进了整个消息处理工作流程中的错误处理和日志记录。
- 更新了类型提示和数据模型,以确保消息结构的一致性和清晰度。
|
2025-11-24 22:36:33 +08:00 |
|
Windpicker-owo
|
36fce6ca98
|
feat: 添加带有消息处理和路由功能的NEW_napcat_adapter插件
- 为NEW_napcat_adapter插件实现了核心模块,包括消息处理、事件处理和路由。
- 创建了MessageHandler、MetaEventHandler和NoticeHandler来处理收到的消息和事件。
- 开发了SendHandler,用于向Napcat发送回消息。
引入了StreamRouter来管理多个聊天流,确保消息的顺序和高效处理。
- 增加了对各种消息类型和格式的支持,包括文本、图像和通知。
- 建立了一个用于监控和调试的日志系统。
|
2025-11-24 13:24:55 +08:00 |
|
Windpicker-owo
|
7c579e6ee4
|
重构适配器系统并增强插件架构
- 在mofox_bus中,将BaseAdapter重命名为AdapterBase以提高清晰度。
- 引入了AdapterInfo类来封装适配器组件信息。
- 增强的PluginManager,支持核心消息接收器配置和适配器注册。
- 实现了EnvelopeConverter,用于将MessageEnvelope转换为内部消息格式。
- 创建了BaseAdapter类来管理插件的生命周期、配置和健康检查。
- 开发了AdapterManager,用于管理适配器实例和子流程。
- 添加了一个示例适配器插件,以展示与新适配器系统的集成。
- 删除了过时的Phi插件文档。
|
2025-11-22 12:49:37 +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
|
6ecf5a36f2
|
增强聊天管理器和数据库API,添加自动注册和异步清理功能,优化模型转换为字典的逻辑
|
2025-11-20 16:48:18 +08:00 |
|
Windpicker-owo
|
03c80a08fb
|
优化缓存条目大小估算,添加向量存储标记,清理待处理消息逻辑
|
2025-11-20 12:17:43 +08:00 |
|
Windpicker-owo
|
14133410e6
|
feat: 批量生成文本embedding,优化兴趣匹配计算逻辑,支持消息兴趣值的批量更新
|
2025-11-19 16:30:44 +08:00 |
|
Windpicker-owo
|
75b806cd41
|
feat: 添加历史消息长度限制,优化上下文管理和消息处理逻辑
|
2025-11-19 13:59:40 +08:00 |
|
minecraft1024a
|
164963b6f7
|
refactor(plugin_system): 移除路由级认证,引入端点级安全依赖
之前的插件路由认证机制通过在 `RouterInfo` 中设置 `auth_required` 标志,对整个路由组件统一应用API密钥验证。这种方式缺乏灵活性,无法对单个端点进行细粒度的安全控制。
本次重构移除了 `auth_required` 机制,转而引入一个可重用的 FastAPI 依赖项 `VerifiedDep`。插件开发者现在可以按需将其应用到需要保护的特定端点上,从而实现更灵活、更精确的访问控制。
`hello_world_plugin` 已更新,以演示新的认证方式。
BREAKING CHANGE: 移除了 `RouterInfo` 中的 `auth_required` 属性。所有依赖此属性进行认证的插件路由都需要更新,改为在需要保护的端点上使用 `VerifiedDep` 依赖项。
|
2025-11-16 13:31:59 +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 |
|
Windpicker-owo
|
4449c9550b
|
增强 ModuleColoredConsoleRenderer,支持 Rich 标记语言解析,改进消息内容着色逻辑
|
2025-11-13 23:14:38 +08:00 |
|
拾风
|
0cb51674b0
|
Potential fix for code scanning alert no. 26: Use of a broken or weak cryptographic hashing algorithm on sensitive data
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
|
2025-11-13 21:04:02 +08:00 |
|