Documentation Index Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Devin 可以使用完整的桌面环境——而不是仅限于浏览器。它可以移动鼠标、点击界面元素、在键盘上输入、截取屏幕截图,并与任何运行在桌面上的应用程序交互。这种能力称为 Computer Use ,使 Devin 能够像人类一样测试和交互你的软件。
Computer Use 可在 Linux (默认会话平台) 和 Windows 会话中运行。详情请参阅支持的平台 。
Computer Use 为 Devin 提供对带有鼠标和键盘的图形化桌面环境的直接访问。它不仅仅是浏览器自动化——Devin 可以与屏幕上渲染的任何应用程序 交互,包括:
Chrome 中的网页应用程序 (点击按钮、填写表单、在页面之间导航)
在 session 的平台 (Linux 或 Windows) 上运行的桌面应用程序 ,包括 Electron 应用、IDE 和平台原生图形界面
基于终端的界面 (TUI 程序、交互式 CLI)
能在桌面上显示的任何可视化界面
Devin 将屏幕视为一个 1024×768 像素的显示器,并且可以执行诸如点击、输入、滚动、拖动和截图等操作——就像一个坐在电脑前的人类用户一样。
平台 Computer Use 支持情况 Linux (默认) 支持——会话在完整的 Linux 桌面环境中运行 Windows 支持——Windows 环境 中的会话在完整的 Windows 桌面环境中运行 macOS 不支持
Computer Use 在这两个平台上的体验相同:Devin 使用鼠标和键盘、截取屏幕截图、通过 Chrome 运行 Web 应用,并且可以录制其测试会话。在 Windows 上,Devin 还可以测试 Windows 原生桌面应用程序 (如 WPF、WinForms 以及其他只能在 Windows 上运行的应用) 。要在 Windows 上运行会话,请按 Windows 支持 中所述配置 Windows 蓝图。
Computer Use 由你所在组织的自定义选项中的 Enable desktop mode 开关进行控制。
前往 Settings > Customization
在 Browser interaction 部分下,将 Enable desktop mode 切换为开启
Devin 现在将在会话期间使用其桌面环境
Desktop mode 适用于所有套餐。只有组织管理员可以更改此设置。
启用桌面模式后,Computer Use 功能将在每个会话中可用。它有三种触发方式:
当 Devin 创建 PR 时,它会提供一个 Test the app 按钮。点击该按钮会触发完整的测试工作流 :Devin 会启动你的应用,使用 Computer Use 与桌面交互,测试这些更改,并将录屏发送给你。
你可以在会话中的任何时候让 Devin 进行测试——不需要任何特殊语法,只需用自然语言提出请求即可。例如:
“测试你刚刚做的更改,并把录屏发给我”
“在浏览器中打开应用,验证登录页面是否正常工作”
“启动桌面应用,检查新的菜单项是否出现”
Devin 会自行决定何时适合通过桌面交互来完成任务。如果任务涉及点击 UI 元素、在应用中导航、填写表单或对某些内容进行目视确认,Devin 会在无需你明确要求的情况下使用 Computer Use。你不需要告诉 Devin 如何 与屏幕交互——只需告诉它 要完成什么 即可。
Devin 可以在本地启动你的应用,在 Chrome 中打开它,并完整地走一遍用户流程——登录、导航、表单提交、结账——以验证一切是否按预期工作正常。
任何能在 Devin 会话平台上运行的应用都可以测试。在 Linux 会话中,这包括 Electron 应用、Java Swing/AWT 应用、GTK/Qt 应用等。在 Windows 会话 中,Devin 还可以测试 Windows 原生应用,例如 WPF 和 WinForms 应用。Devin 会启动应用,与其 GUI 交互,并验证其行为是否符合预期。
Devin 可以在测试过程中的特定步骤截取屏幕截图,用于验证布局、样式和 UI 元素是否正确显示。它可以将屏幕上看到的内容与预期效果进行比对,并标记出视觉问题。
有些测试场景需要多步 GUI 交互,而不仅是简单的 API 调用或浏览器自动化——比如拖拽、上下文菜单、键盘快捷键,或在多个窗口之间切换。Computer Use 可以处理所有这些。
Devin 可以在测试时录制自己的屏幕,并在视频中标注关键时刻。录制内容随后会被处理并发送给你,这样你就可以观看 Devin 与你的应用交互的过程,并确认更改是否正常生效。有关录制工作流的完整说明,请参见 Testing & Video Recordings 。
当 Devin 在会话中使用 Computer Use 功能时,会遵循以下流程:
截取屏幕截图 ,以了解当前屏幕上可见的内容
识别可交互元素 —— 按钮、文本输入框、菜单、链接 —— 并决定要与哪些进行交互
执行操作 —— 点击、输入、滚动,或使用键盘快捷键
等待并观察 —— 再次截屏以查看该操作的结果
重复上述步骤 ,直到任务完成
这种“截图—操作”循环使 Devin 能够适应屏幕上的任何内容,像人类一样处理动态内容、加载状态、弹出窗口和意外弹出的对话框。
电脑操作是 Devin 测试与录屏 工作流的基础。当 Devin 在创建拉取请求 (PR) 后测试你的应用时:
设置 — Devin 安装依赖、启动你的应用并准备环境
测试规划 — Devin 阅读代码 diff 并创建一份聚焦的测试计划
通过电脑操作执行 — Devin 使用其桌面环境与应用交互,按测试计划一步步执行
录制 — 整个过程会被录制成带批注的视频,然后发送给你进行审核
电脑操作与测试与录屏工作流之间的关键区别在于作用范围:电脑操作 是底层能力 (桌面交互) ,而 测试与录屏 是在此之上构建的结构化工作流,它使用电脑操作来测试你的 PR,并提供视频佐证。
明确要测试的内容
“打开应用,在右上角点击 Settings 按钮,切换深色模式,并确认所有文本仍然清晰可读”
“启动 Electron 应用,创建一个新文档,输入一些文本,并在关闭窗口时确认文档已成功保存”
告诉 Devin 成功的标准
“仪表盘应显示三个图表,且没有错误信息”
“提交表单后,页面顶部应出现绿色的成功提示横幅”
如果你的应用需要身份验证,请提前设置好secrets ,这样 Devin 就可以在会话过程中无需再向你确认即可登录。完成环境配置 ,以确保 Devin 能够安装依赖项并顺利启动你的应用。
对于需要频繁测试的应用程序,你可以创建一个 Skill ,用来准确告知 Devin 如何为你的应用进行配置和测试。这样可以在多次会话中节省时间,并确保测试过程的一致性。示例请参见 Testing & Video Recordings — Skill 建议 。
Devin 的 Chrome 浏览器提供了一个可供 Playwright 连接的 Chrome DevTools Protocol (CDP) 端点。Devin 可以编写并运行 Playwright 脚本,对其当前运行的浏览器执行自动化交互——例如登录流程或系统化的数据录入。你也可以自行编写这些脚本,并将其提交到你的代码仓库中。对于大多数其他浏览器操作,建议使用 Devin 原生的 Computer Use 或浏览器工具。
Devin 的 Chrome 实例会在端口 29229 上监听 CDP 连接。Playwright 脚本可以连接到这个浏览器,执行操作 (填写表单、点击按钮、处理重定向) ,然后断开连接。由于脚本连接的是现有 浏览器,而不是启动新的浏览器,因此所有状态变更——Cookie、localStorage、身份验证令牌——都会在脚本退出后保留。
这意味着 Devin 可以立即使用已完成身份验证的会话:刷新页面、页面跳转,并像平常一样与应用正常交互。
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp( "http://localhost:29229" )
context = browser.contexts[ 0 ]
page = context.pages[ 0 ] if context.pages else context.new_page()
# 示例:导航并登录
page.goto( "https://example.com/login" )
page.fill( 'input[name="email"]' , "user@example.com" )
page.fill( 'input[name="password"]' , "password" )
page.click( 'button[type="submit"]' )
page.wait_for_url( "**/dashboard" )
print ( "登录成功!" )
运行此脚本后,Devin 的浏览器会自动登录并可直接使用——无需手动操作。
SSO / OAuth 流程 自动执行多步骤登录流程 (例如 Okta、Auth0、Google SSO) ,避免你在每次会话中都要手动逐步点击这些繁琐操作。
环境设置身份验证 在你的环境设置 中加入登录脚本,这样 Devin 在每次会话开始时都已完成身份验证。
基于 Skill 的自动化 将登录或数据录入脚本存储在 Skill 中,以便 Devin 在需要时自动调用。
系统化数据录入 为重复性的表单提交或批量数据录入编写脚本,避免通过点选执行这些缓慢且容易出错的任务。
将登录脚本存放在你的 代码仓库 的 .agents/skills/ 目录中,以便它们在不同会话之间持续保留
使用 secrets 存储凭据——在脚本中通过环境变量引用它们
CDP 端点始终是 http://localhost:29229——无论是否启用 桌面模式,使用的都是同一个端口
脚本运行后,Devin 可以使用 Computer Use 或浏览器工具与已认证的会话交互
如果 Devin 无法在屏幕上找到某个按钮或元素,请在给 Devin 的指示中尽量更具体——描述该元素的位置、文字标签或周围的界面内容。比如,“点击弹窗右下角蓝色的 Save 按钮”要比“点击 Save”更好。
默认情况下,Devin 运行在 Linux 环境中。如果你的应用程序只能在 Windows 上运行,请在 Windows 环境 中运行你的会话,这样 Devin 就可以在那里测试它。仅支持 macOS 的应用程序不受支持。由于 Web 应用在 Chrome 中运行,因此不受平台限制。对于桌面应用,请确保提供与你的会话运行平台对应的构建版本。
如果 Devin 在你的 UI 上出现误操作,请在 Skill 或 Knowledge 中添加一条包含你应用具体导航说明的条目。描述精确步骤 (“点击左上角的汉堡菜单,然后在下拉菜单中点击 Settings ”) 可以减少歧义。