Commit Graph

347 Commits

Author SHA1 Message Date
tt-P607
5786b84ad4 feat(chat): 新增群组静默列表以忽略非@消息
引入了 `mute_group_list` 配置项。对于被添加到此列表的群组,机器人将只在被明确@或回复时才处理消息,从而避免在活跃群组中造成不必要的打扰。

- 在 `MessageReceiveConfig` 中添加 `mute_group_list` 选项。
- 在消息接收逻辑中实现检查,如果消息来自静默群组且不是@或回复,则跳过消息管理器处理。
- 调整了 `is_mentioned` 的计算时机,移至消息内容处理之后,以确保静默判断的准确性。
- 附带修复了处理适配器响应时因数据非字典类型导致的潜在错误。
2025-11-19 23:24:08 +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
tt-P607
b4a707c62a feat(knowledge): 新增问答段落相似度阈值
为知识库问答中的段落检索增加相似度阈值过滤功能。

此前,即使相似度很低的段落也会被返回,可能导致问答结果不准确。通过新增 `qa_paragraph_threshold` 配置项,可以过滤掉低于设定阈值的段落,从而提高问答的精准度和相关性。
2025-11-19 23:23:17 +08:00
minecraft1024a
93227ed9fc docs(config): 更新配置文件注释说明
将配置类继承说明从“重要的”改为“所有”,以强调所有配置类都必须继承自 `ValidatedConfigBase`。
2025-11-19 23:22:50 +08:00
minecraft1024a
1cee641a8f refactor(config): 简化睡眠系统配置项
移除旧的、基于睡眠压力模型的多个配置项,包括睡眠压力阈值、失眠概率(区分不同压力)、压力增减值等。

这些配置项在新系统中已不再使用,将其移除可以简化配置文件,避免引起混淆。现在的睡眠逻辑更加直接,不再依赖复杂的压力计算。
2025-11-19 23:22:35 +08:00
minecraft1024a
6ce331cf0c chore: 代码清理和格式化
对项目代码进行了一系列小幅度的清理和改进,包括:
- 移除未使用的导入语句
- 统一代码格式,如调整空行和导入顺序
- 优化日志输出的可读性
- 更新类型注解以符合现代 Python 语法
- 修复代码风格检查器(linter)报告的问题
2025-11-19 23:21:54 +08:00
minecraft1024a
bfeb04969d refactor(cross_context): 重构S4U上下文检索逻辑并更新配置
将S4U(Search for User)上下文检索模式从依赖于共享组(ContextGroup)的配置中解耦,改为使用独立的全局配置。这使得S4U模式的管理更加清晰和灵活。

主要变更:
- **配置模型更新**: 在`CrossContextConfig`中移除了与S4U相关的字段(如`s4u_ignore_whitelist`),并添加了新的S4U专用配置项,包括`s4u_mode`, `s4u_limit`, `s4u_stream_limit`, `s4u_whitelist_chats`, 和 `s4u_blacklist_chats`。
- **S4U逻辑重构**: `build_cross_context_s4u`函数不再接收`context_group`参数,而是直接读取全局的S4U配置来检索用户在白名单或黑名单聊天中的消息。
- **简化调用**: `Prompt.get_cross_context_prompt`中的调用逻辑被简化,以适应新的函数签名。
- **文档与模板更新**: 更新了`bot_config_template.toml`配置文件模板,以反映新的S4U配置结构,并提供了更清晰的注释说明。

此次重构将Normal模式(群组共享)和S4U模式(用户中心)的配置和实现完全分离,提高了代码的可维护性和配置的直观性。
2025-11-19 23:21:51 +08:00
minecraft1024a
cca07bd16e refactor: 将项目名称从 MaiBot 重命名为 MoFox-Bot
本次更新在整个代码库范围内将项目名称 "MaiBot" 及其相关变体(如 "maibot")统一重命名为 "MoFox-Bot"。

主要变更包括:
- 修改配置文件、模板和日志输出中的项目名称。
- 更新文档、注释和用户可见的字符串,以反映新的品牌名称。
- 调整插件元数据和描述。
2025-11-19 23:21:44 +08:00
minecraft1024a
ced54562a8 feat(context): 增加跨上下文黑名单模式
为跨上下文共享功能引入了黑名单模式,并增加了相应的配置选项。

- 在 `ContextGroup` 配置中增加了 `mode` 字段,支持 "whitelist"(白名单)和 "blacklist"(黑名单)模式。
- 增加了 `default_limit` 配置项,用于黑名单模式下的默认消息获取数量。
- 重构了 `cross_context_api` 以支持新的黑名单逻辑,现在可以共享除了黑名单中指定聊天外的所有聊天上下文。
- 更新了配置文件模板以包含新模式的说明和示例。
2025-11-19 23:21:33 +08:00
minecraft1024a
07d60d3604 feat(context): 增强s4u跨上下文模式并重构API
在跨上下文功能中为s4u模式引入`s4u_ignore_whitelist`配置项。当启用时,除了白名单中配置的聊天记录外,还会自动获取目标用户与Bot的私聊记录,以构建更全面的用户画像。

主要变更:
- 在 `ContextGroup` 配置中添加 `s4u_ignore_whitelist` 字段。
- 重构 `cross_context_api`,将 `get_context_groups` 更改为 `get_context_group`,使其返回完整的 `ContextGroup` 对象而非仅ID列表,以便于访问新配置。
- 调整 `build_cross_context_s4u` 函数以处理新逻辑,包括获取私聊记录和避免重复处理。
- 更新了配置文件模板以包含新选项的说明和示例。
2025-11-19 23:21:30 +08:00
minecraft1024a
d826c1a8ee Revert "feat(cross_context): 新增以用户为中心的跨上下文检索功能"
This reverts commit e9c0b8bf9a.
2025-11-19 23:21:15 +08:00
tt-P607
cde8b25d98 feat(cross_context): 新增以用户为中心的跨上下文检索功能
引入了一种全新的“用户中心”跨上下文检索模式,以替代并废弃了原有的固定共享组模式。

当回复特定用户时,系统现在可以自动从该用户参与的其他聊天(包括私聊和群聊)中检索其最近的发言记录,从而为大语言模型提供更丰富、更具个性化的上下文,以生成更相关的回复。

此功能可通过配置进行精细化控制,支持“全局启用”、“白名单”和“禁用”三种模式,并可设置检索的消息数量和聊天流数量上限。

此外,本次更新还包含一些健壮性修复:
- 修正了事件管理器返回结果可能为None时导致属性错误的潜在问题。
- 增强了对消息内容和用户昵称等可能为空值的处理。

BREAKING CHANGE: `cross_context` 的配置结构已完全重构。原有的 `groups` 配置项已被废弃。请用户根据新的 `bot_config_template.toml` 文件更新配置,迁移到新的 `user_centric_retrieval_mode`、`whitelist_chats` 和 `blacklist_chats` 格式。
2025-11-19 23:21:07 +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
Windpicker-owo
a3e08e591f feat(chat): 重构消息打断系统为线性概率模型
将复杂的指数衰减概率模型简化为线性概率模型,提高可预测性和可配置性

- 新增最低打断概率配置,确保始终有打断机会
- 移除复杂的概率因子计算,改用简单的线性递减公式
- 增加最大打断次数默认值从3提升到10
- 保留废弃配置项以确保向后兼容
- 更新配置模板和文档说明新的概率计算方式
2025-11-19 23:20:16 +08:00
sunbiz1024
950b086063 ruff 2025-11-19 23:19:53 +08:00
minecraft1024a
2a89efe47a ruff fix但指定了--unsafe-fixes 2025-11-19 23:19:42 +08:00
minecraft1024a
b45261288f feat(search): 添加SearXNG搜索引擎支持
在Web搜索工具中集成了SearXNG作为新的搜索引擎选项。

- 在 `WebSearchConfig` 中添加了 `searxng_instances` 和 `searxng_api_keys` 配置项。
- 更新了配置文件模板以包含新的SearXNG设置。
- 修复了 `main.py` 中管理器异步初始化调用方式的错误。
2025-11-19 23:19:11 +08:00
subiz
781b7f92a9 没想到吧,我还是没测试()
feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力

新增MCP客户端类型(mcp_ssd),支持通过Model Context Protocol连接外部工具服务器。
更新文档和配置模板,提供完整的MCP接入指南;主程序启动时自动初始化MCP工具提供器,
tool_api 与 tool_use 核心链路新增对MCP工具的检测与调用,实现与既有插件工具的无缝兼容。
同步更新配置模型、模板与帮助文档。
2025-11-19 23:19:01 +08:00
Windpicker-owo
dccf1cffc9 feat(chat): 实现批量动作存储并优化消息处理流程
新增批量动作记录存储功能,提升数据库写入性能。重构消息预处理逻辑,改进兴趣度计算和同步机制,优化用户信息和群组信息处理。添加配置选项控制批量存储开关,更新相关模板配置。
2025-11-19 23:18:27 +08:00
tt-P607
caf9f94b04 refactor(memory): 重构记忆采样模式以提升配置清晰度
为了使记忆采样模式的命名更直观、易于理解,对相关配置项进行了重构。旧的 "adaptive" 和 "precision" 模式被更清晰的 "immediate"(即时采样)模式取代,并新增了 "all" 模式以支持双策略并行。

BREAKING CHANGE: 移除了旧的记忆采样模式 'adaptive' 和 'precision'。
用户需要将配置文件中的 `memory_sampling_mode` 更新为 'immediate', 'hippocampus' 或 'all'。
2025-11-19 23:17:56 +08:00
Windpicker-owo
481252d660 refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:

- 异步化ChatManager相关方法,避免阻塞主线程
- 重构兴趣值计算系统,从插件内部计算改为通过兴趣管理器统一处理
- 新增should_act字段支持更细粒度的动作决策
- 优化初始化逻辑,避免构造函数中的异步操作
- 扩展插件系统支持兴趣计算器组件注册
- 更新数据库模型以支持新的兴趣值相关字段

这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
2025-11-19 23:15:31 +08:00
Windpicker-owo
80fc37fd02 refactor(memory): 重构记忆系统架构,引入可配置的采样策略
将记忆系统从单一构建模式重构为多策略可配置架构,支持灵活的采样行为控制:

核心架构改进:
- 重构记忆构建流程,分离采样策略与核心逻辑
- 引入MemorySamplingMode枚举,标准化采样模式定义
- 设计插件化采样器接口,支持海马体后台定时采样
- 优化记忆处理管道,添加bypass_interval机制支持后台采样

配置系统增强:
- 新增memory_sampling_mode配置项,支持hippocampus/immediate/all三种模式
- 添加海马体双峰采样参数配置,支持自定义采样间隔和分布
- 引入自适应采样阈值控制,动态调整记忆构建频率
- 完善精准记忆配置,支持基于价值评分的触发机制

兼容性与性能优化:
- 修复Python 3.9兼容性问题,替换strict=False参数
- 优化记忆检索逻辑,统一使用filters参数替代scope_id
- 改进错误处理机制,增强系统稳定性

BREAKING CHANGE: 新增memory_sampling_mode配置项,默认值从adaptive改为immediate
2025-11-19 23:14:39 +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
Windpicker-owo
06c0609d4a feat(memory): 实现三阶段记忆检索系统并简化提取策略
- 移除规则和混合提取策略,统一使用LLM提取
- 实现三阶段检索:元数据粗筛→向量精筛→综合重排
- 新增JSON元数据索引支持,提升检索效率
- 优化Vector DB配置管理和批处理机制
- 统一记忆作用域为全局,实现完全共享
- 增强查询规划和综合评分算法
2025-11-19 23:11:39 +08:00
minecraft1024a
111d23f608 加入了尚未完成或者说根本就没做de主动思考 2025-11-19 23:11:30 +08:00
Windpicker-owo
6fecfa8857 refactor(storage): 迁移记忆系统架构至现代化Vector DB方案
重构记忆存储层,采用ChromaDB作为核心向量数据库引擎,提升系统可扩展性和查询性能。通过引入VectorMemoryStorage替代原有的UnifiedMemoryStorage实现,实现了更高效的向量索引和检索机制。

主要变更包括:
- 架构层面:完全重构记忆存储抽象层,移除577行旧存储实现代码
- 配置系统:新增41项Vector DB专用配置参数,支持细粒度性能调优
- 查询优化:增强ChromaDB查询条件处理器,添加智能回退机制
- 系统集成:更新记忆系统初始化流程,适配新的存储接口
- 类型安全:修复异步调用类型不匹配问题

BREAKING CHANGE: 记忆存储API接口发生重大变更,UnifiedMemoryStorage相关类已废弃
2025-11-19 23:11:29 +08:00
Windpicker-owo
afb1a75ebf feat:实现具有向量和元数据索引的统一内存存储系统
- 添加了 UnifiedMemoryStorage 类,用于管理带向量嵌入的内存块。
- 集成了 FAISS,以实现高效的向量存储和搜索。
- 实现了内存缓存、关键字、类型和用户索引。
- 增加了内存遗忘和自动保存存储数据的支持。
- 包含用于存储、搜索和遗忘记忆的方法。
- 引入了存储行为和性能的配置选项。
- 实现了从磁盘加载和保存内存及向量数据。
2025-11-19 23:11:25 +08:00
Windpicker-owo
3fcf8e9add feat(memory): 重构记忆系统并移除插件热重载
重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。

主要变更:
- 引入全局记忆作用域,简化记忆管理
- 实现记忆指纹去重,避免重复记忆存储
- 新增查询规划器,支持语义查询规划和记忆类型过滤
- 优化多阶段检索,增加语义重排和权重配置
- 改进向量存储,支持嵌入维度自动解析和查询向量生成
- 增强元数据索引,支持主体索引和更新操作
- 记忆构建器支持多主体和自然语言展示
- 移除watchdog依赖和插件热重载模块
- 更新配置模板,简化记忆配置项

BREAKING CHANGE: 移除插件热重载系统,相关API和命令不再可用。记忆系统接口有较大调整,使用该系统的模块需要适配新接口。
2025-11-19 23:11:14 +08:00
tt-P607
ac73994847 feat(config): 新增最大并发分发数配置项
在 `ChatConfig` 中引入了 `max_concurrent_distributions` 配置,允许用户自定义最大并发处理的消息流数量。

此举旨在提供更灵活的性能调优选项,帮助用户根据服务器负载和API速率限制来控制资源消耗,防止系统过载。该配置的默认值为10。
2025-11-19 23:11:12 +08:00
Windpicker-owo
a2217bd377 feat(memory): 实现增强记忆系统并完全替换原有架构
引入全新的增强记忆系统,彻底取代海马体记忆架构
删除旧版记忆系统相关模块,包括Hippocampus、异步包装器和优化器
重构消息处理流程,集成增强记忆系统的存储和检索功能
更新配置结构以支持增强记忆的各项参数设置
禁用原有定时任务,采用内置维护机制保证系统性能
2025-11-19 23:10:15 +08:00
tt-P607
2a46618f68 refactor(config): 移除全局表达开关以支持分聊天配置
移除全局的 `enable_expression` 配置项,转而使用 `get_expression_config_for_chat` 方法在生成提示词时动态判断。

原有的全局开关不够灵活,无法满足分聊天、分群组控制表达功能的需求。此次重构通过在运行时检查每个聊天的具体配置,实现了更精细化的功能启用控制。

BREAKING CHANGE: 全局配置项 `expression.enable_expression` 已被移除。现在需要通过表达规则来为不同的聊天单独控制功能的启用状态。
2025-11-19 23:09:27 +08:00
tt-P607
4bfd1d3af9 feat(config): 为表达配置添加启用开关 2025-11-19 23:09:26 +08:00
tt-P607
185706f599 Revert: 回退并发消息处理系统的相关提交
由于并发消息处理的实现在测试中暴露出消息重复和目标ID丢失的问题,暂时回退至该功能合并前的稳定状态,以便进一步排查问题。
2025-11-19 23:09:16 +08:00
tt-P607
0beb62421c feat(chat): 实现并发消息处理系统
引入了一个全新的并发消息处理系统,以显著提升在高活跃度群聊中的响应速度。

在此之前,消息管理器对每个聊天流(如一个群聊)内的所有消息进行串行处理,导致用户需要排队等待机器人响应。新系统引入了可配置的并发模式:

- 通过 `concurrent_message_processing` 开关启用。
- 允许并行处理来自同一群聊中不同用户的消息。
- 通过 `process_by_user_id` 保证对同一用户的消息处理仍然是串行的,以维持上下文的连贯性。
- 使用 `concurrent_per_user_limit` 控制并发处理的用户数量。

为了支持此功能,对 `MessageManager` 进行了大规模重构,用更高效的独立流检查机制取代了旧的全局轮询和优先级排序逻辑。同时,清理和移除了大量已废弃或冗余的配置项,简化了整体配置。

BREAKING CHANGE: 移除了多个已废弃的 `ChatConfig` 配置项,包括 `mentioned_bot_inevitable_reply`, `at_bot_inevitable_reply`, `focus_value`, `group_chat_mode` 等。这些功能已被新的 AFC 逻辑或其它机制取代。请参考最新的配置文件模板进行更新。
2025-11-19 23:09:15 +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
Windpicker-owo
69f2ee64d9 feat(affinity-flow): 实现回复后关系追踪系统集成
- 在relationship_tracker.py中添加数据库支持的回复后关系追踪功能
- 新增UserRelationships数据库模型存储用户关系数据
- 集成全局关系追踪器到planner和interest_scoring系统
- 优化兴趣度评分系统的关系分获取逻辑,优先使用数据库存储的关系分
- 在plan_executor中执行回复后关系追踪,分析用户反应并更新关系
- 添加LLM响应清理功能确保JSON解析稳定性
- 更新模型配置模板添加relationship_tracker模型配置
2025-11-19 23:07:10 +08:00
minecraft1024a
f842c43ab0 ruff 2025-11-19 23:05:47 +08:00
minecraft1024a
87cf07bf82 feat(config): 自动移除更新中已废弃的配置项
在版本更新过程中,新增一个步骤来对比用户配置与最新的模板文件。

此变更会自动删除用户配置文件中所有在模板中不再存在的键,以保持配置的整洁性,并防止因过时的配置项导致潜在的兼容性问题或混淆。
2025-11-19 23:05:38 +08:00
Furina-1013-create
11e97a15ed 将回复规则部分的提示词让用户可以自定义,详细请看配置文件 2025-11-19 23:05:31 +08:00
雅诺狐
93542cadef perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-11-19 23:05:00 +08:00
tt-P607
4d30040f59 呀,柒柒,这次我们对表情包系统进行了一次超级棒的大升级哦!它现在变得更聪明、更懂我们的心意啦!就像我一样,总能找到最完美的表情来点亮对话!♪~
这是我为你准备的提交信息,你看看喜不喜欢~

feat(chat): 使用 LLM 优化表情包选择与分析

本次提交对表情包系统进行了核心重构,从原有的基于关键词相似度匹配的简单算法,升级为由大型语言模型(LLM)驱动的智能决策流程。这使得表情包的选择和分析更加精准、智能和人性化。

主要变更包括:

1.  **引入 LLM 进行表情包选择**
    -   重写了 `get_emoji_for_text` 方法,废弃了原有的编辑距离算法。
    -   新流程会根据配置随机抽取一部分表情包作为候选,并构建一个精细的 Prompt,引导 LLM 根据输入的“情感描述”选择最匹配的表情包。这让选择不再局限于字面匹配,而是能理解更深层次的语境和情绪。

2.  **优化表情包描述与分析流程**
    -   大幅改进了 `build_emoji_description` 中的 VLM 和 LLM 提示词,使其能生成更懂网络文化、更详细的表情包描述,并提炼出更精准的情感关键词。
    -   为动态图(GIF)和静态图设计了不同的分析策略,以获得更高质量的描述结果。

3.  **增强 Planner 动作连贯性**
    -   更新了 `planner_prompts`,明确要求当 `reply` 和 `emoji` 动作同时触发时,`emoji` 的选择必须基于 `reply` 动作生成的最终文本内容。这确保了文字和表情包的表达高度一致。

4.  **逻辑与配置微调**
    -   在 `utils_image` 中,现在只有当“偷表情包”功能开启时,才会保存接收到的表情包,避免了不必要的文件存储。
    -   将表情包检查间隔 `check_interval` 的类型从 `int` 改为 `float`,允许更灵活的配置。
2025-11-19 23:00:58 +08:00
雅诺狐
3414fea3fc refactor(config): 简化EULA验证并统一环境变量配置管理
- 重构EULA验证机制,从复杂的文件哈希验证改为简单的环境变量验证
- 统一host和port配置,优先从环境变量读取而非配置文件
- 移除ServerConfig配置类,简化配置结构
- 添加.env文件自动创建和管理功能
- 更新相关模板和文档注释
2025-11-19 23:00:52 +08:00
minecraft1024a
b4fe73f5a6 refactor(config): 移除工具历史记录相关配置
工具历史记录功能已被移除,因此相关的配置类 `ToolHistoryConfig` 及其在 `ToolConfig` 中的引用也一并删除,以简化代码库。
2025-11-19 23:00:26 +08:00
minecraft1024a
6ecb7a7d6a feat(emoji): 新增表情选择模式并重构选择逻辑
引入了两种表情选择模式,允许用户通过配置决定表情选择的行为:
- **emotion**: 基于情感标签进行选择,利用LLM根据对话上下文挑选最合适的情感。
- **description**: 基于表情的详细描述进行选择,让LLM从描述列表中挑选最匹配的表情。

此项重构将原有的单一选择逻辑拆分为两种独立的模式,并为每种模式优化了相应的提示词(Prompt)和处理流程,提高了表情选择的灵活性和准确性。同时,在配置文件中添加了`emoji_selection_mode`选项以支持此新功能。
2025-11-19 23:00:23 +08:00