Commit Graph

37 Commits

Author SHA1 Message Date
Windpicker-owo
dc3ad19809 feat: 采用三层内存系统实现统一内存管理器
- 添加了UnifiedMemoryManager,以整合感知层、短期记忆层和长期记忆层。
- 实现了初始化、消息添加和内存搜索功能。
- 引入了记忆从短期存储到长期存储的自动转移机制。
- 开发了用于结构化内存表示的内存格式化工具。
- 增强日志记录功能,以便在内存操作过程中更好地进行追踪。
2025-11-18 16:17:25 +08:00
minecraft1024a
7e323e3d0f feat(prompt): 默认启用抗审查指令并简化配置
为了简化用户配置并默认提高模型的抗审查能力,本次更新移除了 `prepend_noise_instruction` 配置选项。

现在,抗审查指令将作为默认行为,在处理所有提示词时自动添加,不再需要用户手动开启。同时,更新了模板文件中的注释,使其更清晰易懂。
2025-11-15 21:08:29 +08:00
minecraft1024a
f980a6f9f4 refactor(prompt): 将注意力和内容混淆统一为提示词扰动
本次提交重构了提示词修改逻辑,将之前独立的“注意力优化”和“内容混淆”功能合并为一个统一的概念:“提示词扰动”(Prompt Perturbation)。

主要变更包括:
- 在模型配置中引入新的统一选项:`enable_prompt_perturbation`, `perturbation_strength` 和 `enable_semantic_variants`。
- 将原 `AttentionOptimizer` 中的噪声注入和语义变体逻辑迁移到 `llm_models` 模块中,作为扰动策略的一部分。
- 简化 `attention_optimizer.py`,使其专注于提示词块重排 (`BlockShuffler`)。
- 更新 `_PromptProcessor` 以根据新的统一配置来协调不同的扰动技术。

此项更改为用户简化了配置,并通过集中化相关逻辑,提供了一个更清晰、更易于维护的实现。

BREAKING CHANGE: 内容混淆的相关配置已被替换。`enable_content_obfuscation` 和 `obfuscation_intensity` 配置项已移除。用户需更新配置以使用新的 `enable_prompt_perturbation` 和 `perturbation_strength`。
2025-11-14 20:14:19 +08:00
minecraft1024a
58bc8e9867 feat(config): 将内容混淆设置移至模型级别
内容混淆功能的相关配置项(`enable_content_obfuscation` 和 `obfuscation_intensity`)已从 API Provider 级别迁移到单个模型级别。

这一调整提供了更精细的控制能力,允许用户为特定模型独立启用或配置内容混淆,而不是统一应用于同一API下的所有模型。这对于处理来自同一提供商但审查策略不同的模型非常有用。

BREAKING CHANGE: `enable_content_obfuscation` 和 `obfuscation_intensity` 配置项已从 `[[api_providers]]` 部分移除。请将这些配置项迁移到需要此功能的 `[[models]]` 部分下。
2025-11-14 16:20:37 +08:00
明天好像没什么
0381320859 revert(mcp): 移除MCP SSE客户端及工具集成支持 2025-10-25 16:16:23 +08:00
subiz
43fe6046b4 没想到吧,我还是没测试()
feat(mcp): 集成MCP SSE协议支持并扩展工具调用能力

新增MCP客户端类型(mcp_ssd),支持通过Model Context Protocol连接外部工具服务器。
更新文档和配置模板,提供完整的MCP接入指南;主程序启动时自动初始化MCP工具提供器,
tool_api 与 tool_use 核心链路新增对MCP工具的检测与调用,实现与既有插件工具的无缝兼容。
同步更新配置模型、模板与帮助文档。
2025-10-05 19:24:57 +08:00
John Richard
7923eafef3 re-style: 格式化代码 2025-10-02 20:26:01 +08:00
Windpicker-owo
dc39fd26c7 feat(memory): 重构记忆系统并移除插件热重载
重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。

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

BREAKING CHANGE: 移除插件热重载系统,相关API和命令不再可用。记忆系统接口有较大调整,使用该系统的模块需要适配新接口。
2025-10-01 04:56:32 +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
minecraft1024a
9c1a7ff123 ruff 2025-09-26 20:16:46 +08:00
雅诺狐
898208f425 perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
2025-09-20 10:55:06 +08:00
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