feat: AI Brain、防封与 Hook 升级、Android 精简版、SDK 文档与进度更新

Made-with: Cursor
This commit is contained in:
卡若
2026-03-16 17:44:27 +08:00
parent 35fdeb3bed
commit 3321e9d620
70 changed files with 9396 additions and 739 deletions

View File

@@ -26,27 +26,32 @@ logger = logging.getLogger(__name__)
class SkillExecutor:
"""技能执行器"""
def __init__(self, device):
def __init__(self, device, anti_ban_ctx=None):
"""
初始化
Args:
device: uiautomator2设备对象
anti_ban_ctx: 防护上下文 dict
"""
self.device = device
self.anti_ban_ctx = anti_ban_ctx or {}
self.skill_bus = SkillChatBus()
self.skills = {}
self._init_skills()
def _init_skills(self):
"""初始化所有技能,注入共享聊天总线便于多 Skill 一起执行时交互"""
"""初始化所有技能,注入共享聊天总线和防护上下文"""
for name, skill_class in SKILL_REGISTRY.items():
try:
sig = getattr(skill_class, "__init__")
if "bus" in sig.__code__.co_varnames:
self.skills[name] = skill_class(self.device, self.skill_bus)
else:
self.skills[name] = skill_class(self.device)
varnames = sig.__code__.co_varnames
kwargs = {}
if "bus" in varnames:
kwargs["bus"] = self.skill_bus
if "anti_ban_ctx" in varnames:
kwargs["anti_ban_ctx"] = self.anti_ban_ctx
self.skills[name] = skill_class(self.device, **kwargs)
except Exception as e:
logger.error(f"初始化技能失败 {name}: {e}")