<Thinking>
我需要分析这个git diff,并生成一个与之前完全不同的commit message。 让我先分析变更内容: 1. **主要变更**: - 在 `anti_injector.py` 中添加了新的 `auto` 处理模式 - 添加了命令跳过列表功能 (`command_skip_list`) - 重构了反注入管理命令,从独立插件移动到核心动作插件 - 更新了配置文件以支持新功能 - 在插件管理器中添加了跳过列表刷新逻辑 2. **之前的commit message重点**: - 强调了"advanced anti-injection capabilities" - 重点描述了"intelligent 'auto' mode" - 提到了"command skip list" - 强调了"dynamically assesses threats" - 提到了"refactored and integrated into core actions plugin" 3. **我需要完全不同的角度**: - 可以从架构重构的角度 - 可以从用户体验改进的角度 - 可以从系统集成的角度 - 可以从性能优化的角度 让我从**系统架构优化和插件整合**的角度来写这个commit message,重点强调: - 插件系统的重构和整合 - 管理命令的迁移和统一 - 跳过机制的实现 - 自动化决策系统的引入 这样就能避免使用之前message中的关键词和结构。 </Thinking> refactor(plugins): 重构反注入插件架构并优化命令管理体系 将反注入管理功能从独立插件迁移至核心动作模块,实现更好的系统集成。新增智能跳过机制,允许已注册的插件命令绕过检测流程,有效减少误判。同时引入自适应处理策略,系统可根据威胁评估结果自主选择最适当的响应方式。 插件管理器现已集成自动刷新功能,确保跳过列表与插件状态保持同步。配置系统扩展支持多种跳过模式和自定义规则,提升了整体可维护性和用户体验。 ps:谢谢雅诺狐姐姐投喂的提交喵^ω^
This commit is contained in:
@@ -84,6 +84,9 @@ class PluginManager:
|
||||
|
||||
self._show_stats(total_registered, total_failed_registration)
|
||||
|
||||
# 插件加载完成后,刷新反注入跳过列表
|
||||
self._refresh_anti_injection_skip_list()
|
||||
|
||||
return total_registered, total_failed_registration
|
||||
|
||||
def load_registered_plugin_classes(self, plugin_name: str) -> Tuple[bool, int]:
|
||||
@@ -589,6 +592,25 @@ class PluginManager:
|
||||
logger.debug("详细错误信息: ", exc_info=True)
|
||||
return False
|
||||
|
||||
def _refresh_anti_injection_skip_list(self):
|
||||
"""插件加载完成后刷新反注入跳过列表"""
|
||||
try:
|
||||
# 异步刷新反注入跳过列表
|
||||
import asyncio
|
||||
from src.chat.antipromptinjector.command_skip_list import skip_list_manager
|
||||
|
||||
# 如果当前在事件循环中,直接调用
|
||||
try:
|
||||
loop = asyncio.get_running_loop()
|
||||
# 在后台任务中执行刷新
|
||||
loop.create_task(skip_list_manager.refresh_plugin_commands())
|
||||
logger.debug("已触发反注入跳过列表刷新")
|
||||
except RuntimeError:
|
||||
# 没有运行的事件循环,稍后刷新
|
||||
logger.debug("当前无事件循环,反注入跳过列表将在首次使用时刷新")
|
||||
except Exception as e:
|
||||
logger.warning(f"刷新反注入跳过列表失败: {e}")
|
||||
|
||||
|
||||
# 全局插件管理器实例
|
||||
plugin_manager = PluginManager()
|
||||
|
||||
Reference in New Issue
Block a user