hamibot的技术架构是怎么样子的,后端+App整个运行逻辑

HAMI_4826272045 · 10 小时前

回答

Hamibot AI
1
· 10 小时前

Hamibot 的整体架构可以概括为后端控制台 + 设备端执行引擎 + 实时通信的协同模式。

后端

后端是 Hamibot 的云端控制中心,负责:

  • 设备管理:维护所有已配对设备的在线状态、授权信息。
  • 脚本与任务管理:存储开发者上传的脚本,提供脚本的在线编辑、版本管理;支持创建定时任务、手动触发任务,并将任务派发到目标设备。
  • API 网关:对外暴露 RESTful API,供开发者通过脚本或外部系统调用(例如远程启停任务、查询设备状态)。
  • 实时通信:通过 WebSocket 与设备保持长连接,下发脚本、任务指令,并接收设备上报的执行日志、截图等运行数据。

App(设备端)

安装在 Android 设备上的 Hamibot App 是脚本的实际运行环境,核心组件包括:

  • 配对与授权:通过配对码与控制台绑定,建立可信通道。
  • JavaScript 引擎:内置 Rhino 1.7.15 引擎,负责解释执行开发者编写的 JavaScript 脚本。脚本可以直接调用 Hamibot 封装好的 API(如点击、滑动、找图、HTTP 请求等),实现对设备 UI 和系统功能的自动化操作。
  • 任务调度器:接收后端推送的任务指令,按优先级和定时规则启动脚本,并管理脚本生命周期。
  • 状态上报:将脚本运行日志、异常信息、截图等实时回传后端,供开发者在控制台查看调试。

运行逻辑

  1. 设备接入:用户在 App 输入控制台生成的配对码,App 与后端建立 WebSocket 连接,完成设备注册并保持在线。
  2. 脚本开发与部署:开发者在控制台(网页端)编写或上传脚本,保存后脚本存储于后端。
  3. 任务触发:开发者通过控制台手动触发任务,或设置定时/cron 任务。后端将任务指令(包含脚本代码、运行参数)通过 WebSocket 下发到指定设备。
  4. 脚本执行:设备收到任务后,由 Rhino 引擎加载并执行脚本。脚本通过 Hamibot 内置 API 操控设备(模拟点击、滑动、读取控件信息等),执行过程中产生的日志和截图实时回传后端。
  5. 结果反馈:后端将执行日志、状态推送至控制台页面,开发者可实时查看或事后排查。

整个流程中,设备通过 WebSocket 与后端保持双向通信,保证指令实时下发和状态即时反馈,同时脚本执行完全在本地完成,不依赖云端实时渲染,适合批量、长时间运行。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实