Commit Graph

129 Commits

Author SHA1 Message Date
minecraft1024a
83602b181b refactor(core): 移除睡眠系统
由于睡眠系统存在设计缺陷、实现复杂且维护成本高,并且实际使用效果不佳,常常导致非预期的行为(如错过重要消息或在不应睡眠时睡眠),现决定将其从核心代码中完全移除。

移除内容包括:
- 删除了整个 `sleep_system` 模块及其所有相关逻辑、状态管理和定时任务。
- 清理了配置文件 `config.py` 和 `official_configs.py` 中的 `SleepSystemConfig`。
- 移除了 `main.py` 中关于睡眠系统的初始化调用。
- 清理了 `message_manager` 和 `proactive_thinker` 中对睡眠状态的检查。
- 更新了 `bot_config_template.toml` 模板文件,移除了所有睡眠系统相关的配置项。

此举旨在简化项目架构,提高系统的稳定性和可预测性。未来的相关功能可能会以更健壮、更模块化的插件形式重新实现。
2025-10-25 10:00:56 +08:00
minecraft1024a
079a9a3fa0 refactor(prompt): 移除 normal 模式并强制使用 s4u 模式
删除了旧的 "normal" prompt 模式及其相关逻辑,包括 prompt 模板、上下文构建函数和配置选项。现在系统将统一并强制使用 "s4u" 模式进行回复生成。

主要变更:
- 从 `default_generator.py` 中移除了 `normal_style_prompt` 模板和模式选择逻辑。
- 从 `prompt.py` 中删除了 `_build_normal_chat_context` 和 `_prepare_normal_params` 等相关函数。
- 从 `official_configs.py` 中移除了 `prompt_mode` 配置项。
- 更新了 `bot_config_template.toml` 配置文件,移除了 `prompt_mode` 选项和相关的 normal 模式上下文共享组示例。

此重构简化了 prompt 生成流程,统一了上下文处理方式,减少了代码的复杂性和维护成本。
2025-10-25 09:56:14 +08:00
tt-P607
c656690a1e fix(chat): 修复戳一戳等notice事件无法触发聊天流程的问题
该修复解决了机器人对“戳一戳”等 notice 事件没有响应的 bug。

问题根源在于 MessageManager 在处理 notice 消息时,仅将其添加到全局通知管理器后便直接返回,导致消息无法进入后续的聊天处理流程,即使相关配置已开启。

主要变更:

修改 Elysia/Bot/src/chat/message_manager/message_manager.py,在处理 notice 消息时,增加对 bot_config.toml 中 enable_notice_trigger_chat 配置的判断。只有在该配置为 false 时才中断流程,否则将消息继续送入聊天上下文。
修复了 _get_notice_ttl 函数中因 notice_type 可能为 None 而引发的潜在 TypeError。
将 Bot/src/config/official_configs.py 中 enable_notice_trigger_chat 的默认值从 False 修改为 True,以提供更合理的开箱即用体验。
2025-10-24 14:33:24 +08:00
tt-P607
9f28d1943c feat(chat): 新增群组静默列表以忽略非@消息
引入了 `mute_group_list` 配置项。对于被添加到此列表的群组,机器人将只在被明确@或回复时才处理消息,从而避免在活跃群组中造成不必要的打扰。

- 在 `MessageReceiveConfig` 中添加 `mute_group_list` 选项。
- 在消息接收逻辑中实现检查,如果消息来自静默群组且不是@或回复,则跳过消息管理器处理。
- 调整了 `is_mentioned` 的计算时机,移至消息内容处理之后,以确保静默判断的准确性。
- 附带修复了处理适配器响应时因数据非字典类型导致的潜在错误。
2025-10-23 00:24:16 +08:00
Windpicker-owo
73cddf1121 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-19 22:49:14 +08:00
Windpicker-owo
2ec3be7c84 feat(notice): 实现全局notice消息管理系统
添加全局notice管理器,将notice消息与普通消息分离处理。主要功能包括:

- 创建 GlobalNoticeManager 单例类,支持公共和特定聊天流作用域
- 在 message_manager 中集成notice检测和处理逻辑
- 扩展数据库模型和消息类,添加notice相关字段
- 在提示词生成器中添加notice信息块展示
- 配置系统支持notice相关参数设置
- 适配器插件增强notice类型识别和配置

notice消息特点:
- 默认不触发聊天流程,只记录到全局管理器
- 可在提示词中展示最近的系统通知
- 支持按类型设置不同的生存时间
- 支持公共notice(所有聊天可见)和流特定notice

BREAKING CHANGE: 数据库消息表结构变更,需要添加 is_public_notice 和 notice_type 字段
2025-10-19 22:45:19 +08:00
tt-P607
2bb7e51252 feat(knowledge): 新增问答段落相似度阈值
为知识库问答中的段落检索增加相似度阈值过滤功能。

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

这些配置项在新系统中已不再使用,将其移除可以简化配置文件,避免引起混淆。现在的睡眠逻辑更加直接,不再依赖复杂的压力计算。
2025-10-17 19:04:52 +08:00
minecraft1024a
c01607b17b chore: 代码清理和格式化
对项目代码进行了一系列小幅度的清理和改进,包括:
- 移除未使用的导入语句
- 统一代码格式,如调整空行和导入顺序
- 优化日志输出的可读性
- 更新类型注解以符合现代 Python 语法
- 修复代码风格检查器(linter)报告的问题
2025-10-12 12:41:05 +08:00
minecraft1024a
d10f0e81cb 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-10-12 12:38:13 +08:00
minecraft1024a
f7ed5211a3 feat(context): 增加跨上下文黑名单模式
为跨上下文共享功能引入了黑名单模式,并增加了相应的配置选项。

- 在 `ContextGroup` 配置中增加了 `mode` 字段,支持 "whitelist"(白名单)和 "blacklist"(黑名单)模式。
- 增加了 `default_limit` 配置项,用于黑名单模式下的默认消息获取数量。
- 重构了 `cross_context_api` 以支持新的黑名单逻辑,现在可以共享除了黑名单中指定聊天外的所有聊天上下文。
- 更新了配置文件模板以包含新模式的说明和示例。
2025-10-11 19:45:32 +08:00
minecraft1024a
419d1a483a 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-10-11 19:19:52 +08:00
minecraft1024a
604b5bc4ac Revert "feat(cross_context): 新增以用户为中心的跨上下文检索功能"
This reverts commit e9c0b8bf9a.
2025-10-11 18:54:49 +08:00
tt-P607
e9c0b8bf9a feat(cross_context): 新增以用户为中心的跨上下文检索功能
引入了一种全新的“用户中心”跨上下文检索模式,以替代并废弃了原有的固定共享组模式。

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

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

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

BREAKING CHANGE: `cross_context` 的配置结构已完全重构。原有的 `groups` 配置项已被废弃。请用户根据新的 `bot_config_template.toml` 文件更新配置,迁移到新的 `user_centric_retrieval_mode`、`whitelist_chats` 和 `blacklist_chats` 格式。
2025-10-10 19:08:30 +08:00
Windpicker-owo
dd1444cc41 refactor(chat): 重构关系系统并优化消息打断处理机制
- 移除独立的RelationshipConfig,将关系追踪参数整合到AffinityFlowConfig
- 实现消息打断后立即重新处理流程,提升交互响应性
- 优化关系追踪系统,添加概率筛选和超时保护机制
- 改进机器人自引用处理,确保消息内容正确显示
- 增强用户信息提取逻辑,兼容多种消息格式
- 添加异步后台任务处理,避免阻塞主回复流程
- 调整兴趣评分阈值和权重参数,优化消息匹配精度
2025-10-08 22:33:10 +08:00
Windpicker-owo
76713bf727 feat(chat): 重构消息打断系统为线性概率模型
将复杂的指数衰减概率模型简化为线性概率模型,提高可预测性和可配置性

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

- 在 `WebSearchConfig` 中添加了 `searxng_instances` 和 `searxng_api_keys` 配置项。
- 更新了配置文件模板以包含新的SearXNG设置。
- 修复了 `main.py` 中管理器异步初始化调用方式的错误。
2025-10-05 20:50:11 +08:00
Windpicker-owo
c808d6a0ef feat(chat): 实现批量动作存储并优化消息处理流程
新增批量动作记录存储功能,提升数据库写入性能。重构消息预处理逻辑,改进兴趣度计算和同步机制,优化用户信息和群组信息处理。添加配置选项控制批量存储开关,更新相关模板配置。
2025-10-05 17:45:44 +08:00
Windpicker-owo
624298e1b8 refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:

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

这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
2025-10-05 01:25:52 +08:00
Windpicker-owo
1eb41f8372 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-10-03 22:00:53 +08:00
John Richard
7923eafef3 re-style: 格式化代码 2025-10-02 20:26:01 +08:00
John Richard
ecb02cae31 style: 格式化代码 2025-10-02 19:38:39 +08:00
Windpicker-owo
59bda71f29 feat(memory): 实现三阶段记忆检索系统并简化提取策略
- 移除规则和混合提取策略,统一使用LLM提取
- 实现三阶段检索:元数据粗筛→向量精筛→综合重排
- 新增JSON元数据索引支持,提升检索效率
- 优化Vector DB配置管理和批处理机制
- 统一记忆作用域为全局,实现完全共享
- 增强查询规划和综合评分算法
2025-10-02 10:13:38 +08:00
Windpicker-owo
89f007fa33 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-10-02 00:29:02 +08:00
Windpicker-owo
bce623a58b refactor(storage): 迁移记忆系统架构至现代化Vector DB方案
重构记忆存储层,采用ChromaDB作为核心向量数据库引擎,提升系统可扩展性和查询性能。通过引入VectorMemoryStorage替代原有的UnifiedMemoryStorage实现,实现了更高效的向量索引和检索机制。

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

BREAKING CHANGE: 记忆存储API接口发生重大变更,UnifiedMemoryStorage相关类已废弃
2025-10-02 00:28:55 +08:00
minecraft1024a
62d0498ea2 加入了尚未完成或者说根本就没做de主动思考 2025-10-01 22:00:26 +08:00
Windpicker-owo
9359e489a9 feat:实现具有向量和元数据索引的统一内存存储系统
- 添加了 UnifiedMemoryStorage 类,用于管理带向量嵌入的内存块。
- 集成了 FAISS,以实现高效的向量存储和搜索。
- 实现了内存缓存、关键字、类型和用户索引。
- 增加了内存遗忘和自动保存存储数据的支持。
- 包含用于存储、搜索和遗忘记忆的方法。
- 引入了存储行为和性能的配置选项。
- 实现了从磁盘加载和保存内存及向量数据。
2025-10-01 18:02:42 +08:00
Windpicker-owo
dc39fd26c7 feat(memory): 重构记忆系统并移除插件热重载
重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。

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

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

此举旨在提供更灵活的性能调优选项,帮助用户根据服务器负载和API速率限制来控制资源消耗,防止系统过载。该配置的默认值为10。
2025-09-30 20:04:04 +08:00
Windpicker-owo
b30db43776 feat(memory): 实现增强记忆系统并完全替换原有架构
引入全新的增强记忆系统,彻底取代海马体记忆架构
删除旧版记忆系统相关模块,包括Hippocampus、异步包装器和优化器
重构消息处理流程,集成增强记忆系统的存储和检索功能
更新配置结构以支持增强记忆的各项参数设置
禁用原有定时任务,采用内置维护机制保证系统性能
2025-09-30 00:09:46 +08:00
Windpicker-owo
ff24bd8148 Merge afc branch into dev, prioritizing afc changes and migrating database async modifications from dev 2025-09-27 23:37:40 +08:00
Windpicker-owo
a2baec088e feat(chat): 实现动态消息分发系统和消息打断机制
添加基于focus_energy的动态消息分发周期调整功能,根据聊天流兴趣度智能调整检查间隔
实现消息打断系统,允许高优先级消息打断正在处理的任务
重构ChatStream类,引入动态兴趣度计算系统,包括消息兴趣度统计和用户关系评分
扩展数据库模型和配置系统以支持新功能,增加相关配置项
更新版本号至0.11.0-alpha-1以反映重大功能更新
2025-09-25 17:14:01 +08:00
Furina-1013-create
de48d2ae02 将回复规则部分的提示词让用户可以自定义,详细请看配置文件 2025-09-22 22:44:15 +08:00
Windpicker-owo
444f1ca315 ruff,私聊视为提及了bot 2025-09-20 22:34:22 +08:00
雅诺狐
898208f425 perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-09-20 10:55:06 +08:00
Windpicker-owo
96e4dc2946 feat(affinity-flow): 重构亲和流配置系统
将硬编码的兴趣度评分参数迁移到集中式配置管理,新增AffinityFlowConfig配置类
- 从全局配置加载评分权重、阈值和计算参数
- 统一管理匹配奖励、关系分数和提及bot相关配置
- 更新配置文件模板包含完整的亲和流参数
- 确保各模块使用一致的配置值而非硬编码常量
2025-09-19 13:16:45 +08:00
tt-P607
65f949ad99 Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-14 16:44:44 +08:00
tt-P607
5bf798ed0a 呀,柒柒,这次我们对表情包系统进行了一次超级棒的大升级哦!它现在变得更聪明、更懂我们的心意啦!就像我一样,总能找到最完美的表情来点亮对话!♪~
这是我为你准备的提交信息,你看看喜不喜欢~

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-09-14 16:44:35 +08:00
雅诺狐
fc78ec88d5 refactor(config): 简化EULA验证并统一环境变量配置管理
- 重构EULA验证机制,从复杂的文件哈希验证改为简单的环境变量验证
- 统一host和port配置,优先从环境变量读取而非配置文件
- 移除ServerConfig配置类,简化配置结构
- 添加.env文件自动创建和管理功能
- 更新相关模板和文档注释
2025-09-14 10:35:14 +08:00
minecraft1024a
bcd9955374 refactor(config): 移除工具历史记录相关配置
工具历史记录功能已被移除,因此相关的配置类 `ToolHistoryConfig` 及其在 `ToolConfig` 中的引用也一并删除,以简化代码库。
2025-09-13 09:03:00 +08:00
minecraft1024a
46b3e795bc feat(emoji): 新增表情选择模式并重构选择逻辑
引入了两种表情选择模式,允许用户通过配置决定表情选择的行为:
- **emotion**: 基于情感标签进行选择,利用LLM根据对话上下文挑选最合适的情感。
- **description**: 基于表情的详细描述进行选择,让LLM从描述列表中挑选最匹配的表情。

此项重构将原有的单一选择逻辑拆分为两种独立的模式,并为每种模式优化了相应的提示词(Prompt)和处理流程,提高了表情选择的灵活性和准确性。同时,在配置文件中添加了`emoji_selection_mode`选项以支持此新功能。
2025-09-12 21:41:38 +08:00
minecraft1024a
cd19e89528 refactor(config): 移除睡前消息群组配置
移除了 `pre_sleep_notification_groups` 配置项,因为该功能已通过新的插件事件和动作机制实现,不再需要硬编码的群组列表。现在可以通过插件来灵活地处理睡前通知的发送逻辑。
2025-09-12 20:47:52 +08:00
tt-P607
c996bd28df Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox_Bot into dev 2025-09-12 20:36:20 +08:00
tt-P607
5f4fea8358 feat(prompt): 添加背景故事与安全准则
本次提交在人设配置中引入了“背景故事”和“安全准则”两个新字段,旨在增强 Bot 的角色深度和互动安全性。

- **背景故事 (`background_story`)**: 允许用户定义详细的世界观或角色背景。这部分内容将作为背景知识注入 Prompt,指导模型在不直接复述的情况下理解和运用,从而塑造更丰富的角色。

- **安全准则 (`safety_guidelines`)**: 用户可以明确定义 Bot 必须遵守的行为红线。这些准则会被整合进系统指令,为模型处理不当或敏感请求提供清晰的、可配置的指导方针,提升了交互的安全性。
2025-09-12 20:34:39 +08:00
minecraft1024a
ebb575ec53 refactor(config): 移除.env依赖并引入服务器配置模型
将项目配置系统从依赖.env文件和环境变量迁移到使用Pydantic模型进行集中管理。此举通过移除`python-dotenv`库简化了环境设置,并提高了配置的类型安全性和可维护性。

主要变更包括:
- 移除`bot.py`中的.env加载逻辑。
- 新增`ServerConfig`模型来管理服务器的主机和端口。
- 更新`src/common/server.py`和`src/common/message/api.py`以从全局配置对象获取服务器设置,取代了`os.environ`。
- 从配置中移除了已废弃的`MaizoneIntercomConfig`。
- 在`bot_config_template.toml`中添加了新的`[server]`配置部分。
2025-09-12 19:04:27 +08:00
tt-P607
de90d452cc feat(emoji): 优化表情选择逻辑并引入上下文数量限制
重构了内置插件中的表情发送逻辑,以提高选择的准确性和效率。

旧的机制依赖于预设的情感标签,这可能不准确或缺失。新的实现改为让 LLM 直接从一部分随机抽样的表情包描述中进行选择,这使得决策更贴近上下文。

主要变更:
- 将基于情感标签的选择改为基于表情包描述的选择,使表情推荐更精准。
- 新增 `max_context_emojis` 配置项,用于控制每次传递给 LLM 的表情包候选项数量,从而减少 token 消耗并提高响应速度。
2025-09-11 17:29:42 +08:00
tt-P607
0cb2fa3373 feat(chat): 为回复分割器添加 llmpunctuation 模式
本次更新重构了回复分割功能,引入了 `split_mode` 配置项,允许用户在两种分割模式之间进行选择,提供了更大的灵活性。

- **`llm` 模式**: 延续了由大语言模型通过 `[SPLIT]` 标记决定断句的功能。此模式下的提示词(Prompt)已进一步优化,以引导模型做出更自然的分割。
- **`punctuation` 模式**: 恢复了传统的基于标点符号的分割逻辑。这已设为新的默认模式,确保用户更新后行为与旧版本保持一致。

此外,`at_user` 插件也进行了适配,以正确处理由 `llm` 模式可能产生的多段消息。
2025-09-11 17:12:01 +08:00