跳到主要内容
非官方简体中文翻译,内容版权归 Mastra 所有,遵循 Apache-2.0 许可。

Computer

运行桌面环境的 sandboxes 可以暴露截图、鼠标和键盘控制。当静态配置的 sandbox 支持 computer 能力时,workspace 会注册 computer 工具。

DaytonaSandbox 和 E2BDesktopSandbox 支持此能力。其他 sandbox 后端不会注册 computer 工具。解析器支持的 sandboxes 也不会注册它们,因为 workspace 在创建工具列表时无法检查解析后 sandbox 的能力。

Computer 工具
Computer 工具的直接链接

工具作用
mastra_workspace_computer_screenshot将桌面捕获为 PNG 图像,并作为原生媒体返回给模型。
mastra_workspace_computer_click在像素坐标处按下并释放鼠标左键。
mastra_workspace_computer_double_click在像素坐标处按下鼠标左键两次。
mastra_workspace_computer_right_click在像素坐标处按下并释放鼠标右键。
mastra_workspace_computer_move_mouse将光标移动到像素坐标,而不按下按钮。
mastra_workspace_computer_drag在两点之间按下、拖动并释放。
mastra_workspace_computer_type将文本输入到聚焦元素中。
mastra_workspace_computer_press_key按下按键或组合键,例如 Enter 或 ctrl+s。
mastra_workspace_computer_scroll向上或向下滚动。
mastra_workspace_computer_get_screen_info获取屏幕尺寸和光标位置。
mastra_workspace_computer_wait等待界面稳定。

配置 computer 工具
配置 computer 工具的直接链接

操作工具默认在每次操作后截取屏幕截图。为每个工具配置截图行为:

src/mastra/workspaces.ts
import { Workspace, WORKSPACE_TOOLS } from '@mastra/core/workspace'
import { E2BDesktopSandbox } from '@mastra/e2b-desktop'

const workspace = new Workspace({
sandbox: new E2BDesktopSandbox(),
tools: {
[WORKSPACE_TOOLS.COMPUTER.CLICK]: {
screenshotAfterAction: true,
screenshotDelayMs: 1000,
},
[WORKSPACE_TOOLS.COMPUTER.TYPE]: {
requireApproval: true,
},
},
})

Computer 工具接受与其他 workspace 工具相同的单工具 enabled 和 requireApproval 配置。

On this page