Deep Agents Code 需要为你使用的每个模型提供商提供一个 API 密钥。推荐的添加方式是使用 /auth 凭证管理器。对于非交互式运行,可以通过 shell 使用 dcode auth 管理相同的已存储密钥,或改为设置环境变量。 如果同一个密钥在多个地方设置了,请参阅密钥解析顺序以了解哪一个会生效。 关于 .env 加载顺序和 DEEPAGENTS_CODE_ 前缀,请参阅配置。

使用 /auth(推荐)

从任何会话中打开凭证管理器:
该管理器会列出已安装的 LLM 提供商及其是否有环境密钥设置,显示你可以在应用内添加的已知提供商,并包括非模型服务,如 Tavily 网络搜索。选择一个提供商以添加或替换其密钥、为未安装的提供商安装支持,或移除你已存储的提供商。你添加的密钥将跨会话持久保存。
每行显示提供商名称,后跟其密钥来源:
/auth 提示符还有一个可选的基础 URL 字段。留空则使用提供商的默认端点,或设置一个自定义端点与该密钥一起使用。基础 URL 与密钥一起保存。有关端点解析方式(包括使用网关的情况),请参阅端点、密钥和网关。
存储的基础 URL 不是机密,可能会被记录;与其配对的密钥绝不会被记录。
密钥的作用域限定为你在此机器上的用户账户——Deep Agents Code 绝不会将密钥传输到配置的提供商 API 之外的任何地方。

使用 ChatGPT 登录

在 /auth 中选择 openai_codex 提供商会启动浏览器登录,而不是提示输入 API 密钥,让你可以使用 ChatGPT 订阅来使用 OpenAI 模型。要重新认证或登出,请再次选择 openai_codex。完整流程请参阅使用 ChatGPT 登录(Codex 模型)。 /auth 管理 LLM 提供商凭证、Tavily 网络搜索密钥和 LangSmith 跟踪。输入 Tavily 密钥以在下次启动时激活网络搜索。输入 LangSmith 密钥以启用跟踪。密钥也会从环境中读取。你可以在 ~/.deepagents/.env 或你的 shell 中设置它们。

从 shell 管理凭证(dcode auth)

dcode auth 命令组是 /auth 管理器的可脚本化等效项:它管理相同的已存储凭证,而无需启动 TUI,这使得它可以用于点文件引导、CI/CD 以及通过 SSH 在远程机器上设置密钥。子命令反映了模态框的动词: set 默认从 stdin 读取密钥,因此它绝不会出现在 shell 历史记录或 argv 中。通过管道传入密钥,或使用 --from-env VAR 从进程环境变量中复制:
set 会拒绝在交互式终端中运行,以防止意外调用挂起等待输入——请通过 stdin 管道传入密钥或使用 --from-env VAR。存储的密钥经过与 /auth 相同的存储,因此警告(例如,关于 auth.json 文件权限的警告)会打印到 stderr。
删除一个已存储的密钥或打印存储位置:
dcode auth set 仅管理 API 密钥。openai_codex 提供商使用 ChatGPT 浏览器登录而非 API 密钥,因此要登录,请运行 /auth 并选择 openai_codex。dcode auth remove openai_codex 确实会将你登出。

环境变量(CI 和无头模式)

对于非交互式运行、CI/CD 管道或任何没有 TUI 可用的场景,请在你的 shell 中导出提供商的环境变量:
要将密钥保存在文件中,可以在 .env 文件中定义它们。

密钥解析顺序

当一个提供商的密钥在多个地方设置了时,Deep Agents Code 使用其中第一个被设置的:
  1. 带 DEEPAGENTS_CODE_ 前缀的环境变量 —— 例如 DEEPAGENTS_CODE_OPENAI_API_KEY 作为内联 shell 导出。DEEPAGENTS_CODE_ 前缀是显式的 “在 Deep Agents Code 中使用此密钥” 覆盖。
  2. 应用存储的密钥 —— 在 /auth 凭证管理器中输入的。
  3. 提供商原始环境变量 —— 例如 OPENAI_API_KEY,来自你的 shell 或 .env 文件。
对于同一个提供商,应用存储的密钥优先于原始环境变量密钥,但带 DEEPAGENTS_CODE_ 前缀的密钥优先于应用存储的密钥。这个前缀是为单次运行覆盖已存储密钥的方式,无需清除它:
这种分层机制适用于常见情况:你的机器已经为其他目的导出了一个原始提供商变量——一个共享的 OPENAI_API_KEY,被其他工具、脚本或 CI 使用——你不想让 Deep Agents Code 重用它。应用存储的密钥或带 DEEPAGENTS_CODE_ 前缀的变量为 Deep Agents Code 提供其自身的值,同时保留未加前缀的变量供其他所有内容使用,因此两者永远不会混合。 每个提供商的 API 密钥及其端点(base_url)作为一对从同一个来源解析。请参阅端点、密钥和网关。

使用 Tavily 启用网络搜索

内置的 web_search 工具使用 Tavily。Deep Agents Code 会在启动时显示 “Web search disabled”(网络搜索已禁用)通知,直到你提供密钥。你可以在 /auth 凭证管理器中存储该密钥(Tavily 作为非模型服务显示),或设置 TAVILY_API_KEY 环境变量。
从 tavily.com 获取一个密钥(以 tvly- 开头;免费套餐足以满足大多数 Deep Agents Code 使用需求),然后将其存储在凭证管理器中:
从列表中选择 Tavily 并粘贴密钥。你也可以通过 “Web search disabled”(网络搜索已禁用)通知直接进入此提示,选择 Enter API key(输入 API 密钥)。

另请参阅