无影AgentBay云服务
无影AgentBay是AI 时代的Agent云基础设施, 面向企业、开发者、AI厂商,提供可一键配置的AI Agent任务执行工具和执行环境。您可以通过无影API或AgentBay MCP Server快速集成,并调用相关工具获取Serverless服务。
产品架构
云服务规格
云资源
公测期间限量免费服务。服务支持调用专属桌面或共用资源,共用资源的并发数上限为10台。服务地域按照客户接入IP自动分配。
运行环境
服务支持内置Linux版本镜像,无影在保证向下兼容的基础上持续丰富和更新镜像能力。
MCP工具
首期发布环境默认支持Browser工具、File工具、Terminal工具。关于更多工具更新信息,请关注官网。
SDK工具
无影 AgentBay 的Golang、Python和TypeScript提供了一系列强大的功能,涵盖云资源管理、会话管理、应用操作及命令执行等实用工具,旨在为开发者提供高效的开发体验。
操作步骤
步骤1:创建API Key
请创建您自己的API Key。
登录AgentBay控制台。
在左侧导航栏中单击服务管理。
在服务管理页面上单击创建API KEY。
在创建API KEY对话框中输入名称,并单击确定。
说明公测期间最多可以创建10个API Key。
重要为保障数据安全,请不要与他人共享您的API Key。
创建好的API Key会显示在服务管理页面的列表中,您可以复制API Key以待后续使用。
步骤2:配置资源类型和镜像
确认运行环境,并获取MCP信息。
登录AgentBay控制台。
在左侧导航栏中单击资源管理。
在资源管理页面上单击创建资源。
在创建资源面板上,完成以下配置,并单击确定。
配置项
说明
待配置API Key
选择一个已创建好的API Key。
资源类型
选择一种资源类型。可选项包括:
专属桌面
通用资源池
独立资源池
关于各种资源类型的区别,请参见资源类型的区别。
选择镜像
选择一个系统镜像或自定义镜像。
说明服务支持内置Linux版本镜像,无影在保证向下兼容的基础上持续丰富和更新镜像能力。
创建账号
若资源类型为专属桌面,则该选项可见。此处创建的账号用于登录无影客户端。输入要求:
用户名:长度3~25个字符,必须以小写字母或数字开头。可包括:小写字母、数字、短划线(-)、下划线(_)、点号(.)。用户名称不能仅含数字,不能使用操作系统预留的内置账号名称,详细信息,请参见便捷用户名称规范。
密码:长度不少于10位,且至少包含以下字符类型中的三类:大写字母、小写字母、数字、特殊符号(除空格外)。
池内云桌面最大创建数量
若资源类型为通用资源池或独立资源池,则该选项可见。该数量为并发用户数上限。试用期间该数量上限为10。
资源类型的区别
对比项
专属桌面
通用资源池
独立资源池
生成方式
基于自定义镜像生成
支持。需要您自行维护。
不支持。
支持。需要您自行维护。
基于无影镜像生成
支持。在保证向下兼容的前提下,随无影MCP能力自动升级。
支持。需要您自行维护。
地域分配
基于访问IP自动分配,无需手动配置。
访问方式
通过无影客户端连接
支持
不支持
通过MCP协议连接
支持
通过模型反馈的链接访问画面流
不支持
支持
有效期限
14天。到期后资源将被自动回收,请及时为云桌面制作镜像以备份。具体操作,请参见制作镜像。
停止连接超过30天之后,资源可能会被回收。
数据保留
关机后,
User
目录内存储的数据不会保留,其余部分的文件内容不会随着自动关机清理。不保留数据,每次断连后重置。
计费方式
资源存续的时段为计费时段(从免费的100小时额度中抵扣)。
具体而言,从资源创建成功时开始计费,您在资源管理页面删除资源成功时停止计费。
用户连接使用资源的时段为计费时段(从免费的100小时额度中抵扣)。
具体而言,用户连接成功时开始计费,断开连接成功时停止计费。若有多个连接并发,则累加计费。
步骤3(可选):完成MCP服务配置
若资源类型为通用资源池或独立资源池,则支持通过MCP协议访问资源。您可以从控制台获取MCP信息并在相关工具中配置。
登录AgentBay控制台。
在左侧导航栏中单击资源管理。
在资源管理页面上找到目标资源,并在操作列中单击查看。
在资源详情页的MCP连接方式右侧单击查看,并在对话框右上角单击复制代码。
在支持MCP的工具(例如Cline、Cursor等)中添加上述代码。
下文以Cursor V0.49.6版本为例说明:
打开Cursor Settings(Cursor设置)面板,在左侧导航栏中单击MCP。
在MCP Servers(MCP服务器)面板上单击右上角的Add new global MCP server(添加全局MCP服务器)。
在打开的mcp.json文件中粘贴上一步复制的代码,并保存文件。当前支持的安装方式包括SSE和STDIO。
说明请将
YOUR_API_KEY
替换为步骤1:创建API Key中创建的以akm-
开头的API Key。
步骤4(可选):使用画面流
若资源类型为通用资源池或独立资源池,则支持通过无影Web SDK iframe内嵌或通过浏览器拉取无影Web客户端的方式打开云电脑画面。需要调用云电脑画面流时,MCP会返回带登录参数的链接,格式为https://wuying.aliyun.com?mcp.html?authcode=<authCode>&resourceId=<resourceId>
。
该链接具有有效期限制和打开次数限制,建议立即使用。
可以通过URL中的参数
&input=true&keyboard=true
来配置键鼠交互开关,也可以通过Web SDK中的接口实时配置交互开关。详细信息,请参见Web SDK文档。
步骤5(可选):完成 SDK 工具安装与调用
无影 AgentBay支持以Golang SDK、Python SDK和TypeScript SDK等形式使用,SDK的安装和基本使用方法如下。
安装
go get github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay
pip install wuying-agentbay-sdk
npm install wuying-agentbay-sdk
基本用法
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// 使用API密钥初始化客户端
client, err := agentbay.NewAgentBay("your_api_key")
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// 创建会话
session, err := client.Create()
if err != nil {
fmt.Printf("Error creating session: %v\n", err)
os.Exit(1)
}
// 执行命令
result, err := session.Command.ExecuteCommand("ls -la")
if err != nil {
fmt.Printf("Error executing command: %v\n", err)
os.Exit(1)
}
fmt.Printf("Command result: %v\n", result)
// 读取文件内容
content, err := session.FileSystem.ReadFile("/path/to/file.txt")
if err != nil {
fmt.Printf("Error reading file: %v\n", err)
os.Exit(1)
}
fmt.Printf("File content: %s\n", content)
// 执行ADB shell命令(适用于移动端环境)
adbResult, err := session.Adb.Shell("ls /sdcard")
if err != nil {
fmt.Printf("Error executing ADB shell command: %v\n", err)
os.Exit(1)
}
fmt.Printf("ADB shell result: %s\n", adbResult)
}
from wuying_agentbay import AgentBay
# 使用API密钥初始化
agent_bay = AgentBay(api_key="your_api_key")
# 创建会话
session = agent_bay.create()
print(f"Session created with ID: {session.session_id}")
# 执行命令
result = session.command.execute_command("ls -la")
print(f"Command result: {result}")
# 读取文件内容
content = session.filesystem.read_file("/path/to/file.txt")
print(f"File content: {content}")
# 执行ADB shell命令(适用于移动端环境)
adb_result = session.adb.shell("ls /sdcard")
print(f"ADB shell result: {adb_result}")
import { AgentBay } from 'wuying-agentbay-sdk';
// 使用API密钥初始化
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
// 创建会话
async function main() {
const session = await agentBay.create();
// 执行命令
const result = await session.command.executeCommand('ls -la');
console.log(result);
// 读取文件内容
const content = await session.filesystem.readFile('/path/to/file.txt');
console.log(content);
// 执行ADB shell命令(适用于移动端环境)
const adbResult = await session.adb.shell('ls /sdcard');
console.log(adbResult);
}
main().catch(console.error);
更多信息
如需查看完整的SDK参考文档,请参见Golang SDK、Python SDK或TypeScript SDK。
如需查看完整文档、进阶示例及API参考请参见文档目录。
后续步骤
为应用对接支持MCP服务的大模型,需要使用通义千问MAX、Claude 3.7等支持MCP服务的模型。在智能体应用中,大模型会根据用户的问题,智能判断是否调用MCP服务。
您可以通过内置提示词使用wuying-agentbay打开浏览器,并访问wuying.aliyun.com或类似提示词来测试效果。若配置无误,则会拉起无影云环境并执行浏览器操作。在此过程中,模型会提供Web链接,供您打开无影画面流并接管操作。
常见问题
Q1: 无影AgentBay是什么?是虚拟机吗?
无影AgentBay不是简单的虚拟机,而是一个完整的AI Agent云基础设施平台。具体来说:
定位:它是阿里云推出的AI时代的Agent云基础设施,面向企业、开发者和AI厂商。
核心功能:
标准Runtime:预集成大量面向Agent任务执行的标准工具,并以MCP封装,以便企业快速集成。
用户状态持久化:通过无影自研的持久化架构,安全隔离地保存用户配置文件、Cookie等,并动态挂载,让云环境无限接近本地环境。
实时端云交互:无影自研ASP协议可将云端画面实时串流到用户本地,让用户和AI可以交替控制云环境。且ASP支持网络和外设重定向通道,让云环境可以感知和控制本地设备。
技术架构:
自研持久化文件系统,可动态按需保留用户状态和文件。
自研ASP端云实时通信协议,让云环境可感知、模仿、控制本地环境。
底层基于阿里云无影资源池,全球部署,就近接入。
提供Serverless服务能力,客户可以一键调度环境会话。
集成了Browser、File、Terminal等标准MCP工具集。
支持通过SDK+API或者MCP Server快速接入,两者均兼容。
Q2: 市场上的AI Agent产品如何接入无影AgentBay?
AI Agent产品可以通过以下方式接入无影AgentBay:
基础接入流程:
申请API Key
完成自定义镜像制作和资源池定义配置
完成MCP服务配置(可选)
集成无影WEB SDK(可选)
客户端或服务端发起工具使用请求(会话调度)
接入方式:
通过无影服务端SDK+API接入
通过MCP Server接入
访问方式:
支持客户端内嵌WebView串流云环境
支持跳转浏览器使用
访问格式:
https://wuying.aliyun.com?mcp.html?authcode=<authCode>&resourceId=<resourceId>
说明在发起工具调用时,该URL会由MCP Server返回。
Q3: 无影AgentBay支持MCP协议,和市场上的MCP Server之间是什么关系?
无影AgentBay与MCP Server的关系如下:
协议支持:
无影AgentBay完全支持MCP(Model Context Protocol)协议。
提供标准化的MCP接口,确保与现有MCP生态兼容。
工具集成:
提供主流的MCP工具集,包括但不限于:
Browser工具:支持浏览器操作
File工具:支持文件操作
Terminal工具:支持终端操作
生态关系:
可以与现有的MCP Server生态系统无缝集成。
支持现有MCP Server的功能扩展。
提供统一的接口标准,便于管理和集成。
Q4: 使用AI Agent时,我不想泄露个人隐私,无影AgentBay如何保障我的私人数据?
无影AgentBay通过以下机制保障用户隐私和数据安全:
隔离机制:
为每个用户提供完全隔离的VM环境。
环境会话结束后即重置,不留存任何数据。
访问控制:
通过API Key进行身份认证。
提供安全的访问控制机制。
数据处理:
本地数据不会上传到云端,云端数据不会被保留,除非用户明确授权和要求。
提供安全的数据传输通道。
支持数据加密存储。
Q5: Agent执行各种任务时经常消耗大量本地算力,我的电脑都不能做其他事了,无影AgentBay是否能解决这个问题?是如何解决的?
无影AgentBay可以通过以下方式有效解决本地算力消耗问题:
云端执行:
任务在阿里云的资源池中执行,不占用本地计算资源。
提供Serverless服务,按需分配计算资源。
支持弹性扩展,根据任务需求自动调整资源。
资源优化:
采用云端分布式计算。
支持任务并行处理。
资源自动扩缩容。
性能保障:
提供专业的云计算资源池。
确保任务执行效率。
本地设备只需要处理基础的交互操作。
Q6: 无影AgentBay目前具体提供哪些Desktop Auto的能力?是否支持自定义镜像来接入无影AgentBay?
无影AgentBay提供丰富的Desktop Auto能力:
基础自动化能力:
Browser工具:支持完整的浏览器自动化操作
File工具:支持文件系统自动化操作
Terminal工具:支持命令行自动化操作
Python工具:支持环境内代码安全执行
进阶自动化能力:
GUI Agent:提供实时画面理解和交互指令执行的能力
自定义知识空间:支持用户知识自动化沉淀,用户状态自定义保存
支持用户自定义应用接口开发
镜像支持:
内置Linux基础镜像
支持用户在基础镜像上制作自定义镜像
第三方开源软件清单
开源组件名称 | 许可协议 | 代码是否修改 | 网址 | 修改后代码 |
mcp server | 否 | 无 | ||
mcp typescript sdk | 否 | 无 | ||
axios | 否 | 无 | ||
playwright | 否 | https://github.com/executeautomation/mcp-playwright?tab=MIT-1-ov-file | 无 | |
filesystem | 否 | https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem | 无 | |
iterm | 否 | 无 | ||
zod-to-json-schema | 否 | 无 | ||
commander.js | 否 | 无 | ||
dayjs | 否 | 无 | ||
zod | 否 | 无 |
建议与反馈
若对AgentBay有任何建议与反馈,欢迎扫码加入用户交流钉钉群。