> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-docs-zh.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 提供者凭证

> 添加和管理模型提供者、Tavily 网络搜索和 LangSmith 追踪的 API 密钥

Deep Agents Code 需要对每个模型提供商使用 API 密钥。推荐通过 [`/auth`](#使用-/auth（推荐）) 凭据管理器添加密钥。对于非交互式运行，可通过 [`dcode auth`](#从-shell-管理凭据（dcode-auth）) 或设置 [环境变量](#环境变量（ci/无界面环境）) 管理已存储的密钥。

如果密钥在多个位置设置，请参考 [密钥优先级](#密钥优先级) 确认哪个生效。

关于 `.env` 加载顺序和 `DEEPAGENTS_CODE_` 前缀，请查阅 [配置](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration.md#环境变量)。

## 使用 `/auth`（推荐）

从任意会话中打开凭据管理器：

```txt theme={null}
/auth
```

凭据管理器会列出已安装的 LLM 提供商及其环境密钥状态，显示可从应用内添加的已知提供商（包括非模型服务如 Tavily 网页搜索），并包含其他非模型服务。选择提供商可添加/替换密钥、安装未安装提供商支持或删除已存储密钥。添加的密钥会跨会话持久化。

> [accordion] Provider row labels
>
> 每行显示提供商名称及其密钥来源：
>
> | 标签 | 含义 |
> | - | - |
> | `[stored]` | 通过 `/auth` 本地存储的密钥 |
> | `[env: VARNAME]` | 来自环境变量 `VARNAME`（实际名称如 `DEEPAGENTS_CODE_OPENAI_API_KEY` 或 `OPENAI_API_KEY`） |
> | `[missing]` | 未存储密钥且环境变量未设置；选择该行可粘贴密钥 |

`/auth` 提示词包含可选的 **基础 URL** 字段。留空使用提供商默认端点，或设置自定义端点。基础 URL 会与密钥一同存储。关于端点解析（包括网关）请参考 [端点、密钥与网关](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/config-file.md#端点、密钥和网关)。

> [!WARNING]
>
> 已存储的基础 URL 不是机密信息且可能被记录；与之配对的密钥永远不会被记录。

> [!NOTE]
>
> 密钥仅限于当前机器的用户账户。Deep Agents Code 仅将密钥传输至配置的提供商 API。

### 使用 ChatGPT 登录

选择 `openai_codex` 提供商并在 `/auth` 中启动浏览器登录流程，而非输入 API 密钥，从而使用 OpenAI 模型与 ChatGPT 订阅。重新认证或注销需再次选择 `openai_codex`。完整流程请参考 [使用 ChatGPT 登录（Codex 模型）](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/providers.md)。

`/auth` 管理语言模型提供商凭据、Tavily 网页搜索密钥和 LangSmith 追踪密钥。输入 Tavily 密钥可 [激活网页搜索](#启用-tavily-网页搜索)，输入 LangSmith 密钥可启用追踪。密钥也可从环境变量读取。可以在 [`~/.deepagents/.env` 或您的 shell](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration#环境变量) 中设置这些变量。

## 从 shell 管理凭据（`dcode auth`）

`dcode auth` 命令组是 `/auth` 管理器的脚本化等价物：无需启动图形界面，即可通过脚本管理凭据，适用于 dotfile 初始化、CI/CD 和通过 SSH 在远程机器设置密钥。子命令对应管理器的操作：

| 命令 | 描述 |
| - | - |
| `dcode auth list` (别名 `ls`) | 列出所有已知提供商及其密钥来源 |
| `dcode auth status <provider>` | 输出指定提供商的密钥来源 |
| `dcode auth set <provider>` | 存储API密钥（默认从 stdin 读取） |
| `dcode auth remove <provider>` (别名 `rm`, `delete`) | 删除存储凭据 |
| `dcode auth path` | 输出凭据存储路径（`auth.json`） |

`set` 默认从 stdin 读取密钥，因此密钥不会出现在 shell 历史或 `argv` 中。可通过管道输入密钥或使用 `--from-env VAR` 从环境变量复制：

```bash theme={null}
# Pipe the key in (stdin)
echo "$ANTHROPIC_API_KEY" | dcode auth set anthropic

# Copy it from an existing environment variable
dcode auth set openai --from-env OPENAI_API_KEY
```

> [!NOTE]
>
> `set` 不允许在交互式终端运行，避免因等待输入导致进程挂起。需通过 stdin 管道或 `--from-env VAR` 从环境变量获取密钥。存储的密钥与 `/auth` 同一存储机制，因此权限警告（例如 `auth.json` 文件权限问题）会输出至 stderr。

删除存储密钥或输出存储路径：

```bash theme={null}
dcode auth remove anthropic
dcode auth path
```

> [!NOTE]
>
> `dcode auth set` 仅管理 API 密钥。`openai_codex` 提供商使用 ChatGPT 浏览器登录而非 API 密钥，需运行 [`/auth` 并选择 `openai_codex`](#使用-chatgpt-登录) 登录。`dcode auth remove openai_codex` 会注销。

## 环境变量（CI/无界面环境）

对于非交互式运行、CI/CD 流水线或无图形界面环境，需导出提供商的环境变量：

```bash theme={null}
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."

# Prefix with DEEPAGENTS_CODE_ to scope a key to Deep Agents Code only,
# leaving a shared key used by other CI steps untouched
export DEEPAGENTS_CODE_OPENAI_API_KEY="sk-..."
```

若希望将密钥存储在文件中，可在 [`.env` 文件](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration#环境变量) 中定义。

## 密钥优先级

当同一提供商的密钥设置在多个位置时，Deep Agents Code 按以下顺序优先使用：

1. **`DEEPAGENTS_CODE_`-前缀环境变量** — 例如 `DEEPAGENTS_CODE_OPENAI_API_KEY`（直接 shell 导出）。[`DEEPAGENTS_CODE_` 前缀](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration#deepagents_code_-前缀) 是显式覆盖 Deep Agents Code 的密钥的标记。
2. **应用存储密钥** — 在 `/auth` 凭据管理器中输入的密钥。
3. **普通提供商环境变量** — 例如 `OPENAI_API_KEY`（来自 shell 或 `.env` 文件）。

应用存储密钥优先于普通环境变量密钥，但 `DEEPAGENTS_CODE_`-前缀密钥会覆盖应用存储密钥。前缀机制可在单次运行中覆盖已存储密钥，而无需清除原密钥：

```bash theme={null}
# With a key already stored via /auth, a plain env var does not override it.
# dcode still uses the app-stored key for this run:
OPENAI_API_KEY=sk-xxxx dcode -n "..."

# The DEEPAGENTS_CODE_ prefix does override it, for this run only:
DEEPAGENTS_CODE_OPENAI_API_KEY=sk-xxxx dcode -n "..."
```

这种层级设计适用于常见场景：您的机器已导出某个提供商的普通环境变量（例如 `OPENAI_API_KEY` 共享变量），但不想让 Deep Agents Code 使用。应用存储密钥或 `DEEPAGENTS_CODE_`-前缀变量可为 Deep Agents Code 提供独立值，同时保留原未前缀变量供其他工具使用，确保两者完全隔离。

每个提供商的 API 密钥及其端点（`base_url`）均从同一来源解析。关于端点与密钥的解析机制请参考 [端点、密钥与网关](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/config-file.md#端点、密钥和网关)。

## 启用 Tavily 网页搜索

内置的 `web_search` 工具使用 [Tavily](https://tavily.com)。Deep Agents Code 启动时若未提供密钥会显示 "Web search disabled" 提示。您可在 [`/auth`](#使用-/auth（推荐）) 凭据管理器]（Tavily 作为非模型服务显示）存储密钥，或设置 `TAVILY_API_KEY` 环境变量。

> [tab] Use /auth (recommended)
>
> 从 [tavily.com](https://tavily.com) 获取密钥（以 `tvly-` 开头；免费版适用于大多数 Deep Agents Code 使用场景），然后在凭据管理器中存储：
>
> ```txt theme={null}
> /auth
> ```
>
> 选择 **Tavily** 并粘贴密钥。也可直接通过 "Web search disabled" 提示选择 **输入 API 密钥**。

> [tab] Set an environment variable
>
> **1. Get a key**
>
> 在[tavily.com](https://tavily.com)注册并复制密钥（以`tvly-`开头）。免费套餐适用于大多数Deep Agents Code的使用。
>
> **2. Add it to your environment**
>
> 将密钥添加到`~/.deepagents/.env`，以便每次会话都能捕获它：
>
> ```bash title="~/.deepagents/.env" theme={null}
> TAVILY_API_KEY=tvly-...
> ```
>
> Shell导出优先于`.env`值（参见[加载顺序和优先级](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration.md#加载顺序和优先级)）。若需仅将密钥作用于Deep Agents Code而不影响其他读取`TAVILY_API_KEY`的工具，请使用[`DEEPAGENTS_CODE_`前缀](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration#deepagents_code_-前缀)：`DEEPAGENTS_CODE_TAVILY_API_KEY=tvly-...`。
>
> **3. Reload or restart**
>
> 在现有会话中运行`/reload`以重新读取`.env`文件。下次启动时，“网页搜索已禁用”提示将消失，智能体能调用`web_search`。

## 参考链接

* [配置](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/configuration.md)
* [配置文件](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/config-file.md)
* [提供商](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/providers.md)
* [快速入门](https://langchain-docs-zh.mintlify.site/langchain/oss/deepagents/code/quickstart.md)

***

> 官方原文：[src/oss/deepagents/code/credentials.mdx](https://github.com/langchain-ai/docs/blob/main/src/oss/deepagents/code/credentials.mdx) · 非官方翻译，译文由 AI 生成，以英文原文为准。


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