Skip to main content

终端中的 Command

在终端中使用我们的 Command 功能 (Cmd/Ctrl+I) ,可根据自然语言提示生成正确的 CLI 命令语法。

将终端中选定的内容发送到 Agent

选中部分堆栈跟踪信息,然后按 Cmd/Ctrl+L 将其发送到 Agent 面板。你可以在下一条提示中引用这段选中的内容。

@提及你的终端

与 Agent 聊聊你当前正在使用的终端。

Agent 自动执行命令

在获得用户许可的情况下,Agent 可以自行运行终端命令。你可以通过四种不同的自动执行级别来配置 Agent 如何处理命令执行;此外,某些终端命令还可以通过 Allow 和 Deny 列表自动接受或拒绝。

自动执行级别

自动执行级别适用于 Cascade。Devin Local agent 使用其自身的权限模型取代这些级别,改为通过允许、询问和拒绝规则控制命令执行。
Devin Desktop 提供四个命令自动执行级别,让你可以控制 Agent 如何运行终端命令: 你可以通过编辑器右下角的 Devin 设置面板选择首选的自动执行级别。

由管理员控制的最高级别 (团队版和 Enterprise)

对于团队版和 Enterprise 用户,管理员可以为其 organization 设置允许的自动执行最高级别。此设置会限制团队成员可用的级别,使管理员既能执行安全策略,又能让用户在该范围内保有一定的灵活性。 当管理员设置了最高级别后,用户可以选择该最高级别及以下的任一级别。例如,如果管理员将最高级别设为“自动”,用户可以选择已禁用、仅允许名单 或 自动,但不能启用 Turbo 模式。 管理员可以在 管理门户 的团队设置中配置此设置。

团队级命令列表 (Teams & Enterprise)

管理员可以为适用于所有团队成员的终端命令配置团队级允许列表和拒绝列表。这些列表会与用户个人的允许/拒绝列表同时生效。 关键行为:
  • 团队和用户配置会合并:团队级列表会与每位用户各自的允许列表和拒绝列表合并。命中团队或用户允许列表的命令都会自动执行 (除非被拒绝列表拦截) 。
  • 拒绝列表优先于允许列表——如果某个命令同时匹配两个列表 (无论是在团队级还是用户级) ,都需要获得批准
要配置团队级命令列表,请前往 Admin Portal → 团队设置 → 终端命令 → 管理列表。

允许列表

允许列表定义了一组始终自动执行的终端命令。以 * 结尾的条目会匹配所有以相同令牌开头的命令;其他条目则只匹配完全一致的命令。例如,如果允许列表中有 git *,agent 就会始终接受 git add -A。 你可以在 agent 的终端命令卡片上管理允许列表:
  • 当 agent 等待批准时,打开 Run 旁边的下拉菜单。在 允许列表 下选择 Prefix,即可自动运行所有以该基础命令开头的命令 (例如 git *) ;选择 Allow 则仅自动运行完全一致的该条命令。
  • 对于已经运行过的命令,打开 Auto-run settings (命令卡片上的设置图标) ,选择同样的选项即可。
再次选中已高亮的条目,即可将其从允许列表中移除。

Deny list

deny list 定义了一组永远不会自动执行的终端命令。例如,如果 rm * 在你的 deny list 中,那么 agent 每次运行 rm index.py 前都会请求授权。 要将某个命令加入 deny list,请打开 Run 旁边的同一个 dropdown (如果该命令已经运行过,则是 Auto-run settings) ,然后选择 Deny。这会拒绝所有以该基础命令开头的命令。再次选择 Deny 即可将其移除。
这些用户级的 allow 和 deny list 适用于 Cascade。对于 Devin Local agent,请改为在 Devin Local settings 的 Allow、Deny 和 Ask 中配置命令 patterns。规则语法请参阅权限。团队级列表在 Admin Portal 中单独管理,详见上文的 Team-Wide Command Lists。

专用终端

Devin Desktop 为 agent 提供了一个专用终端,供其在 macOS 和 Linux 上运行命令。 该专用终端独立于你的默认终端,并在各平台上使用固定的 shell:macOS 上为 zsh,Linux 上为 bash。
该专用终端会沿用你对该 shell 的配置,因此 shell 配置文件 (例如 macOS 上的 .zshrc 或 Linux 上的 .bashrc) 中的 alias 和环境变量都可以正常使用。 如果你的默认终端使用的是其他 shell,而你希望 Devin Desktop 共用同一套环境变量,我们建议创建一个两种 shell 都能 source 的共享配置文件。

故障排查

如果专用终端出现问题,你可以在 Devin Desktop 设置中启用“Legacy Terminal Profile”选项,切换回旧版终端。