Commit Graph

7880 Commits

Author SHA1 Message Date
Windpicker-owo
0fe15dac52 feat: 使用提示管理和会话处理来实现Kokoro Flow Chatter V2
- 在Kokoro Flow Chatter V2中添加提示模块以管理提示信息。
- 创建一个构建器,用于根据用户交互和会话上下文构建提示。
- 为不同场景(新消息、及时回复等)注册各种提示模板。
- 开发一个回复模块,使用LLM API生成回复。
- 实现会话管理以处理用户交互并维护状态。
- 引入心理日志条目以追踪用户与机器人的交互情况。
- 确保各模块中都有适当的日志记录和错误处理。
2025-11-30 13:05:26 +08:00
minecraft1024a
46f88ebc70 feat(report): 重构统计报告页面,引入全新现代化UI主题
本次提交对统计报告页面进行了一次全面的视觉和代码重构,旨在提升用户体验和可维护性。

主要更新包括:
- **UI/UX 重构**: 废弃原有的 Material Design 3 主题,采用更简洁、现代的仪表盘风格,优化了色彩、字体和布局,提升了整体视觉效果和数据可读性。
- **布局优化**: 使用 CSS Grid 构建主布局,提高了响应式设计的灵活性和健壮性。
- **图表美化**: 更新了所有图表的视觉样式,包括新的调色板、交互式工具提示和更清晰的坐标轴。
- **代码优化**:
  - 将图表数据从内联 JavaScript 字符串改为通过 `<script type="application/json">` 标签注入,更加安全和规范。
  - 实现了图表的懒加载,仅在切换到对应标签页时才进行初始化,提升了初始加载速度。
  - 移除大量内联样式,统一使用 CSS 类进行管理,增强了代码的可维护性。
2025-11-30 13:00:09 +08:00
minecraft1024a
06b4b7e4b9 feat(log_viewer): 添加日志查看器功能,支持实时查看、搜索和筛选日志 2025-11-30 12:13:35 +08:00
tt-P607
f489020a12 feat(core): 实现死锁检测器并改进 LLM 消息拆分 本次提交引入了两个主要增强功能:在 StreamLoopManager 中增加死锁检测机制以提高系统稳定性,以及对 Kokoro Flow Chatter (KFC) 的消息拆分策略进行调整,以生成更自然、更贴近人类的对话。 **StreamLoopManager 中的死锁检测:** - 新的死锁检测器现在会定期运行,监控所有活动消息流。 - 它会跟踪每个消息流的最后活动时间,并标记任何超过两分钟未活动的流为潜在死锁。 - 这种主动监控有助于识别和诊断可能卡住的消息流,防止系统整体冻结。 - 为了避免在长时间等待(例如等待用户回复或长时间 LLM 生成)期间出现误报,消息流循环现在即使在睡眠或处理阶段也会定期更新其活动时间戳。 **KFC 中的消息拆分优化:** - 自动,响应后处理器中的基于规则的消息拆分器已被禁用。- 消息拆分的责任现在完全交由大型语言模型(LLM)处理。- 系统提示已更新,明确指示LLM使用多个 reply 操作,将长响应拆分为更短、更自然的段落,模仿真实的人类消息模式。- 此更改允许进行更加上下文感知和情感适宜的消息分段,从而提供更具吸引力的用户体验。**VectorStore 的异步安全性:**- 所有对同步 ChromaDB 库的调用现在都被封装在 asyncio.to_thread() 中。这可以防止阻塞主 asyncio 事件循环,而这正是新检测器设计用来捕获的潜在死锁来源。 2025-11-30 11:59:27 +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
be6a081cec Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-30 11:04:22 +08:00
minecraft1024a
9bc189d6fe feat(gemini_client): 为 Gemini API 添加 thinking_level 参数支持
根据 Gemini API 的更新,引入了新的 `thinking_level` 参数 ("low", "medium", "high"),以提供对模型思考过程更直观的控制。

为了确保向后兼容,客户端现在会优先使用 `thinking_level` 参数。如果该参数未提供,则会回退到使用旧的 `thinking_budget` 参数。相关函数和文档也已同步更新。
2025-11-30 11:04:18 +08:00
ikun-11451
acafc074b1 依旧修pyright喵喵喵~ 2025-11-29 22:20:55 +08:00
ikun-11451
574c2384a2 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 21:26:53 +08:00
ikun-11451
72e7492953 依旧修pyright喵~ 2025-11-29 21:26:42 +08:00
minecraft1024a
cabae2ec1e Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 20:51:15 +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
ikun-11451
28719c1c89 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 20:40:30 +08:00
ikun-11451
f0b6a969d5 修了点pyright错误喵~ 2025-11-29 20:40:21 +08:00
minecraft1024a
ad0f495911 feat(permission_api): 增强权限API文档,添加详细注释和示例
fix(system_management): 修复系统命令执行时缺失用户信息的错误处理
2025-11-29 20:20:59 +08:00
minecraft1024a
feb4e7155e chore(system_management): 默认禁用系统管理插件 2025-11-29 20:07:40 +08:00
minecraft1024a
58c70107b9 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 20:06:59 +08:00
minecraft1024a
fc05146f24 feat(plugin_system): 实现插件组件的查询与启禁功能
为 `/system plugin` 命令引入了完整的组件级管理功能,以提供比插件级更精细的控制粒度。

哼,总是只能开关整个插件也太粗糙了。这次更新后,主人你就可以更灵活地控制机器人的行为了,不用再因为一个小功能不想要就禁用整个插件啦。

新增功能包括:
- **组件查询**: 通过 `info`, `list`, `search`, `disabled` 子命令,可以查看插件详情、列出/搜索组件以及查看全局禁用列表。
- **状态控制**: 通过 `enable` 和 `disable` 子命令,可以全局启用或禁用指定的组件。
- **帮助文本**: 更新了相关的帮助信息,让你不会迷路。
- **安全保护**: 核心类型的组件(如 Router, Prompt)被保护,防止被意外禁用,我可不想你把系统搞坏了。
2025-11-29 20:06:42 +08:00
ikun-11451
311a161941 喵呜!修好了好多 Pyright 的报错捏~ 🐾
主人主人,猫猫把代码里的红红的报错都赶跑啦!
1. memory_visualizer_router.py: 把 load_graph_data_from_file 变成异步的啦,这样就不会卡住咯~
2. message_router.py: 加上了 global_config 的检查,不会再因为空空的配置摔倒啦!
3. emoji_manager.py: 修复了好多类型转换的问题,还加上了配置检查,表情包系统更稳定了捏!
4. energy_manager.py: 能量计算器的类型也修好啦,统计数据不会再打架了~

代码现在变得干干净净的,猫猫是不是很棒?快摸摸头!🐱💕
2025-11-29 20:03:29 +08:00
ikun-11451
1c325e91cc Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 19:50:27 +08:00
tt-P607
4245228cb7 feat(KFC): 实现 V7 交互模型,具备中断和情感安全功能。本次重大更新彻底改造了 Kokoro Flow Chatter (KFC) 的交互模型,引入了更加稳健、自然且安全的用户体验。主要功能包括处理快速用户输入的中断机制、改善的情感稳定性以防止 AI 行为异常,以及系统提示的全面重写,以提供更自然、人性化的响应。V7 主要增强功能:
- **中断机制**:新的消息现在可以中断正在进行的 LLM 处理。被中断的上下文会被保存并与新消息合并,确保不会丢失用户输入,并提供更即时的响应体验,类似于现代即时通讯应用。
- **情感安全与稳定性**:
  - 现在 AI 不会随意设置负面情绪状态。
  - 情绪变化为渐进式,强度变化有限制。
  - 新的“情感健康检查”会在加载会话数据时进行清理,以防恢复不稳定状态。
  - 对连续跟进消息实施了限制,以避免向未响应的用户发送垃圾信息。
- **提示重构**:
  - 系统提示已被完全重写,使其更加简洁、自然和对话化,灵感来源于 S4U 模型。
  - 提示现在支持一次处理多条未读消息,这是中断机制的核心部分。
  - 对 LLM 的指令更清晰,更注重生成类人互动,而不仅仅是完成任务。
2025-11-29 19:49:32 +08:00
ikun-11451
2dc64ed0a8 修复本地语音识别插件的依赖导入问题喵~ 2025-11-29 19:49:26 +08:00
minecraft1024a
02ffef92cc refactor(plugin_system): 将插件管理API拆分为更专注的模块
`plugin_manage_api` 模块的职责过于宽泛,混合了插件生命周期、组件状态管理和信息查询等多种功能。为了提高代码的可维护性和清晰度,遵循单一职责原则,现将其进行拆分。

- 新增 `component_state_api.py` 模块,专门负责处理组件的启用/禁用状态管理,包括全局和局部作用域。
- 新增 `plugin_info_api.py` 模块,用于提供插件和组件的信息查询、报告生成和状态统计功能。
- `plugin_manage_api.py` 现在专注于插件的生命周期管理,如加载、重载、启用/禁用和卸载。
- 更新了内部调用方(例如 system_management 插件)以使用新的、职责更明确的API。

BREAKING CHANGE: 原 `plugin_manage_api` 中的大量函数已被移动。组件状态管理相关函数移至 `component_state_api`,信息查询和报告相关函数移至 `plugin_info_api`。
2025-11-29 19:45:00 +08:00
minecraft1024a
251a7fcbfb fix(plugin_system): 禁止启用或禁用适配器类型组件
适配器(Adapter)作为核心连接组件,其状态不应由用户直接启用或禁用,以防止核心功能中断。

本次修改在启用和禁用逻辑中加入了对适配器类型的检查,以确保系统稳定性。
2025-11-29 19:26:06 +08:00
minecraft1024a
f53c64fdf3 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 19:24:28 +08:00
minecraft1024a
b2dadfa418 refactor(plugin_system): 将组件状态管理逻辑提取到专职类中
将原先分散在 `ComponentRegistry` 中的组件状态管理逻辑(包括全局启用/禁用和基于会话的局部状态覆盖)重构并迁移到一个新的 `ComponentStateManager` 类中。

`ComponentRegistry` 现在通过持有一个 `ComponentStateManager` 实例,将所有状态相关的操作(如 `enable_component`, `disable_component`, `is_component_available`)委托给该类处理。

此次重构的主要目的:
- **关注点分离**: `ComponentRegistry` 的职责更加清晰,专注于组件的注册和查询。
- **提升内聚性**: 所有状态管理的复杂逻辑都集中在 `ComponentStateManager` 中,便于维护和扩展。
- **简化代码**: `ComponentRegistry` 的代码变得更加简洁易懂。
2025-11-29 19:24:25 +08:00
ikun-11451
9eb8830835 依旧pyright错误喵~ 2025-11-29 19:22:06 +08:00
ikun-11451
36805a4a7f Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 19:17:54 +08:00
ikun-11451
c13bac894b 修了一点pyright错误喵~ 2025-11-29 19:17:40 +08:00
minecraft1024a
7638dde6f3 refactor(plugin_system): 整合插件状态管理至主管理API
将 `plugin_state_api.py` 模块的功能完全合并到 `plugin_manage_api.py` 中,并删除了前者。

此更改旨在简化插件系统的API结构,减少不必要的模块拆分。通过将所有插件生命周期、状态管理和信息查询的逻辑集中在单一的 `plugin_manage_api.py` 模块中,提高了代码的内聚性和可维护性。

主要变更:
- 删除了 `src/plugin_system/apis/plugin_state_api.py` 文件。
- 将其所有功能(如插件和组件的启用/禁用、状态查询等)直接实现在 `plugin_manage_api.py` 中,移除了原有的包装层。
- 对 `plugin_manage_api.py` 的内部结构进行了重新组织,按功能划分为更清晰的区域。
2025-11-29 19:09:36 +08:00
minecraft1024a
06637891b4 fix(gemini): 调整 safetySettings 参数至 API 请求的正确层级
根据 Gemini API 的官方文档,`safetySettings` 参数应位于请求体的顶层,而非 `generationConfig` 内部。

本次提交将该参数移动到了正确的位置,以确保安全策略能够正确生效。
2025-11-29 18:12:10 +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
49db3bd138 refactor(KFC): 从独立调度器迁移到统一调度器适配器
此提交重构了 Kokoro Flow Chatter (KFC) 插件,以集成新的 `UnifiedScheduler`。独立的 `scheduler.py` 已被移除,并由 `kfc_scheduler_adapter.py` 替代,它作为中央调度系统的适配器。

主要更改包括:
- 移除专用的 `BackgroundScheduler`,改用全局的 `UnifiedScheduler`。
- 实现 `KFCSchedulerAdapter` 来处理检查等待会话的逻辑。
- 修复超时处理逻辑中的一个关键错误:回调函数在任意 chatter 实例上执行时使用了错误的 `stream_id`。现在它正确使用 `session.stream_id`,确保消息发送给正确的用户。
- 通过使用 `asyncio.create_task` 并行处理会话来改进会话检查过程,防止一个长时间运行的会话阻塞其他会话。

此外,此提交还包括提示和操作描述的小幅改进为了更清晰和更稳健的改进。
2025-11-29 16:32:10 +08:00
tt-P607
c4583e61d1 refactor(KFC): 模块化提示生成并简化情绪状态处理
此提交对 Kokoro Flow Chatter (KFC) 插件进行了重大重构,以提高模块化、可维护性和可靠性。

主要更改包括:
- **提示生成**:原本的单一 `generate_system_prompt` 方法现在被委托给新的 `prompt_modules.py`。这实现了关注点分离,使管理提示的不同部分(如个性、上下文和动作定义)更加容易。
- **情绪状态处理**:已移除 `_update_emotional_state_from_thought` 中复杂且不可靠的基于关键词的情感分析。系统现在依赖 LLM 的显式 `update_internal_state` 动作,以更直接和准确地更新情绪状态。该方法已简化,仅处理轻微的参与度调整。
- **JSON 解析**:用统一的 `extract_and_parse_json` 工具替换了自定义 JSON 提取逻辑。这提供了更强大的解析能力,处理更大的Markdown 代码块和自动修复格式错误的 JSON。

- **调度器抽象**:引入了 `KFCSchedulerAdapter`,将聊天组件与全局调度器实现解耦,提高了可测试性和清晰度。
- **优雅的对话结束**:系统现在可以正确处理 `max_wait_seconds: 0`,立即结束对话主题并将会话设置为空闲状态,避免不必要的等待时间。
2025-11-29 14:35:01 +08:00
Eric-Terminal
aaedd77797 fix: 修复 aiosqlite 日志导致 CPU 占用过高的问题
- 将 aiosqlite 和 message_bus 添加到 suppress_libraries 列表
- 屏蔽数据库操作的 DEBUG 日志,防止日志刷屏导致 CPU 100%
2025-11-29 11:44:47 +08:00
minecraft1024a
36dd6ead1a fix(report): 修复报告图表懒加载时的函数调用问题
`showTab` 函数可能会在 `DOMContentLoaded` 事件完全执行完毕之前被调用,此时 `initializeStaticChartsForPeriod` 函数尚未定义,会导致引用错误。

本次修改通过将函数声明提升到外部作用域,并确保在调用前检查其是否存在,解决了这个问题,从而保证了图表懒加载的稳定性。
2025-11-29 11:03:55 +08:00
minecraft1024a
95a221a41d feat(report): 丰富统计报告,增加多种高级可视化图表
新增了五种高级数据可视化图表,以提供更深入的模型性能和使用情况分析:

- **Token使用对比图**: 直观展示各模型的输入与输出Token数量。
- **供应商请求占比图**: 显示不同服务供应商的请求分布。
- **平均响应时间图**: 对比各模型的平均响应速度。
- **模型效率雷达图**: 从多个维度(请求量、TPS、速度、成本、容量)综合评估模型性能。
- **响应时间分布散点图**: 展示每次请求的具体响应时间,分析性能稳定性。

此外,对报告的UI/UX进行了全面优化,包括采用卡片式布局、实现可交互的图例以筛选数据、以及改进图表样式和提示信息,提升了报告的可读性和易用性。
2025-11-29 10:51:34 +08:00
minecraft1024a
9dff133146 feat(report): 增强统计报告,增加模块花费图表并优化UI
本次更新对统计报告进行了多项功能增强和界面优化,旨在提供更丰富的分析维度和更佳的用户体验。

主要变更包括:
- **新功能**:
  - 新增“按模块花费”饼图,以提供新的成本分析维度。
  - 在供应商统计表格中加入“平均耗时”指标,用于性能评估。
  - 在报告顶部添加“名词解释”卡片,帮助用户理解关键指标。

- **UI/UX 优化**:
  - 重构页面布局为主内容区与图表侧边栏,提升信息密度和可读性,并实现响应式设计。
  - 全面优化图表视觉效果,包括更新调色板、增加加载动画、改进提示框,使其更具表现力和交互性。
2025-11-29 10:12:33 +08:00
minecraft1024a
7efbf58dda feat(report): 重构统计报告,增加效率分析并采用MD3设计
本次更新对统计报告进行了全面的重构和视觉升级,旨在提供更深入的数据洞察和更现代化的用户体验。

主要变更包括:
- **新增效率分析模块**: 引入了一系列关键的大模型效率指标,如单条消息成本、Token效率(输出/输入比)、每小时成本/请求数等,并通过新的表格进行详细展示。
- **全新UI设计**: 整体界面采用Material Design 3 (MD3) 风格重新设计,优化了色彩、字体、间距和卡片样式,提升了报告的专业性和可读性。
- **图表功能增强**: 动态图表和静态图表均进行了美化,更新了配色方案,增加了平滑的加载动画和交互效果。饼图升级为更易读的甜甜圈图,并优化了工具提示信息。
- **内容和布局优化**: 增加了更多的摘要卡片以快速概览核心数据。为各个板块标题添加了 Emoji 图标,使信息层次更清晰,并优化了整体布局。
2025-11-29 09:51:46 +08:00
minecraft1024a
3030578131 fix(llm_models): 修复模型工具中的类型问题并增加断言
在 `_ModelSelector` 和 `_RequestStrategy` 中添加了对 `model_config` 的非空断言,以防止潜在的 `None` 值错误。

将工具参数验证的断言拆分为两条,以便在验证失败时提供更精确的错误信息。

为嵌入响应处理函数添加了 `type: ignore` 注释,以修复静态类型检查器的警告。
2025-11-29 09:25:19 +08:00
minecraft1024a
d4d6922a4c refactor(plugin_system): 重构插件API,分离状态管理逻辑
将插件和组件的状态管理逻辑从 `plugin_manage_api.py` 迁移至一个新的专用模块 `plugin_state_api.py`。

`plugin_manage_api.py` 现在作为面向下层开发者的主要API入口,其实现转为对 `plugin_state_api` 的包装调用。

此次重构旨在实现关注点分离,使API层与核心状态管理逻辑解耦,提高了代码的可维护性,并为未来在API层添加权限检查等功能提供了便利。
2025-11-29 09:16:28 +08:00
minecraft1024a
ec17f6fc0e Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 08:55:33 +08:00
minecraft1024a
ff98187c54 refactor(plugin_system): overhaul ComponentRegistry for clarity and add local state management
The `ComponentRegistry` class has been extensively refactored to improve its structure, maintainability, and functionality. This overhaul simplifies core logic and introduces a new capability for session-level component control.

Key improvements include:
- **Structural Reorganization**: The class is now divided into logical sections (Initialization, Registration, State Management, etc.) for better readability.
- **Simplified Registration**: The main `register_component` method now uses a dictionary-based handler dispatch, replacing a large `match-case` block and improving extensibility.
- **Local State Management**: Introduced a new feature for session-level (stream-specific) component state. This allows temporary enabling/disabling of components within a single conversation via `set_local_component_state` and `is_component_available`.
- **Consistent Methods**: Internal registration, removal, and state-change methods have been streamlined for consistency and robustness.
- **Enhanced Querying**: Component query methods now correctly factor in both global and local (session) availability states.
- **Code Quality**: Improved docstrings, type hints, and general code simplification throughout the module.
2025-11-29 08:55:31 +08:00
tt-P607
703b5724f9 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev 2025-11-29 02:06:33 +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
ikun-11451
8bdbadd7d5 更新了仓库地址喵 2025-11-29 00:05:43 +08:00
minecraft1024a
c2bc81be8b feat(maizone): 为说说生成增加跨上下文聊天记录参考
现在,maizone插件可以利用指定用户的近期聊天记录作为上下文,来生成更加贴合近期对话内容和情绪的说说。

- 新增 `cross_context.user_id` 配置项,用于指定获取上下文的目标用户。
- 在生成说说前,通过 `cross_context_api` 获取并整合聊天记录到LLM的提示词中。
- 这使得生成的说说内容能够反映最近的讨论,更具个性化和时效性。
2025-11-28 21:29:01 +08:00
minecraft1024a
722c8bc5a9 feat(context): 新增面向单一用户的跨上下文构建API
新增 `build_cross_context_for_user` 函数,提供一个简化的接口来构建指定用户的跨聊天上下文。

该函数会优先获取用户与机器人的私聊记录,然后聚合用户在其他群聊中的近期发言。通过整合这些信息,可以为需要了解用户近期跨聊天活动的插件提供一个便捷的数据来源。
2025-11-28 21:15:28 +08:00
minecraft1024a
a8f899a22f refactor(context): 简化跨上下文功能,移除通用共享组模式
移除了基于白名单/黑名单的通用上下文共享组(ContextGroup)功能。此模式实现复杂且与S4U模式功能重叠,移除后可大幅简化配置项和内部逻辑。

主要变更:
- 从配置中删除了 `ContextGroup` 模型和 `cross_context.groups` 列表。
- 删除了 `build_cross_context_normal` 和 `get_context_group` 函数。
- 保留并增强了S4U(Search for User)模式,为其增加了更详细的日志和健壮性检查。
- `get_intercom_group_context` 函数被调整为专门服务于 `maizone_context_group`。

BREAKING CHANGE: 移除了 `cross_context.groups` 配置项及相关的通用上下文共享组功能。请迁移至S4U模式以实现跨上下文需求。
2025-11-28 20:39:16 +08:00
yishan
78a91c3c42 Merge pull request #11 from mcn1630/dev
feat:修改空间生图接口为正确调用,使用LLM基于说说内容生成图片提示词
2025-11-28 19:22:41 +08:00