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

添加代码仓库

首先,确保 Devin 可以访问你的代码仓库。你可以随时通过在以下位置配置 Devin 的访问权限来添加代码仓库: 现在,在某个组织中,前往 Devin 的机器 并点击 Add repository。选择你希望添加到 Devin 环境中的代码仓库,然后点击 Start 开始配置。
Devin
Devin 的机器运行的是 Ubuntu 22.04(x86_64)。尝试在终端中按 Ctrl+K,即可自动生成安装命令。

设置代码仓库和开发环境

进入 Repo Setup 后,你会看到三个面板:
  1. Repository Setup Steps:按顺序显示全部 8 个设置步骤,以及将被保存到你的配置中的对应命令。
  2. Devin AI Setup Agent:Devin 会根据你特定的代码仓库为每个步骤提出建议,并反复迭代调整设置,直到可以保存为止。
  3. VSCode Terminal:使你能够在内嵌的 VSCode 环境中直接运行任意命令或浏览文件系统。

AI 生成的建议

当你添加代码仓库时,Devin 会基于对代码库的分析,自动为每个步骤生成配置建议。你可以单独接受或拒绝每条建议,或通过 Devin AI Setup Agent 对这些建议进行迭代优化。

仓库设置步骤

1

Git Pull

Devin 在每个会话开始时运行的命令,用于从仓库中拉取最新更改。在大多数情况下,建议保持默认命令不变。请确保 Devin 拥有对仓库中所有子模块的访问权限。
2

配置机密信息

设置 Devin 在操作你的仓库时所需的任何机密信息或环境变量。更多详情参见 配置机密信息
3

安装依赖

用于安装仓库初始依赖的命令。在首次设置时运行一次,用于准备 Devin 的运行环境。
4

维护依赖

Devin 在会话启动时执行 git pull 之后运行的命令,用于处理新增依赖。通常应与安装依赖时使用的命令相同(例如 npm installpip install -r requirements.txt 等)。
5

设置 Lint

Devin 用来运行 lint 或检查语法错误的命令。Devin 会在提交更改前查看这些命令的输出。
6

设置测试

Devin 用来运行测试的命令。与 lint 命令类似,Devin 会在提交更改前查看这些命令的输出。
7

运行本地应用

告诉 Devin 如何在本地运行你的代码。如果 Devin 需要运行你的代码来测试或调试更改,这会非常有用。你可以使用 Devin 的浏览器登录希望 Devin 使用的网站。如果登录会超时,请将登录凭证添加到机密信息 中。
8

附加说明

添加 Devin 在处理此仓库时需要遵循的任何其他说明。

完成或保存设置

当你对当前设置感到满意时,点击 Finish Setup 以保存设置。系统随后会依次重新执行设置步骤中的所有命令,以准备 Devin 的环境。 如果你还未完成更改,点击 Finish Later 以保存设置。这样会将该设置保留为进行中状态,便于你稍后回来继续配置。不过请注意,同一时间只能有一个设置处于进行中状态,因此除非确有必要,我们不建议使用此选项。
配置命令的提示:
  • 先在 VS Code 终端中运行命令以触发缓存,然后再进行验证。
  • 如果某个命令需要在特定目录中运行,可以使用 cd,例如:cd <directory> && <command>
  • 如果你的项目没有 lint 命令,可以加入构建命令,这样 Devin 就能检查编译错误。
  • 如果你项目的 lint 或测试流程比较复杂,你可以跳过这些步骤,并在 Additional Notes 步骤中向 Devin 进行说明。
  • 如果在验证命令时遇到问题,请查看故障排查部分

配置已添加的代码仓库

你可以随时在 Settings > Devin’s Machine 中编辑或添加新的代码仓库。 要编辑已有的代码仓库,点击页面右上角的 Configure,在其中添加/修改/移除代码仓库,选择你想编辑的代码仓库,然后点击提交。
Devin
或者,你也可以在列表中选择想要编辑的现有代码仓库,然后点击 Modify repo setup 来修改配置步骤。
Devin

机器版本历史

如果在设置过程中不小心引入了不兼容变更,你可以回滚到之前的环境快照。前往 Settings > Devin’s Machine,切换到 Version History 选项卡,然后恢复一个你确认可以正常工作的先前快照。
Devin

配置机密信息

可以在 secrets 仪表板中添加 API key、密码、令牌等机密信息。若条件允许,我们建议在 Devin 的运行环境中使用 .env 文件配合 direnv 自动管理环境变量。详情请参见下文的配置环境变量示例

示例

下面是一些为不同使用场景配置 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 已预装在 Devin 的机器上,可以用来为每个代码仓库单独管理环境变量。direnv 钩子已经在 ~/.bashrc 中配置完成。 要为某个代码仓库设置环境变量,请在该仓库的根目录创建一个 .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 配置登录凭据。

故障排除

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

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

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

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

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

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

git pull 步骤无法正常执行

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

全部设置完成!

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