跳转到主要内容
Devin 在每次会话开始时都会通过加载一个虚拟机快照来工作。为了让 Devin 发挥最大效用,这个快照中应该包含你希望 Devin 处理的所有代码仓库,以及 Devin 在你的代码库上工作时可能需要的所有工具和依赖。这样,Devin 就可以专注于编写代码,而不必每次都重新搭建运行环境! 在本指南中,我们将介绍如何将 Devin 接入你的某个代码仓库,并配置 Devin 的工作空间(虚拟机快照)。你可以将这看作是为 Devin 配置好他第一天上班要用的电脑。
正确设置 Devin 的工作空间将显著提升 Devin 在你代码库上的表现。想象一下,如果你每次开始一个任务时,你的笔记本电脑和部分记忆都会被清空——在设置不正确或不完整时,这就是 Devin 的处境!

设置代码仓库

首先,确保 Devin 拥有访问你代码仓库的权限。你可以随时前往 Settings > Integrations 添加仓库并配置 Devin 的访问权限。
更多信息请参考 GitHub Integration Guide
现在,前往 Settings > Devin’s Workspace,点击你希望 Devin 处理的代码仓库。你应该会看到如下界面。
Devin
你现在可以使用右侧嵌入的 VS Code 来编辑 Devin 的虚拟机。每个仓库都会位于 ~/repos 下各自的目录中。不要移动或删除这些目录。你当前正在设置的仓库已经完成克隆,该虚拟机中也包含你过去设置过的其他仓库。 在你完成仓库设置后,虚拟机的快照会被保存。之后的 Devin 会话将从该快照启动,并包含你在设置过程中安装的所有工具和依赖。 按照下列步骤和屏幕上的说明来完成仓库设置。保存之后,你随时可以回来修改仓库设置。你也可以参考下方的视频指南。
1

git pull

输入 Devin 在每次会话开始时应运行的命令,以从仓库拉取最新变更。通常情况下,你应保留默认命令。确保 Devin 能访问仓库中的子模块。
2

配置机密

设置 Devin 所需的各类机密信息(secrets)。在条件允许的情况下,我们建议直接将 .env 文件添加到 Devin 的工作区。此示例 展示了如何使用 direnv 来完成此操作。其他机密信息(如密码)可以在 secrets 控制台中添加。
3

安装依赖

使用 VS Code 设置 Devin 在该代码仓库中工作所需的所有工具和依赖项。完成此步骤后,Devin 应该能够在无需额外安装的情况下运行他所需的所有命令(例如 lint、test、build 等)。Devin 所在的机器运行的是 Ubuntu 22.04(x86_64)。
尝试在终端中按 Ctrl+K 或 Cmd+K(Mac),自动生成安装命令。
建议:
  • 安装编译器、解释器、构建工具、包管理器、代码检查工具(linter)、格式化工具、测试运行器等。
  • 安装包依赖(例如 npm installpip install -r requirements.txt 等)
请注意,你所做的更改在 Devin 处理其他代码仓库时也会生效。安装全局包时务必谨慎,并在可能的情况下考虑使用虚拟环境。
Devin 将在 bash shell 中运行命令。要测试你的配置,可以在 VS Code 中创建一个全新的终端。如需更高级的配置,例如为每个代码仓库设置自定义解释器版本或配置环境变量,请查看 示例 部分。
4

管理依赖项

输入 Devin 在每次会话开始时应运行的命令,以保持依赖项为最新状态。这个命令通常应与您手动安装依赖项时使用的命令相同(例如 npm installpip install -r requirements.txt 等)。这样做是为了确保当依赖项被添加到 git 仓库时,Devin 能够更新其本地依赖项。
5

设置 Lint

输入 Devin 应该运行的命令,用于对代码仓库进行 lint。Devin 会在提交更改之前查看这些命令的输出。这些命令应在 5 分钟内执行完成,这样 Devin 不必等待太久。点击 “Verify” 以检查这些命令是否正常工作。提示:
  • 如有需要,你可以先在 VS Code 终端中运行这些命令以预热缓存。
  • 如果命令需要在特定目录下运行,你可以像这样使用 cdcd <directory> && <lint command>
  • 如果你的项目没有 lint 命令,你可以填写构建命令,让 Devin 检查编译错误。
  • 你也可以在这里加入检查代码格式风格的命令。
  • 如果你当前流程的 lint 步骤比较复杂,可以跳过此步骤,并在下面的 Additional Notes 步骤中向 Devin 说明 lint 流程。
    如果在验证命令时遇到问题,请查看故障排查部分
6

配置测试

输入 Devin 应运行的命令来测试代码仓库。与 lint 命令类似,Devin 会在提交更改之前查看这些命令的输出。这些命令也有 5 分钟的时间限制。点击“Verify”来检查这些命令是否正常工作。提示:
  • 如有需要,你可以先在 VS Code 终端中运行这些命令,以预热缓存。
  • 如果命令需要在特定目录下运行,你可以像这样使用 cdcd <directory> && <test command>
  • 如果你的测试流程较为复杂,可以跳过此步骤,并在下方的“Additional Notes”步骤中向 Devin 说明测试方法。
    如果在验证命令时遇到问题,请查看故障排除部分
7

本地应用程序设置

让 Devin 知道如何在本地运行你的代码。当 Devin 需要运行你的代码来测试或调试更改时,这会非常有用。
请先在 VS Code 终端中亲自测试这些命令,确保 Devin 确实能够运行它们。
8

补充说明

添加你认为对 Devin 在处理此代码仓库时很重要的任何补充说明。
我们建议尽可能将设置过程自动化。查看 examples 部分,了解一些实现方式示例。这样可以让 Devin 在后续会话中更快地开始在你的代码库上工作。
完成所有步骤后,点击“完成”。我们会检查所有命令是否正常运行,然后保存快照。这可能需要几分钟。快照保存完成后,后续的 Devin 会话就可以使用你配置好的环境。
如果你的代码仓库还没有 gitignore 文件,我们建议你创建一个。这样可以帮助避免 Devin 在提交文件时出错,也能让你在 IDE 中与 Devin 协作时,更方便地查看 Devin 所做的更改。

示例

下面是一些为不同使用场景配置 Devin 工作空间的示例。 由于 Devin 通过 bash 运行所有命令,一种常见做法是编辑 ~/.bashrc 文件,以自动配置 Devin 的 shell 环境。你可以在终端中运行 devin ~/.bashrc,在 VS Code 中编辑该文件。

为不同代码仓库自动配置环境

2025 年 4 月 24 日之后,新加入 Devin 的团队在 ~/.bashrc 中应该已经能看到 custom_cd 这一部分。你只需要把其中与自己仓库相关的部分改成你的仓库即可。
假设你有两个代码仓库,它们需要不同版本的 Node,并且你希望 Devin 能在每个仓库中自动使用对应的版本。我们将使用 nvm 来安装和管理这些 Node 版本。nvm 应该已经安装在 Devin 的环境中。 首先,我们将在 VS Code 终端中运行以下命令来安装这两个版本的 Node:
nvm install 18
nvm install 20
接下来,在终端中运行 devin ~/.bashrc 打开 ~/.bashrc 文件。将以下内容追加到该文件末尾。
function custom_cd() {
  builtin cd "$@"

  if [[ "$PWD" == "$HOME/repos/node18"* ]]; then
    nvm use 18 >/dev/null 2>&1
  elif [[ "$PWD" == "$HOME/repos/node20"* ]]; then
    nvm use 20 >/dev/null 2>&1
  fi
}

alias cd='custom_cd'
cd $PWD
每当 Devin 在 node18 仓库中时,这会运行 nvm use 18;而当 Devin 在 node20 仓库中时,则会运行 nvm use 20

配置环境变量

我们将介绍如何使用 direnv 来管理环境变量。首先,我们会按照 direnv 的安装说明,在 Devin 的机器上安装它。2025 年 4 月 24 日之后,新团队的机器上应该会自动安装 direnv。 在 VS Code 终端中运行以下命令来安装 direnv
sudo apt install direnv
接下来,我们会在 ~/.bashrc 中追加以下内容来设置 direnv 钩子。你可以在终端运行 devin ~/.bashrc 来打开 ~/.bashrc 文件。
eval "$(direnv hook bash)"
现在,我们可以在代码仓库的根目录创建一个 .envrc 文件,内容大致如下。
export ENV_VAR=1
export ANOTHER_ENV_VAR=2
最后,我们将在终端中运行 direnv allow 来加载环境变量。 现在,在后续的会话中,当 Devin 在我们的代码仓库中工作时,其运行环境中将包含我们 .envrc 文件中的环境变量。
我们建议将 .envrc 添加到你的 .gitignore 文件中,以免 Devin 不小心将其提交到代码仓库。

将目录添加到系统 PATH

我们可以编辑 ~/.bashrc,将目录添加到系统 PATH 中。这样 Devin 就能更方便地运行这些目录下的可执行文件。例如,我们可以在 ~/.bashrc 中追加以下内容,将 ~/bin 目录添加到系统 PATH 中。
export PATH="$HOME/bin:$PATH"
现在,Devin 可以在 ~/bin 目录中运行可执行文件,无需再指定完整路径。

登录网站

在仓库设置过程中,你可以使用 Browser 选项卡登录任何你希望 Devin 与之交互的网站。这些会话 Cookie 会存储在 Devin 的工作区中,并在后续会话中供 Devin 使用。如果你使用的网站经常导致登录会话超时,你还应在 Secrets 控制台中为 Devin 配置登录凭据。

故障排除

如果在仓库设置过程中不小心弄坏了什么,该怎么办?

如果你在仓库设置过程中不小心引入了破坏性的改动,可以随时还原到之前的机器镜像。前往 Settings > Devin’s Workspace,点击 Version History 查看之前的机器镜像列表。然后点击你确认工作正常的那一个机器镜像,并点击 Restore version

为什么我的命令没有通过验证?

如果在验证命令时遇到错误,请尝试在 VS Code 终端中查看该命令的输出,并在新的终端中手动运行该命令。
  1. 检查你正在运行的可执行文件路径。我们强烈建议使用绝对路径,或将可执行文件添加到系统 PATH
  2. 确保你已安装运行该命令所需的工具和依赖项。如果尚未安装,请使用终端进行安装,然后再次进行验证。
  3. 检查命令是否在正确的目录中运行。如果命令需要在特定目录中运行,你可以像这样使用 cdcd <directory> && <command>
  4. 检查你是否在使用正确的语言版本(例如正确版本的 Node、Python 等)。
  5. 你可能需要修改你的 ~/.bashrc,以自动使用正确的环境。 请参考我们的指南,了解如何为不同的代码库自动使用正确的语言版本

我手动运行命令时一切正常

请检查你的 bashrc 是否已正确配置,以便新启动的 bash shell 可以访问所需工具。尝试在一个全新的终端中运行你的命令。如果它们无法运行,你很可能需要编辑 bashrc,例如先运行某些初始化命令,或编辑系统 PATH。 查看我们的指南,了解一个示例:如何为不同的代码仓库使用正确的语言版本 命令会在 5 分钟后超时。你可以先在 VS Code 终端中运行这些命令以触发缓存,然后再进行验证。我们不建议让 Devin 执行运行时间超过 5 分钟的命令,因为这会显著降低它的效率。

Homebrew 要求我输入密码

这是 Linux 版 Homebrew 中的一个缺陷。请改为运行命令 CI=1 brew install <package>

Devin 在会话中无法运行我的 lint/test 命令

查看 Devin 的终端输出,看看能否发现任何错误。你也可以在一个全新的终端中亲自运行这些命令,确认它们是否正常工作。如有需要,你可以重新检查代码库的设置流程,对 Devin 的工作区进行调整。

git pull 步骤无法正常执行

请再次确认 Devin 是否具有该代码仓库及其子模块的访问权限。如果遇到任何权限问题,也可以查看 GitHub 集成文档

需要修改吗?

你可以随时在 Settings > Devin’s Workspace 中编辑或添加新的代码仓库。 要编辑已有仓库,在 Devin’s Workspace 中点击该仓库 > 点击 “edit” > 点击 “Set up in VSCode”。
Devin
你也可以通过进入 Settings > Devin’s Workspace 选项卡,展开 Danger Zone 下拉菜单,并使用 “Reset machine setup” 选项来完全重置 Devin 的机器环境。请注意,这将移除你已配置的所有仓库。

全部设置完成!

恭喜!你已经完成 Devin 的接入,现在可以开始一起开发了。现在就开始你的第一个会话。请记住,Devin 在以下情况下工作效果最佳:
  • 告诉 Devin 如何检查自己的进度
  • 将大型任务拆解成小任务
  • 预先提供详细的需求说明
  • 并行运行多个会话
如果你需要支持,请随时通过 [email protected] 给我们发送邮件。