默认情况下,Deep Agents Code 在运行可能产生后果的操作前会征求你的批准。这些操作称为有门槛的操作,包括:
  • 编辑或删除文件 (write_file, edit_file, delete)
  • 运行 shell 命令 (execute)
  • 发起网络请求 (web_search, fetch_url)
  • 将工作委派给子代理 (task)
像 ls、read_file、glob 和 grep 这样的只读工具总是无需提示即可运行。审批模式允许你选择每个会话需要对有门槛的操作进行多少监督。

选择模式

在会话期间,你可以随时使用 Shift+Tab 或 Ctrl+T 在手动和自动模式之间切换。YOLO 无法通过键盘快捷键进入。
自动模式是一个用于本地编码代理的授权启发式方法。它不是沙箱隔离、操作系统边界,也不是对模型生成操作安全性的保证。

启用自动模式

自动模式是一项实验性测试版功能。要使用它,需设置启用标志,然后为你的会话选择自动模式。

设置实验性启用标志

将环境变量添加到你的 shell 或 ~/.deepagents/.env 文件:

以自动模式启动

或者在 ~/.deepagents/config.toml 中将其设为默认值:
你也可以在会话中途使用 Shift+Tab 或 Ctrl+T 来开启或关闭自动模式。
如果在未设置实验性启用标志或沙箱会话中请求自动模式,它会发出警告并回退到手动模式。

启用 YOLO

YOLO 模式运行有门槛的操作而无需任何审查。仅当你接受代理可以在不询问的情况下采取任何操作时才使用它。

以 YOLO 启动

根据提示接受一次性风险确认。确认信息将存储在本地,以便在后续启动时不再显示。或者在 ~/.deepagents/config.toml 中将其设为默认值:
以 YOLO 模式启动的会话,在你按下 Shift+Tab 或 Ctrl+T 时会切换到手动模式。你无法通过键盘快捷键切换回 YOLO。

自动模式的工作原理

自动模式保持与手动模式相同的有门槛操作规则,但改变了审查这些操作的方式。它使用两个阶段:
  1. 常规操作自动运行。 向 src/parser.py 等源文件写入或 git status 等只读 Git 命令会在无提示的情况下执行。敏感目标如 .github/workflows/ci.yml 或变更命令如 git commit 会进入下一阶段。
  2. 模型审查其余内容。 对于任何明显不是常规的操作,当前活动的模型会检查该操作是否与你的要求匹配。只有你的字面提示才能授权一个操作。如果模型拒绝了一个调用,代理会收到错误结果并可以修改其计划。
在多次拒绝或分类器失败后,自动模式会停止,并为下一批操作向你显示正常的批准提示,然后继续以自动模式运行。

在副作用前重新验证

决策计划绑定到线程、模式、批次和确切的有门槛调用。缺少或无效的状态、模式竞争或重放会回退到人工审查。例如,如果你在分类器审查进行中切换到手动模式,早期的自动决策无法静默执行;相反,会打开正常的批准界面。

了解范围和限制

  • 手动批准菜单可以为当前线程启用自动模式。阈值回退可以永久切换到手动模式,或在保持自动模式启用的同时执行一次性审查。
  • 活动模型不是独立的安全机构。MCP 只读注解 作为一个刻意的测试版权衡被信任。
  • 父级自动审查不涵盖在委托的子代理内部或更广泛地显式配置的 js_eval 扇出中执行的操作。即使 TUI 隐藏了分类器输入和输出,模型提供商和追踪后端仍可能观察到它们。

自动模式和 YOLO 的可用性

自动模式和 YOLO 是交互模式的功能。它们在非交互模式(-n 或管道 stdin)或 ACP 服务器模式下不可用。无头运行使用故障关闭的 MCP 路由和 --shell-allow-list 进行 shell 访问。 自动模式也会在以下情况回退到手动模式:
  • 未设置 DEEPAGENTS_CODE_EXPERIMENTAL=1。
  • 激活了远程 --sandbox(自动模式仅适用于未沙箱的本地会话)。

参考

标志和配置优先级

--yolo 优先于 -y/--auto-approve,后者优先于 [startup].mode。

另请参阅