云控系统不只是一个人在后台点点按钮的工具。它提供了两层“对外接口”——开放 API 和 MCP 服务——让外部系统能直接用代码、甚至用 AI 大模型来调度设备任务。这一层能力,是云控从“管理工具”升级为“自动化中枢”的关键。
一、开放 API:让业务系统直接调度任务
API 能做什么
EasyClick 云控的开放 API 提供两个核心接口:
1. 获取任务信息接口 POST /openapi/getTask
传入云控通信密钥,返回所有任务的完整信息:任务 ID、名称、执行设备列表、脚本地址、参数配置、执行状态等。你的业务系统可以随时查询当前有哪些任务、分给了哪些设备、带什么参数。
2. 任务控制接口 POST /openapi/changeTask
这个接口是核心——它可以:
- 开启/停止任务(status: 0 开启、1 停止本地、2 停止远程)
- 动态增减执行设备(addDevices / removeDevices)
- 动态增减任务参数(addParamEx / removeParam)
典型场景:电商下单自动执行
官方文档给了一个很好的流程示例:
客户下单并支付完成
→ 下单系统调用云控 API(changeTask)
→ 云控改变任务状态,加入指定设备和参数
→ 云控下发任务到设备
→ 设备循环执行脚本
→ 设备执行完毕,调用 API 将自己从任务设备列表中移出
这套流程跑通后,你的电商系统和手机自动化就完全打通了——客户下单触发自动化任务,设备执行完自动释放,全程无需人工干预。
API 认证方式
云控 API 有两种认证模式:
全站授权:在 config.toml 中设置 no_limit_token 字段为一串随机字符串,请求时在 HTTP Header 里带上这个值即可访问所有接口。适合内部系统对接。
单用户授权:不想要全站授权时,可以模拟登录获取 token。在 config.toml 中设置 no_verify_code 为随机字符串,登录请求时带上这个值跳过验证码。适合多租户场景。
参数动态注入
任务控制接口的参数系统设计得很灵活:
- 文本参数:直接传字符串
- 单选框参数:传字符串 + 候选项数组
- 多选框参数:传 JSON 数组 + 候选项数组
这意味着你可以在运行时动态修改任务参数——比如根据不同客户下单内容,给不同设备下发不同的商品链接、不同的账号密码,实现真正的“千机千面”。
二、动态数据表:脚本和业务系统的数据桥梁
除了任务控制,云控还提供了完整的动态数据管理能力。这是很多人忽略的一层——它让你的脚本和业务系统之间有了共享数据的通道。
动态建表
脚本可以在云控中动态创建数据表:
ecloud.dynamicCreateTable({
"tableName": "账号管理表",
"tableNameEn": "account_table",
"columns": [
{"columnInfo": "账号", "columnName": "account", "columnSize": 500},
{"columnInfo": "密码", "columnName": "password", "columnSize": 500},
{"columnInfo": "状态", "columnName": "status", "columnSize": 500}
]
});
表结构不固定,你定义字段、你填数据。字段类型统一是字符串,简单但够用。
数据操作
创建好表后,脚本可以直接进行增删改查:
dynamicAdd:插入数据dynamicQuery:分页查询,支持 SQL 条件、排序、随机查询dynamicUpdate:按条件更新dynamicRemove:按条件删除
查询功能很实用,支持 like 模糊匹配、order by rand() limit 1 随机取一条——做账号池、素材池非常方便。
共享数据表
除了动态表,云控还有固定的“数据共享表”,结构固定、操作简单,适合设备间共享简单的 KV 数据:
getData/addData/updateData/removeDatagetDataPop:取数据并自动删除(做账号分配用,避免重复)appendOneLineData/removeOneLineData:追加/删除一行
getDataPop 特别值得一提——多台设备同时取账号时,它保证每个账号只被取走一次,天然解决并发竞争问题。
三、Redis 缓存:实时数据共享层
云控内置了 Redis 缓存接口,脚本可以直接操作 Redis:
- 字符串缓存:
addCache/getCache/updateCache/removeCache,支持过期时间 - SET 集合:用换行符分割的多值存储,
appendOneLineCache追加、removeOneLineCache删除 - 计数器:
incrementCache/decrementCache,自增自减 - 队列:
popPushCache支持lpush、rpush、lpop、rpop、spop
这意味着 100 台手机跑脚本时,可以用 Redis 做实时状态同步:设备 A 完成了一步,往 Redis 写个标记;设备 B 执行前先读这个标记判断是否继续。缓存层让设备间的协同从“各跑各的”变成“有组织地配合”。
四、MCP 对接:用 AI 大模型自然语言控制设备
这是云控最前沿的一层能力。
什么是 MCP
MCP(Model Context Protocol,模型上下文协议)是 Anthropic 推出的开源协议,旨在标准化大语言模型与外部工具的交互方式——可以理解为 AI 领域的“USB-C 接口”。
EasyClick 云控实现了 MCP 服务端,意味着你可以用自然语言指挥 AI 去操作云控。
怎么用
- 确保云控的 MCP 端口 8187 已放行
- 在云控后台 → 权限管理 → 用户管理 → 云控设定中生成 MCP 密钥
- 配置 MCP 服务信息:
{
"mcpServers": {
"EcloudMCP": {
"type": "streamable-http",
"url": "http://你的服务器IP:8187/mcp",
"headers": {
"UserToken": "你的MCP密钥"
}
}
}
}
- 将这段配置填入支持 MCP 的平台——扣子空间、Dify、VS Code、Trae 等都能用
配置完成后,你就可以在 AI 对话里直接说:“执行云控任务,名称为抖音矩阵发布”或者“停止云控任务,名称为快手养号”,AI 会自动调用云控 API 完成操作。
MCP 的真正价值
MCP 最大的价值不在于“用嘴巴代替点击”,而在于和工作流结合:
- AI 生成短视频文案 → 自动触发云控任务批量发布
- AI 分析数据报表 → 自动调整设备任务参数
- 电商系统通过 AI 编排 → 客户下单后 AI 自动分配设备和脚本
这些场景以前需要写代码对接,现在用自然语言就能完成。AI 不再只是聊天工具,而是真正能驱动物理设备执行任务的“大脑”。
五、WebHook 心跳推送:监控数据外发
云控还支持 WebHook,把设备心跳和脚本日志实时推送到外部系统:
- 支持 HTTP POST 和 WebSocket 两种方式
- 异步推送,不阻塞主流程
- 支持队列配置和自定义 Header 认证
配置在 config.toml 中:
[heartbeatForward]
enabled = true
mode = "http"
httpUrl = "http://your-system:8199/heartbeat"
httpHeaderKey = "ecloud_token"
httpHeaderValue = "your_token"
这意味着你可以把云控的运行数据接入自己的监控大屏、ELK 日志系统或数据仓库,实现全局可观测性。
六、总结:三层接口,三种集成深度
| 接口层 | 对接方式 | 适合场景 | 技术门槛 |
|---|---|---|---|
| 开放 API | HTTP 调用 | 电商系统、ERP 对接 | 低(会调 HTTP 接口即可) |
| 动态数据 + Redis | 脚本内函数调用 | 设备间数据共享 | 低(调 JS 函数) |
| MCP | AI 平台配置 | AI 工作流、自然语言调度 | 零代码 |
云控系统不是一座孤岛。开放 API 让它能和你的业务系统联动,MCP 让它能和 AI 大模型联动,WebHook 让它能和监控系统联动。三层接口从低到高,覆盖了从“写代码对接”到“用嘴巴指挥”的全场景需求。
如果你的自动化需求还停留在“人手动建任务、手动选设备”的阶段,是时候考虑用 API 或 MCP 把这层自动化也省掉了。当 AI 能直接调度几十台手机时,你做的事情就从“管设备”变成了“管 AI”——这才是自动化的下一站。
想要真实跑起来?
本文介绍的方案均可在 EasyClick 手机自动化平台落地。官网提供完整文档、开发工具与群控云控产品,免费体验。