Skip to content

基础框架

本章节描述当前 scriptController 的多包结构与运行边界,重点是“框架怎么驱动业务任务”,而不是某一个具体玩法脚本。

架构分层

  • 表现层:packages/controller_desktop/
    • 主窗口、配置中心、任务配置、参数配置、全自动配置、调试窗口和发布工作台。
  • 调度与运行层:packages/controller_core/
    • 绑定、方案、binding params、参数解析、任务上下文、插件加载和发布协议。
  • 公共能力层:packages/controller_plugins/
    • 模拟器发现、截图、找图、OCR、组合匹配、点击滑动、时间窗口等可复用能力。
  • 业务任务层:packages/game_fanxiu/
    • 每个任务文件提供独立 METADATAbuild_task_entry() 和执行入口。
  • 业务插件层:packages/game_fanxiu_plugins/
    • 回首页、干扰处理等凡修专用能力。
  • 适配层:packages/controller_adapters/
    • 模拟器控制台、窗口排序和运行时路径。
  • 配置与资源层:config/game_fanxiu 包内图片和 OCR 模型
    • 保存中控配置、任务方案、binding params、全自动配置和模板图。

关键目录职责

目录作用
packages/controller_desktop/中控界面、表格、日志、调试窗口、CLI
packages/controller_core/绑定、参数存储、任务上下文、更新与构建
packages/controller_plugins/通用插件能力
packages/game_fanxiu/凡修任务、运行时基类和内置清单
packages/game_fanxiu_plugins/凡修专用插件
packages/controller_adapters/模拟器宿主与路径适配
config/开发态运行配置
website/中控系统文档站
tests/自动化测试,是非 Windows 环境的唯一验证方式

运行主链路

一次完整执行大致会经过以下链路:

  • 中控表格读取 controller_bindings,确定“模拟器 + 渠道 + 方案”。
  • 运行前校验渠道必须是已知渠道。
  • profiles/*.json 加载方案,并按 global_task_order.json 重排任务。
  • binding_task_params.json 读取当前 binding_id 的任务参数。
  • TaskParamResolver / TaskParamValidator / TaskContextBuilder 组装 context["params"]context["binding"]
  • 默认登录能力先执行,再按方案跑业务任务。
  • 执行状态和完成详情写回主窗口;错误日志按模拟器分组收集,并支持局域网分享导入。

不要再把渠道写进方案,也不要从 global_config.channel 读运行时渠道。

阅读建议