什么是 Computer Use?
Computer Use 为 Devin 提供对带有鼠标和键盘的图形化桌面环境的直接访问。它不仅仅是浏览器自动化——Devin 可以与屏幕上渲染的任何应用程序交互,包括:- Chrome 中的Web 应用程序 (点击按钮、填写表单、在页面之间导航)
- 在会话的平台 (Linux、Windows 或 macOS) 上运行的桌面应用程序,包括 Electron 应用、IDE 和平台原生图形界面
- 基于终端的界面 (TUI 程序、交互式 CLI)
- 能在桌面上显示的任何可视化界面
支持的平台
Computer Use 在所有平台上的体验相同:Devin 使用鼠标和键盘、截取屏幕截图、通过 Chrome 运行 Web 应用,并且可以录制其测试会话。在 Windows 上,Devin 还可以测试 Windows 原生桌面应用程序 (如 WPF、WinForms 以及其他只能在 Windows 上运行的应用) ;在 macOS 上,它可以测试 Mac 应用以及模拟器中的 iOS 应用。要在其他平台上运行会话,请按 Windows 支持 或 macOS 支持 中所述配置蓝图。有关端到端示例,请参阅 使用 Devin 构建 iOS 应用。
在 macOS 上,Devin 使用 Command 键来执行键盘快捷键 (⌘C、⌘V) ,而不是 Control 键。
如何启用
Computer Use 由你所在组织的 Devin 设置中的 Computer use 开关进行控制。- 前往 Settings > Devin
- 在 Sessions 部分下,将 Computer use 切换为开启
- Devin 现在将在会话期间使用其桌面环境
桌面模式 适用于所有套餐。只有组织管理员可以更改此设置。
Computer Use 的运行时机
启用桌面模式后,Computer Use 功能将在每个会话中可用。它有三种触发方式:创建 PR 后
当 Devin 创建 PR 时,它会提供一个 Test the app 按钮。点击该按钮会触发完整的测试工作流:Devin 会启动你的应用,使用 Computer Use 与桌面交互,测试这些更改,并将录屏发送给你。
在会话中按需使用
你可以在会话中的任何时候让 Devin 进行测试——不需要任何特殊语法,只需用自然语言提出请求即可。例如:- “测试你刚刚做的更改,并把录屏发给我”
- “在浏览器中打开应用,验证登录页面是否正常工作”
- “启动桌面应用,检查新的菜单项是否出现”
在适当情况下自主操作
Devin 会自行决定何时适合通过桌面交互来完成任务。如果任务涉及点击 UI 元素、在应用中导航、填写表单或对某些内容进行目视确认,Devin 会在无需你明确要求的情况下使用 Computer Use。你不需要告诉 Devin 如何 与屏幕交互——只需告诉它 要完成什么 即可。Devin 在计算机操作方面能做什么
端到端测试 Web 应用
Devin 可以在本地启动你的应用,在 Chrome 中打开它,并完整地走一遍用户流程——登录、导航、表单提交、结账——以验证一切是否按预期工作正常。测试桌面应用
任何能在 Devin 会话平台上运行的应用都可以测试。在 Linux 会话中,这包括 Electron 应用、Java Swing/AWT 应用、GTK/Qt 应用等。在 Windows 会话 中,Devin 还可以测试 Windows 原生应用,例如 WPF 和 WinForms 应用。Devin 会启动应用,与其 GUI 交互,并验证其行为是否符合预期。可视化验证
Devin 可以在测试过程中的特定步骤截取屏幕截图,用于验证布局、样式和 UI 元素是否正确显示。它可以将屏幕上看到的内容与预期效果进行比对,并标记出视觉问题。处理复杂的 UI 流程
有些测试场景需要多步 GUI 交互,而不仅是简单的 API 调用或浏览器自动化——比如拖拽、上下文菜单、键盘快捷键,或在多个窗口之间切换。Computer Use 可以处理所有这些。记录测试会话
Devin 可以在测试时录制自己的屏幕,并在视频中标注关键时刻。录制内容随后会被处理并发送给你,这样你就可以观看 Devin 与你的应用交互的过程,并确认更改是否正常生效。有关录制工作流的完整说明,请参见 Testing & Video Recordings。Computer Use 功能的工作原理
当 Devin 在会话中使用 Computer Use 功能时,会遵循以下流程:- 截取屏幕截图,以了解当前屏幕上可见的内容
- 识别可交互元素 —— 按钮、文本输入框、菜单、链接 —— 并决定要与哪些进行交互
- 执行操作 —— 点击、输入、滚动,或使用键盘快捷键
- 等待并观察 —— 再次截屏以查看该操作的结果
- 重复上述步骤,直到任务完成
电脑操作与测试
电脑操作是 Devin 测试与录屏 工作流的基础。当 Devin 在创建拉取请求 (PR) 后测试你的应用时:- 设置 — Devin 安装依赖、启动你的应用并准备环境
- 测试规划 — Devin 阅读代码 diff 并创建一份聚焦的测试计划
- 通过电脑操作执行 — Devin 使用其桌面环境与应用交互,按测试计划一步步执行
- 录制 — 整个过程会被录制成带批注的视频,然后发送给你进行审核
Outposts 上的 Computer Use
在 Outposts 中,会话在你管理的机器上运行,因此 Devin 会使用机器现有的桌面环境,而不是自行预配桌面环境。每个桌面模式会话中均可使用computer 工具;如果机器不支持某项 action,该 action 会失败并返回清晰、可操作的错误,而不会悄无声息地缺失该工具。
各平台要求
Linux:工作器必须能够访问图形会话才能运行——工作器环境中必须设置DISPLAY,并将其指向正在运行的 X 服务器。在无头机器上,你可以自行启动一个 X 服务器 (例如运行 Xvfb :0 并配合窗口管理器) ,并在启动工作器前导出 DISPLAY。如果没有显示环境,计算机操作会返回错误,说明没有可用的图形桌面以及如何提供图形桌面。
macOS:Devin 会复用机器现有的桌面会话。运行 Devin 工作器的进程需要获得两项独立的 macOS 权限 (TCC) :
- 屏幕录制 — 截图必需。
- 辅助功能 — 模拟鼠标和键盘输入必需。
部分功能不可用属于预期情况
各项能力会独立检查,因此 Devin 会优雅降级,而不会导致整个工具无法使用:- 如果已授予“屏幕录制”权限但未授予“辅助功能”权限 (这是常见的默认设置) ,截图仍可正常使用,但点击/输入/滚动操作会返回错误,并明确告知你需要授予哪项权限。
- 如果完全没有可用的显示器,所有计算机操作都会返回原因 (例如未设置
DISPLAY) 以及需要进行的更改。
ffmpeg——请参阅机器依赖。
获得最佳效果的建议
明确要测试的内容
- “打开应用,在右上角点击 Settings 按钮,切换深色模式,并确认所有文本仍然清晰可读”
- “启动 Electron 应用,创建一个新文档,输入一些文本,并在关闭窗口时确认文档已成功保存”
告诉 Devin 成功的标准
- “仪表盘应显示三个图表,且没有错误信息”
- “提交表单后,页面顶部应出现绿色的成功提示横幅”
提前配置访问
如果你的应用需要身份验证,请提前设置好secrets,这样 Devin 就可以在会话过程中无需再向你确认即可登录。完成环境配置,以确保 Devin 能够安装依赖项并顺利启动你的应用。创建测试 Skill
对于需要频繁测试的应用程序,你可以创建一个 Skill,用来准确告知 Devin 如何为你的应用进行配置和测试。这样可以在多次会话中节省时间,并确保测试过程的一致性。示例请参见 Testing & Video Recordings — Skill 建议。通过 Playwright 使用脚本控制浏览器
Devin 的 Chrome 浏览器提供了一个可供 Playwright 连接的 Chrome DevTools Protocol (CDP) 端点。Devin 可以编写并运行 Playwright 脚本,对其当前运行的浏览器执行自动化交互——例如登录流程或系统化的数据录入。你也可以自行编写这些脚本,并将其提交到你的代码仓库中。对于大多数其他浏览器操作,建议使用 Devin 原生的 Computer Use 或浏览器工具。工作原理
Devin 的 Chrome 实例会在端口 29229 上监听 CDP 连接。Playwright 脚本可以连接到这个浏览器,执行操作 (填写表单、点击按钮、处理重定向) ,然后断开连接。由于脚本连接的是现有浏览器,而不是启动新的浏览器,因此所有状态变更——Cookie、localStorage、身份验证令牌——都会在脚本退出后保留。 这意味着 Devin 可以立即使用已完成身份验证的会话:刷新页面、页面跳转,并像平常一样与应用正常交互。示例:连接 Devin 的浏览器
何时使用此功能
SSO / OAuth 流程
自动执行多步骤登录流程 (例如 Okta、Auth0、Google SSO) ,避免你在每次会话中都要手动逐步点击这些繁琐操作。
环境设置身份验证
在你的环境设置中加入登录脚本,这样 Devin 在每次会话开始时都已完成身份验证。
基于 Skill 的自动化
将登录或数据录入脚本存储在 Skill 中,以便 Devin 在需要时自动调用。
系统化数据录入
为重复性的表单提交或批量数据录入编写脚本,避免通过点选执行这些缓慢且容易出错的任务。
提示
- 将登录脚本存放在你的 代码仓库 的
.agents/skills/目录中,以便它们在不同会话之间持续保留 - 使用 secrets 存储凭据——在脚本中通过环境变量引用它们
- CDP 端点始终是
http://localhost:29229——无论是否启用 桌面模式,使用的都是同一个端口 - 脚本运行后,Devin 可以使用 Computer Use 或浏览器工具与已完成身份验证的会话交互

