Appearance
基础框架
本章节描述当前 scriptController 的多包结构与运行边界,重点是“框架怎么驱动业务任务”,而不是某一个具体玩法脚本。
架构分层
- 表现层:
packages/controller_desktop/- 主窗口、配置中心、任务配置、参数配置、全自动配置、调试窗口和发布工作台。
- 调度与运行层:
packages/controller_core/- 绑定、方案、binding params、参数解析、任务上下文、插件加载和发布协议。
- 公共能力层:
packages/controller_plugins/- 模拟器发现、截图、找图、OCR、组合匹配、点击滑动、时间窗口等可复用能力。
- 业务任务层:
packages/game_fanxiu/- 每个任务文件提供独立
METADATA、build_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 读运行时渠道。