Devin 在每次会话开始时都会通过加载一个虚拟机快照来工作。为了让 Devin 发挥最大效用,这个快照中应该包含你希望 Devin 处理的所有代码仓库,以及 Devin 在你的代码库上工作时可能需要的所有工具和依赖。这样,Devin 就可以专注于编写代码,而不必每次都重新搭建运行环境!
在本指南中,我们将介绍如何将 Devin 接入你的某个代码仓库,并配置 Devin 的环境(虚拟机快照)。你可以将这看作是为 Devin 配置好他第一天上班要用的笔记本电脑。
正确设置 Devin 的环境将显著提升 Devin 在你代码库上的表现。想象一下,如果你每次开始一个任务时,你的笔记本电脑和部分记忆都会被清空——在设置不正确或不完整时,这就是 Devin 的处境!
首先,确保 Devin 可以访问你的代码仓库。你可以随时通过在以下位置配置 Devin 的访问权限来添加代码仓库:
现在,在某个组织中,前往 Devin 的机器 并点击 Add repository。选择你希望添加到 Devin 环境中的代码仓库,然后点击 Start 开始配置。
Devin 的机器运行的是 Ubuntu 22.04(x86_64)。尝试在终端中按 Ctrl+K,即可自动生成安装命令。
进入 Repo Setup 后,你会看到三个面板:
- Repository Setup Steps:按顺序显示全部 8 个设置步骤,以及将被保存到你的配置中的对应命令。
- Devin AI Setup Agent:Devin 会根据你特定的代码仓库为每个步骤提出建议,并反复迭代调整设置,直到可以保存为止。
- VSCode Terminal:使你能够在内嵌的 VSCode 环境中直接运行任意命令或浏览文件系统。
当你添加代码仓库时,Devin 会基于对代码库的分析,自动为每个步骤生成配置建议。你可以单独接受或拒绝每条建议,或通过 Devin AI Setup Agent 对这些建议进行迭代优化。
Git Pull
Devin 在每个会话开始时运行的命令,用于从仓库中拉取最新更改。在大多数情况下,建议保持默认命令不变。请确保 Devin 拥有对仓库中所有子模块的访问权限。
配置机密信息
设置 Devin 在操作你的仓库时所需的任何机密信息或环境变量。更多详情参见 配置机密信息。 安装依赖
用于安装仓库初始依赖的命令。在首次设置时运行一次,用于准备 Devin 的运行环境。
维护依赖
Devin 在会话启动时执行 git pull 之后运行的命令,用于处理新增依赖。通常应与安装依赖时使用的命令相同(例如 npm install、pip install -r requirements.txt 等)。
设置 Lint
Devin 用来运行 lint 或检查语法错误的命令。Devin 会在提交更改前查看这些命令的输出。
设置测试
Devin 用来运行测试的命令。与 lint 命令类似,Devin 会在提交更改前查看这些命令的输出。
运行本地应用
告诉 Devin 如何在本地运行你的代码。如果 Devin 需要运行你的代码来测试或调试更改,这会非常有用。你可以使用 Devin 的浏览器登录希望 Devin 使用的网站。如果登录会超时,请将登录凭证添加到机密信息 中。 附加说明
添加 Devin 在处理此仓库时需要遵循的任何其他说明。
当你对当前设置感到满意时,点击 Finish Setup 以保存设置。系统随后会依次重新执行设置步骤中的所有命令,以准备 Devin 的环境。
如果你还未完成更改,点击 Finish Later 以保存设置。这样会将该设置保留为进行中状态,便于你稍后回来继续配置。不过请注意,同一时间只能有一个设置处于进行中状态,因此除非确有必要,我们不建议使用此选项。
配置命令的提示:
- 先在 VS Code 终端中运行命令以触发缓存,然后再进行验证。
- 如果某个命令需要在特定目录中运行,可以使用
cd,例如:cd <directory> && <command>。
- 如果你的项目没有 lint 命令,可以加入构建命令,这样 Devin 就能检查编译错误。
- 如果你项目的 lint 或测试流程比较复杂,你可以跳过这些步骤,并在 Additional Notes 步骤中向 Devin 进行说明。
- 如果在验证命令时遇到问题,请查看故障排查部分。
你可以随时在 Settings > Devin’s Machine 中编辑或添加新的代码仓库。
要编辑已有的代码仓库,点击页面右上角的 Configure,在其中添加/修改/移除代码仓库,选择你想编辑的代码仓库,然后点击提交。
或者,你也可以在列表中选择想要编辑的现有代码仓库,然后点击 Modify repo setup 来修改配置步骤。
如果在设置过程中不小心引入了不兼容变更,你可以回滚到之前的环境快照。前往 Settings > Devin’s Machine,切换到 Version History 选项卡,然后恢复一个你确认可以正常工作的先前快照。
可以在 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 不小心将其提交到代码仓库。
我们可以编辑 ~/.bashrc,将目录添加到系统 PATH 中。这样 Devin 就能更方便地运行这些目录下的可执行文件。例如,我们可以在 ~/.bashrc 中追加以下内容,将 ~/bin 目录添加到系统 PATH 中。
export PATH="$HOME/bin:$PATH"
现在,Devin 可以在 ~/bin 目录中运行可执行文件,无需再指定完整路径。
在环境设置过程中,你可以使用 Browser 选项卡登录任何你希望 Devin 与之交互的网站。这些会话 Cookie 会存储在 Devin 的环境中,并在后续会话中供 Devin 使用。如果你使用的网站经常导致登录会话超时,你还应在 Secrets 控制台中为 Devin 配置登录凭据。
如果在验证命令时遇到错误,请尝试检查该命令的输出,并在新的终端中手动运行该命令。
- 检查你正在运行的可执行文件路径。我们强烈建议使用绝对路径,或将可执行文件添加到系统 PATH。
- 确保你已安装运行该命令所需的工具和依赖项。如果尚未安装,请使用 Setup Agent 或 VS Code 终端进行安装,然后再次进行验证。
- 检查命令是否在正确的目录中运行。如果命令需要在特定目录中运行,你可以像这样使用
cd:cd <directory> && <command>。
- 检查你是否在使用正确的语言版本(例如正确版本的 Node、Python 等)。
- 你可能需要修改你的
~/.bashrc,以自动使用正确的环境。
请参考我们的指南,了解如何为不同的代码库自动使用正确的语言版本。
请检查你的 bashrc 是否已正确配置,以便新启动的 bash shell 可以访问所需工具。尝试在一个全新的终端中运行你的命令。如果它们无法运行,你很可能需要编辑 bashrc,例如先运行某些初始化命令,或编辑系统 PATH。
查看我们的指南,了解一个示例:如何为不同的代码仓库使用正确的语言版本。
命令会在 5 分钟后超时。你可以先在 VS Code 终端中运行这些命令以触发缓存,然后再进行验证。我们不建议让 Devin 执行运行时间超过 5 分钟的命令,因为这会显著降低它的效率。
Devin 在会话中无法运行我的 lint/test 命令
查看 Devin 的终端输出,看看能否发现任何错误。你也可以在一个全新的终端中亲自运行这些命令,确认它们是否正常工作。如有需要,你可以重新检查代码库的设置流程,对 Devin 的环境进行调整。
请再次确认 Devin 是否具有该代码仓库及其子模块的访问权限。如果遇到任何权限问题,也可以查看 GitHub 集成文档。
恭喜!你已经完成 Devin 的接入,现在可以开始一起开发了。现在就开始你的第一个会话。请记住,Devin 在以下情况下工作效果最佳:
- 告诉 Devin 如何检查自己的进度
- 将大型任务拆解成小任务
- 预先提供详细的需求说明
- 并行运行多个会话
如果你需要支持,请随时通过 [email protected] 给我们发送邮件。