Agentfy
免费试用
宏脚本 (.agfm)

拖拽生成,或者直接写脚本,看你顺手

把设备操作、控制流、AI 步骤串起来。原生支持 Vault、子宏复用,跑过的每次都进历史,一键重跑。

宏编辑器演示
宏编辑器演示
宏脚本编辑器的可视化界面
编辑器 · 拖块同步生成 .agfm 文本
可视化编程

左边拖块,右边自动出脚本

也能写流程
0 代码
语法校验
实时
运行历史保留
3 天
  • 拖块即编排,纯文本也能直接写

    左侧步骤库往画布上一拖,右侧实时同步 .agfm 文本;想直接写脚本也行,两条路最终编译到同一引擎。

  • 所见即所得,语法实时校验

    字段类型对不上、引用未定义、超时漏单位 —— 错在哪一行编辑器立刻标红,不用跑一遍才知道。

  • 运行历史一键跳回某一步

    每次运行的截图、OCR、失败原因都存在历史里。点「从这步重跑」回到失败的那一步,不用从头再跑。

来段真的 .agfm

这是小红书登录流程里截下来的一段:两次 HTTP 调用、一次 Vault 取值、一段验证码兜底 —— 全长不到一张明信片。

xiaohongshu-login.agfm agfm
if visible "Not Now" {
  tap "Not Now"
  wait 1s
}

log "启动小红书"
launch_app "com.xingin.discover"
wait 15s

http url="${vault.SMS_Domain_1}/getNumber" method="GET" -> sms
extract sms.body jsonpath="$.phoneNumber" -> phone

tap "Enter phone number"
text "${phone}"
tap "Log in" exact

if visible "Security Verification" timeout=5s {
  try {
    ai_solve_captcha -> captcha timeout=100s
    tap "Log in" exact
  } catch {
    terminate_app "com.xingin.discover"
    halt
  }
}
DSL 能力

一份完整的 step 目录

9 大类、80+ step,从 tap、http 到 ai_solve_captcha 都是一级公民。

设备输入

点击、滑动、打字、硬件键
tap tap_pixel tap_by_text swipe long_press text type_secret press_home press_lock press_volume

控制流

条件分支、循环、重试
if if_visible else try catch loop poll_until random_choice halt return

AI 步骤

视觉判断、子代理、过验证码
ai_solve_captcha ai_takeover ai_extract ai_classify describe_screen find_element_on_screen

网络与提取

HTTP 请求、JSON / 正则提取
http extract jsonpath extract regex set log

App 控制

起停、前台判定、deep link
launch_app terminate_app get_foreground_app open_url list_apps clear_app_data

等待与校验

条件等待、断言、超时
wait wait_for_text wait_for_element assert assert_text checkpoint

Vault 与变量

密钥插值、子宏、变量绑定
${vault.X} set extract -> name run_macro sequence

屏幕识别

截图、OCR、文本定位
screenshot find_text_on_screen ocr read_clipboard write_clipboard

文件与剪贴板

上传、读取沙盒、剪贴板
upload_file read_file list_files paste_to_phone copy_from_phone
宏脚本编辑器右侧栏的 AI 助手和组件文档
编辑器右栏 · AI 生成步骤、组件文档、Outline、变量预览
编辑器右侧栏

AI 辅助生成 + 组件文档常驻

  • AI 辅助生成步骤

    讲一句话「点击关注按钮然后等 1 秒」,右侧 AI 助手把它编译成可粘贴的 .agfm 片段,自动选好步骤类型和参数。

  • 组件文档触手可及

    选中任何步骤,右侧自动展开该步骤的字段说明、可选参数、失败语义、范例 —— 不用跳出编辑器去查文档。

  • Outline + Run preview

    右侧大纲折叠所有 try/loop 块方便跳转,Run preview 显示当前光标处步骤会用到的变量和上游输出。

典型场景

一条宏可以跑什么

账号生命周期、内容运营、UI 测试 —— 同一套 DSL,三种节奏。

01

全自动养号注册

拉起 App、领取手机号、过验证码、登录 —— 一条宏跑通新账号的整个生命周期。

164 步 · 自动重试
launch_app http ai_solve_captcha tap
02

定时互动 / 留存

每天上午 8 点定时触发,每台设备打开目标 App,按既定的关注/点赞节奏循环互动一轮。

定时任务 · 群控 fan-out
loop tap_by_text swipe wait
03

iOS UI 冒烟测试

上线前在真机跑一遍关键路径:登录、新建、发布、回到首页。每步留截图,失败可一键回放定位。

REST 触发 · 截图存档
launch_app tap assert_text screenshot

可编程,但不用你做开发

可视化编辑器 + 纯文本 DSL

想拖就拖,想写就直接敲 .agfm —— 两条路最终编译到同一引擎。

控制流一应俱全

if、try/catch、poll_until、loop、random_choice 都有,每一处等待都带条件或上限。

Vault 直接插值

在任意步骤里用 ${vault.MY_KEY} 引密钥,明文不进脚本正文也不进 git 历史。

子宏 + 引用

宏可以调宏 —— 登录、过验证码、引导这些常见流程做成库再拼起来。

AI 步骤无缝插入

ai_solve_captcha 接管验证码,ai_takeover 应付非结构化场景。

运行历史 + 诊断面板

每次跑完都进历史(保留 3 天),失败那一步可一键重跑。

搭配使用…

别再写一次性的 Appium 脚本

跑手机群控这件事,宏才是更合适的抽象 —— 它是为日常生产设计的,不是给 QA 实验室用的。

免费试用