跳转到主要内容
所有 Advanced 配置都可以在 Devin Settings 中找到。你可以通过右上角下拉菜单 → Devin Settings,或通过 命令面板 (Ctrl/⌘+Shift+P) → Open Devin User Settings 进入。

启用 Cascade 对 .gitignore 文件的访问权限

要让 Cascade 访问与你项目 .gitignore 中规则匹配的文件,请前往 Devin Settings,然后进入“Cascade Gitignore Access”。该选项默认处于关闭状态。要授予访问权限,请点击开关将其打开。

Agent diff 区域

当 Agent 编辑文件时,Devin Desktop 会显示 diff 区域——也就是编辑器中以内联高亮方式标出的区域,能准确显示具体改动内容,并为每个变更块提供接受和拒绝控件。所有 Agent 默认都会使用 diff 区域。 你可以在 Devin Settings → User Interface → Agent Diff Zones 中关闭非 Cascade Agent 的 diff 区域。禁用后,非 Cascade Agent 的编辑会直接应用到文件,工具栏会显示一个简单的关闭按钮,而不是接受/拒绝控件。

SSH 支持

VSCode 中常见的 SSH 支持由 Microsoft 提供并授权,因此我们专门为 Devin Desktop 实现了自己的版本。它确实要求你安装 OpenSSH,但除此之外几乎没有其他依赖,基本上会像你平时用的一样“开箱即用”。你可以在 命令面板 中通过 Remote-SSH 访问 SSH,也可以通过左下角的 Open a Remote Window 按钮进入。 这个扩展在我们的内部开发中一直运行良好,但目前也有一些已知注意事项和 bug:
  • 我们目前只支持通过 SSH 连接到基于 Linux 的远程主机。
  • 常见的 Microsoft Remote - SSH 扩展 (以及 open-remote-ssh 扩展) 无法使用——请不要安装它们,因为它们会与我们的 SSH 支持冲突。
  • 我们目前还不具备 Microsoft SSH 扩展的全部功能。现在主要支持最核心的功能:连接到主机。如果你有功能需求,欢迎告诉我们!
  • 通过 SSH 连接后,如需访问远程主机上的 devcontainer,请使用 命令面板 (Ctrl/Cmd+Shift+P) 并选择以下选项之一:
  • SSH agent 转发默认开启,并会使用 Devin Desktop 与该主机的最新连接。如果你遇到相关问题,请尝试重新加载窗口以刷新连接。
  • 在 Windows 上,当系统提示你输入密码时,你会看到一些 cmd.exe 窗口。这是正常现象——我们很快就会去掉它们。
  • 如果你遇到问题,请先确认你可以在终端中使用常规 ssh 连接到远程主机。如果问题仍然存在,请在提交 bug 报告时附上 Output > Remote SSH (Devin) 选项卡中的输出!

开发容器

Devin Desktop 在 Mac、Windows 和 Linux 上均支持开发容器,适用于本地和远程 (通过 SSH) 工作流程。 前提条件:
  • 本地:你的机器上必须安装 Docker,并且可在 Devin Desktop 终端中访问。
  • 通过 SSH 远程:使用 Devin Desktop Remote-SSH 连接到远程主机。远程主机上必须安装 Docker,并且可从远程 shell 访问。你的项目应包含 devcontainer.json 或等效配置。
可用命令 (本地和远程窗口中均可用) :
  1. Dev Containers: Open Folder in Container
    • 使用指定的 devcontainer.json 打开新的工作区。
  2. Dev Containers: Reopen in Container
    • 在由你的 devcontainer.json 定义的新容器中重新打开当前工作区。
  3. Dev Containers: Attach to Running Container
    • 附加到现有的 Docker 容器,并将当前工作区连接到该容器。如果该容器不符合开发容器规范,Devin Desktop 会尽力检测远程用户和环境。
  4. Dev Containers: Reopen Folder Locally
    • 连接到开发容器时,断开连接并在本地文件系统中重新打开工作区。
  5. Dev Containers: Show Devin Desktop Dev Containers Log
    • 打开 开发容器 日志输出,以便排查问题。
这些命令可通过命令面板使用;点击左下角的 Open a Remote Window 按钮时也会显示这些命令 (包括你通过 SSH 连接到远程主机时) 。 相关内容:
  • Remote Explorer: Focus on Dev Containers (Devin Desktop) View — 快速打开 开发容器 视图。

已知限制

Devin Desktop 目前不执行 Dev Container Specification 生命周期命令
  • onCreateCommand
  • updateContentCommand
  • postCreateCommand
  • postStartCommand
  • postAttachCommand
这同时适用于容器级生命周期命令 (在 devcontainer.json 中定义) 和 feature 级生命周期命令 (在 devcontainer-feature.json 中定义) 。此外,也不会安装 Dotfiles。 可正常工作的内容:
  • Feature install.sh 脚本 (这些脚本会在镜像构建时运行)
  • Feature mounts (卷会在容器运行时挂载)
  • Feature entrypoint 字段 (每次容器启动时都会执行)
  • 其他所有在镜像构建时执行的操作 (Dockerfile、docker-compose、features)

变通方案:使用 Feature entrypoint 进行运行时设置

如果你正在编写一个需要在容器启动时运行设置的 Dev Container Feature (例如,根据挂载卷中的内容配置文件) ,请使用该 Feature 的 entrypoint 字段,而不是生命周期命令。entrypoint 会在挂载完成后于每次容器启动时执行,并且完全自包含——使用你的 Feature 的用户无需修改他们的 devcontainer.json 在你的 devcontainer-feature.json 中,声明 entrypoint:
{
    "name": "my-feature",
    "id": "my-feature",
    "version": "1.0.0",
    "mounts": [
        { "type": "volume", "source": "my-volume", "target": "/data/my-dir" }
    ],
    "entrypoint": "/usr/local/share/my-feature/entrypoint.sh"
}
在你的 install.sh 中 (会在镜像构建时运行) ,编写 entrypoint 脚本:
#!/usr/bin/env bash
set -e
mkdir -p /usr/local/share/my-feature
cat > /usr/local/share/my-feature/entrypoint.sh << 'EOF'
#!/bin/sh
# 依赖挂载的设置(在每次 container 启动时运行,volume 已挂载)
if [ -d /data/my-dir ]; then
    mkdir -p /etc/myapp
    cp /data/my-dir/config /etc/myapp/config
fi
exit 0
EOF
chmod +x /usr/local/share/my-feature/entrypoint.sh
entrypoint 脚本应完成必要的设置后正常退出。不要在末尾加上 exec "$@"——CLI 自带的 entrypoint 脚本包装器会负责将控制权交给 container 命令。脚本应尽量保持精简,因为它会在 IDE 连接前同步执行。

WSL (测试版)

自 1.1.0 版本起,Devin Desktop 开始以测试版形式支持 Windows Subsystem for Linux。你必须先在 Windows 设备上完成 WSL 的设置和配置。 你可以点击左下角的 Open a Remote Window 按钮,或在命令面板中的 Remote-WSL 下访问 WSL。

扩展市场

你可以更改下载扩展时使用的市场。为此,请前往 Devin Settings,在 General 部分下修改 Marketplace URL 设置。

Devin Desktop 插件

在扩展搜索栏中搜索 “Devin Pyright”,或粘贴 @id:codeium.windsurfPyright