Commit Graph

26 Commits

Author SHA1 Message Date
Windpicker-owo
812e4d76f8 feat(affinity-flow): 实现回复后关系追踪系统集成
- 在relationship_tracker.py中添加数据库支持的回复后关系追踪功能
- 新增UserRelationships数据库模型存储用户关系数据
- 集成全局关系追踪器到planner和interest_scoring系统
- 优化兴趣度评分系统的关系分获取逻辑,优先使用数据库存储的关系分
- 在plan_executor中执行回复后关系追踪,分析用户反应并更新关系
- 添加LLM响应清理功能确保JSON解析稳定性
- 更新模型配置模板添加relationship_tracker模型配置
2025-09-19 11:28:37 +08:00
tt-P607
2a82dfb703 refactor(planner): 采用统一的多动作决策模型取代大脑/小脑架构
本次更新彻底重构了动作规划器(Planner)的核心架构,废弃了原有的“大脑/小脑”并行决策模型,转而采用一个更简洁、高效的统一决策模型。

主要变更:
- **统一决策**: 单个LLM调用现在可以一次性决策出所有需要执行的动作,并以JSON列表的形式返回。
- **架构简化**: 完全移除了 `sub_plan`(小脑)逻辑、`planner_small` 模型以及相关的并行处理和结果合并代码,大幅降低了复杂性。
- **配置精简**: 从配置文件中删除了与小脑相关的 `planner_size` 和 `include_personality` 选项,简化了用户配置。
- **提示词更新**: 更新了规划器的Prompt,明确指示LLM返回一个动作列表,即使只有一个动作或没有动作。

带来的好处:
- **性能提升**: 减少了LLM API的调用次数,显著降低了单次规划的延迟和成本。
- **可维护性**: 代码逻辑更清晰、线性,易于理解和后续维护。
- **稳定性**: 减少了多路并发带来的不确定性和潜在的竞态问题。

BREAKING CHANGE: 移除了大脑/小脑规划器架构。
用户需要从 `model_config.toml` 中移除 `[model_task_config.planner_small]` 配置节,并从 `bot_config.toml` 中移除 `planner_size` 和 `include_personality` 配置项。
2025-09-09 09:25:25 +08:00
minecraft1024a
c097b5d00b feat(config): 支持API密钥列表轮询
- 将`api_key`类型从`str`扩展为`Union[str, List[str]]`,允许用户配置多个API密钥。
- 新增`get_api_key`方法,通过线程安全的方式实现API密钥的轮询使用,提高API请求的稳定性和可用性。
- 更新了`api_key`的验证逻辑,以同时支持字符串和字符串列表两种格式。
- 相应地更新了配置文件模板,以示例新的密钥列表配置方式。
2025-09-06 20:23:24 +08:00
minecraft1024a
e5247eba96 feat(config): 为小脑(sub-planner)新增独立模型和尺寸配置
为“小脑”(sub-planner)引入了独立的模型配置`planner_small`,使其可以与主planner(大脑)使用不同的、更轻量的模型,以提升并行处理性能。

同时,新增了`planner_size`配置项,用于控制每个小脑处理的action数量,允许用户根据需求调整并行度和单个小脑的上下文窗口。

- 在`model_config.toml`中添加`planner_small`任务配置
- 在`bot_config.toml`中添加`planner_size`参数
- 更新代码以使用新的配置项,并移除了相关的硬编码和TODO注释
2025-09-06 17:14:32 +08:00
Windpicker-owo
53e72ecbdb 迁移:1f91967(remove:移除willing系统,移除reply2,移除能量值,移除reply_to改为message) 2025-09-03 21:27:28 +08:00
Windpicker-owo
8149731925 修复代码格式和文件名大小写问题 2025-08-31 20:50:17 +08:00
minecraft1024a
c63de5ddd5 refactor(config): 将反截断设置移至模型配置 #真的能算refactor吗
反截断(anti-truncation)功能与特定模型的行为和能力更为相关,而不是任务本身的属性。

此更改将该设置从 `TaskConfig` 移动到 `ModelInfo`,以实现更合理的配置分组和更精细的控制。代码逻辑和配置文件模板也已相应更新。

BREAKING CHANGE: `anti_truncation` 配置项已从 `[model_task_config]` 部分移动到 `[[models]]` 下的具体模型配置中。用户需要更新其配置文件以适配新结构。
2025-08-26 20:45:04 +08:00
minecraft1024a
3c891f08e5 feat(config): 新增反截断功能防止模型输出截断
在任务配置中增加 anti_truncation 开关,支持在生成大段文本时防止被意外截断。启用后会在 prompt 中添加指示模型输出完成信令的指令,并在检测到未正常结束时触发自动重试机制。(我相信这次的一定不会炸飞你们了)
2025-08-21 20:29:37 +08:00
minecraft1024a
b1b08c1814 feat:添加了月度计划 # 我要混提交 2025-08-21 12:32:48 +08:00
雅诺狐
f959ca6bb2 Use Literal types for config field validation
Replaced manual string validation with Python's Literal type for 'client_type' in APIProvider and 'search_strategy' in WebSearchConfig. This simplifies validation and improves type safety by restricting allowed values at the type level.
2025-08-20 19:38:37 +08:00
雅诺狐
d6f762865c Add aiohttp_gemini client type and update TaskConfig defaults
Added 'aiohttp_gemini' to allowed client types in APIProvider. Updated TaskConfig defaults: max_tokens to 800, temperature to 0.7, and concurrency_count to 1 for improved default behavior.
2025-08-19 18:42:33 +08:00
雅诺狐
8435c02cf0 修复硬编码错误 2025-08-19 18:03:31 +08:00
雅诺狐
3dfb138d2c 修复硬编码错误 2025-08-19 18:00:41 +08:00
tt-P607
7dabc4273d 修复AttributeError异常**:
- 在ChatConfig中添加get_current_talk_frequency()方法
   - 在ExpressionConfig中添加get_expression_config_for_chat()方法,但是模型配置文件依旧被架空力😭😭😭我解决不了,帮帮我!雅诺狐姐姐!😭😭😭
2025-08-19 17:35:47 +08:00
雅诺狐
1405b50d5a Refactor config system to use Pydantic validation
Refactored configuration classes to inherit from a new ValidatedConfigBase using Pydantic for robust validation and error reporting. Updated api_ada_configs.py, config.py, config_base.py, and official_configs.py to replace dataclasses with Pydantic models, add field validation, and improve error messages. This change enhances configuration reliability and developer feedback for misconfigurations. Also includes minor code cleanups and removal of unused variables in other modules.
2025-08-19 15:33:43 +08:00
雅诺狐
689aface9d Add LLM anti-prompt injection system
Introduces a comprehensive anti-prompt injection system for LLMs, including rule-based and LLM-based detection, user ban/whitelist management, message shielding, and statistics tracking. Adds new modules under src/chat/antipromptinjector, integrates anti-injection checks into the message receive flow, updates configuration and database models, and provides test scripts. Also updates templates and logger aliases to support the new system.
2025-08-18 17:27:59 +08:00
minecraft1024a
1093657b05 feat(maizone): 新增独立的maizone模型配置
为maizone功能添加了专属的模型任务配置`maizone`,使其可以与默认的回复模型`replyer_1`使用不同的模型和参数。

- 在`ModelTaskConfig`中增加了`maizone`字段。
- 将`maizone_refactored`插件的默认模型从`replyer_1`修改为`maizone`。
- 在配置文件模板中添加了`[model_task_config.maizone]`的默认配置。
2025-08-17 14:52:06 +08:00
minecraft1024a
8588a21c75 feat(config): 为表情包识别添加独立的VLM模型配置
为表情包识别功能(emoji_vlm)引入了专门的模型任务配置,使其与通用的视觉语言模型(VLM)配置分离。这提高了配置的灵活性和模块化程度。

- 在 `api_ada_configs.py` 中新增 `emoji_vlm` 任务配置。
- 更新 `emoji_manager.py` 以使用新的 `emoji_vlm` 配置。
- 在 `model_config_template.toml` 中添加了相应的配置模板。
2025-08-16 22:15:08 +08:00
minecraft1024a
54565a405c 添加并发请求支持,更新LLMRequest类以允许根据配置的并发数量进行异步请求 2025-08-16 13:39:49 +08:00
Furina-1013-create
9d29228784 我靠我我视频识别怎么又给我炸了
--已重新修复......
2025-08-14 00:45:19 +08:00
minecraft1024a
602653c8c0 优化API调用超时提示信息,增加空回复重试逻辑(应该能用) 2025-08-13 17:56:32 +08:00
雅诺狐
fe97d897ef 优化项目结构,格式化代码 2025-08-13 09:49:39 +08:00
Furina-1013-create
32feae137e 增加视频识别板块
采用抽帧的方式识别视频,可以自己配置详细参数 -详细请看bot_config最底下
更改了template模板
多bb一句:我真的是被这个炸服了,改完这里那里就又炸了,但是总之现在没问题了
2025-08-13 01:58:43 +08:00
minecraft1024a
3bbb6de450 feat: 添加日程管理功能,包括日程模型、配置和初始化逻辑,增强聊天回复中对当前活动的动态反馈。 2025-08-12 16:59:21 +08:00
minecraft1024a
417f5647b5 feat:新增内容混淆功能:在API配置中添加混淆选项及强度设置;更新LLM请求处理逻辑以支持内容混淆,包含随机乱码注入和过滤规则指令(最主要的是防**google的审查) 2025-08-12 14:31:59 +08:00
雅诺狐
2d4745cd58 初始化 2025-08-11 19:34:18 +08:00