> ## 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 云端会话的 Local Hands

> 通过 Devin Desktop 或 devin connect，让 Devin 云端会话在您自己的计算机上运行命令和编辑文件，每次工具调用均需经您批准。

Local Hands (本机访问) 让 Devin 云端会话能够在您自己的计算机上运行命令并处理文件。如果任务依赖仅存在于您机器上的资源，就可以使用它，例如：含有未提交更改的本地代码检出、您网络中的设备、需要连接您的 VPN 才能使用的工具，或本地构建产生的日志。

您的计算机并不会取代会话的虚拟机。Devin 仍保留自己的虚拟机，同时额外获得一组在您机器上运行的工具。两台机器的文件、工作目录和环境彼此独立；Devin 只会通过经您批准的工具调用 (例如复制文件) 在两者之间传输数据。

> [!NOTE]
>
> Local Hands 正在逐步推出。如果您看不到 **Local Hands** 设置，说明该功能尚未向您的组织开放。

> [!NOTE]
>
> **Local Hands** 是该功能的名称；访问卡片和短暂通知中将其称为 **local machine access**。会话标头会将已连接的机器显示为 **Local Hands**。Local Hands 不同于 [Devin Connect](/zh/enterprise/deployment/devin-connect)，后者用于让 Devin 访问私有网络。

## 工作原理

**1. Devin 请求访问**

当某个任务需要使用你的机器时，Devin 会在会话中发布一张 **Local machine access requested** 卡片，说明请求原因及过期时间。在 Devin Desktop 中，卡片上会显示 **Approve** 按钮；在浏览器中，则会显示一条附带配对码的 `devin connect` 命令。你也可以直接提出要求，例如“在我的本地机器上运行测试”。

**2. 你连接自己的机器**

在你希望 Devin 使用的机器上批准该请求：在 Devin Desktop 中点击 **Approve**，或在终端中运行 `devin connect`。请参阅[连接你的机器](#connect-your-machine)。

**3. Devin 使用本地工具**

Devin 的本地工具随即可用，顶部栏会显示 **Local Hands** 标签。除非你开启 [bypass](#bypass-local-permissions)，否则每次工具调用都需要你批准。

**4. 连接结束**

当你撤销访问权限、停止 `devin connect`、关闭批准该请求的 Devin Desktop 窗口，或会话结束时，连接即告终止，本地工具也会随之失效。

## 要求

* 一个由你拥有的云端会话。Devin 会将配对码发放到会话所有者的账户，因此其他查看该会话的人无法连接自己的机器。没有用户可批准访问的会话 (例如计划会话、自动化，以及由服务用户运行的 API 会话) 无法请求机器。
* 在要连接的机器上安装 [Devin CLI](/zh/cli) 或 [Devin Desktop](/zh/desktop/introducing-devin-desktop)，并使用拥有该会话的同一 Devin 账户登录。如使用 CLI，请运行 `devin auth login`。
* 你的组织已开启 **Local Hands** 设置。请参阅[可用性](#availability)。

## 连接你的机器

最简单的方式是使用 Devin Desktop：在其中打开会话并点击 **Approve**。如果你在浏览器中工作，请在要连接的机器上打开终端，运行卡片上显示的 `devin connect` 命令。

每个请求均为一次性，在 Devin 发出后 10 分钟内有效。新请求会取代旧请求，旧的配对码随即失效。

**Devin Desktop**

在 Devin Desktop 中打开会话，卡片上会显示 **Approve** 和 **Decline**。点击 **Approve** 即可连接运行 Devin Desktop 的机器，无需配对码或终端。如果你更习惯使用 CLI，请点击 **Use the terminal instead** 以显示命令。

**终端**

从卡片中复制命令，并在要连接的机器上运行：

```bash theme={null}
devin connect <CODE>
```

运行该命令即表示批准，不会再有二次确认提示。该命令会在前台持续运行，输出 Devin 发起的每个工具调用，并保持连接，直到会话结束或你按下 `Ctrl+C`。

**devin --cloud**

对于通过 [`devin --cloud`](/zh/cli/cloud) 打开的云端会话，当 Devin 请求访问时，会自动连接该终端所在的机器。每个工具调用仍需经过你的批准。

如果请求已过期，请在 Devin Desktop 中点击卡片上的 **Connect this machine**，或在浏览器中点击 **Request a new code**。

### 会话隐私

当你将机器连接到自己拥有的会话时，Devin 会将该会话设为私有，即只有你能向其发送消息。这样可以防止你的组织中的其他人操控一个能在你的计算机上运行命令的会话。

如需保持会话的隐私设置不变，请传入 `--public`：

```bash theme={null}
devin connect --public <CODE>
```

## Devin 可以在您的机器上做什么

Devin 可以运行 Shell 命令、读取和搜索文件、创建和编辑文件，还能在您的机器与会话虚拟机之间复制文件。Devin 无法控制您机器上的屏幕、键盘或鼠标。[Computer Use](/zh/work-with-devin/computer-use) 仅适用于会话虚拟机。

## 审批

默认情况下，每次本地工具调用都会暂停并征求你的确认。会话会显示该工具及其参数，并提供三个选项：

* **Allow once**：运行本次调用。
* **Allow for this session**：运行本次调用，之后对同一工具的调用也将直接运行、不再提示，直到机器断开连接为止。
* **Deny**：拒绝本次调用。Devin 会收到拒绝结果，并可尝试其他方法。

你的 Devin CLI [权限规则](/zh/cli/reference/permissions)同样适用于本地工具调用。`allow` 规则会直接运行匹配的调用而不弹出提示，`deny` 规则会阻止该调用，`ask` 规则则会在每次调用时都弹出提示。其中也包括你的组织在[团队设置](/zh/cli/enterprise/team-settings)中配置的规则。

### 绕过本地权限

如需取消每次调用时的提示，请在访问卡片或 **Local Hands** 菜单中点击 **Bypass local permissions**。此后，本地工具调用将直接运行、不再提示，直到该机器断开连接为止。待处理的申请也会立即获批。

如需让每次连接都默认以 Bypass 模式启动，请在 Devin CLI 配置中设置 [`local_tools_bypass_permissions`](/zh/cli/reference/configuration/config-file#local_tools_bypass_permissions-user-only)。在会话中开启或关闭 Bypass 模式时，CLI 会同步更新此设置。

> [!WARNING]
>
> 开启 Bypass 模式后，Devin 无需询问即可在你的计算机上运行命令和修改文件。请仅在你信任的会话和任务中使用此模式。

### 始终需要询问的调用

内置规则会让某些调用每次都发起询问，即使开启了 bypass 也不例外。**Allow for this session** 和你自己的 `allow` 规则也无法批准这些调用。这类调用涉及凭据文件和私钥、权限提升、破坏性命令、shell 解释器、secrets 存储，以及写入 shell 配置文件和 Git 配置。批准卡片会说明该调用为何需要显式批准。你自己的 `ask` 规则和你的组织的 `ask` 规则也遵循同样的行为。

## 断开连接或撤销访问权限

* **撤销访问权限**：在访问卡片上或 **Local Hands** 菜单中点击 **Revoke access**。Devin 将立即无法使用本地工具。
* **停止 CLI**：在运行 `devin connect` 的终端中按 `Ctrl+C`。
* **关闭 Devin Desktop**：关闭批准该请求的 Devin Desktop 窗口或退出 Devin Desktop 后，连接即会断开。
* **结束会话**：会话结束后，连接也会随之关闭。

短暂断网后，`devin connect` 会自动重新连接。如果机器长时间离线或你停止了该命令，标签会将该机器显示为已断开连接。如需重新连接，请让 Devin 再次请求访问权限，并使用新的代码。

## 可用性

组织管理员可以通过 [**设置 > Devin**](https://app.devin.ai/settings/devin) 中的 **Local Hands** 开关控制此功能。对于不属于企业的组织，该开关默认开启；对于企业下的组织，该开关默认关闭。

以下情况下无法使用 Local Hands：

* 会话使用了[安全 Profile](/zh/product-guides/security-profiles)。
* 你的组织已关闭[原生部署](/zh/product-guides/deployment-capabilities)。
* 会话中没有可审批访问请求的用户 (计划会话、自动化以及服务用户 API 会话) 。

## 故障排查

| 症状 | 处理方法 |
| - | - |
| 卡片提示请求已过期 | 点击 **Request a new code** (在 Devin Desktop 中点击 **Connect this machine**) |
| 卡片提示此请求已被新的请求取代 | 使用最新卡片上的命令 |
| Devin Desktop 提示需要在此机器上登录 | 在 Devin Desktop 中登录 Devin，或在终端中运行 `devin connect` 命令 |
| `devin connect` 提示使用本地工具需要 Devin 账户 | 运行 `devin auth login` 并使用 Devin 账户登录 |
| 在浏览器中，卡片上没有 **Approve** 按钮 | 浏览器无法在你的机器上运行工具。请在终端中运行 `devin connect` 命令，或在 Devin Desktop 中打开该会话。 |
| 开启 Bypass 后，某个调用仍再次请求确认 | 该调用属于[始终询问的调用](#calls-that-always-ask) |

## 相关资源

> **[在 CLI 中使用 Devin Cloud](/zh/cli/cloud)**
>
> 在终端中启动和引导云端会话

> **[CLI 权限](/zh/cli/reference/permissions)**
>
> 为工具调用编写允许、询问和拒绝规则

> **[移交给云端 Devin](/zh/work-with-devin/devin-handoff)**
>
> 将本地任务转移到云端会话

> **[Computer Use](/zh/work-with-devin/computer-use)**
>
> Devin 如何使用其专属虚拟机的桌面


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.