Skip to content

基础框架

本章节描述 ScriptFrame 的通用中控框架与运行边界,重点是“框架怎么驱动业务任务”,而不是某一个具体玩法脚本。

架构分层

  • 表现层:framework/gui/
    • 主窗口、方案编辑器、全自动配置弹窗、更新弹窗等 GUI 组件。
  • 调度与运行层:framework/core/
    • 模拟器发现、任务装配、多进程执行、任务状态存储与调度。
  • 公共能力层:framework/utils/business/utils/
    • 提供 BaseTask、OCR/找图、多点找色、公共回首页、购买、渠道登录、全自动配置归一化等能力。
  • 业务任务层:business/tasks/
    • 每个任务文件提供独立 METADATA 和执行入口,由方案决定是否启用。
  • 配置与资源层:config/images/resources/
    • 保存中控配置、任务方案、全自动配置、模板图与 OCR 模型。
  • 调试与更新层:visualization/server/
    • 可视化调试器与增量更新服务。

关键目录职责

目录作用
framework/core/任务调度、任务状态、模拟器控制抽象
framework/gui/中控界面、表格、日志、方案编辑与全自动配置
framework/utils/路径管理、配置归一化、日志、基础任务能力
business/tasks/具体游戏任务
business/utils/业务共享逻辑,例如回首页、登录、购买等
config/运行配置、任务方案、全局顺序、状态文件
visualization/调试器、测试工具、可视化任务设计器
server/更新服务与发布目录

运行主链路

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

  • 中控表格读取 controller_bindings,确定“模拟器 + 渠道 + 默认方案”。
  • 运行前从 profiles/*.json 加载方案,并按 global_task_order.json 重排任务。
  • GUI 在启动任务前把当前渠道写入 profile_data["global_config"]["channel"]
  • 全自动运行会先根据 auto_config.json 中已启用的绑定构造队列。
  • TaskRunnerProcess 在独立进程里执行任务,并通过 IPC 把日志和状态回传给主窗口。
  • TaskStateManager 把任务完成态写入 task_states/,供下次执行复用。

阅读建议