以编程方式使用文档

Deep Agents Code 支持任意 与 LangChain 兼容的聊天模型提供商,可使用几乎所有支持工具调用的 LLM。任何公开 OpenAI 兼容或 Anthropic 兼容 API 的服务均可开箱即用——请参阅 兼容的 API.

快速入门

Deep Agents Code 自动集成 以下模型提供商:除了安装相关的提供商包外,无需额外配置。

  1. **安装提供商包**

每个模型提供商都需要其对应的 LangChain 集成包。这些包作为可选扩展项发货,以保持应用程序轻量。OpenAI、Anthropic 和 Gemini 默认包含。在会话中使用以下命令安装其他扩展 /install,或从 shell 使用 dcode --install:

        /install groq
        
        dcode --install groq
        

运行 /install 时不带参数以列出有效的扩展。要在初始 CLI 安装期间预装扩展,请设置 DEEPAGENTS_CODE_EXTRAS:

    DEEPAGENTS_CODE_EXTRAS="baseten,groq" curl -LsSf https://langch.in/dcode | bash
    
  1. **设置凭证**

使用以下方式为提供商添加 API 密钥 /auth 凭证管理器:

    /auth
    

For non-interactive runs, CI/CD, or anywhere a TUI isn't available, store the same key from the shell with dcode auth set ,或改而设置提供商的环境变量。请参阅 提供商凭证 ,了解完整密钥解析顺序、 DEEPAGENTS_CODE_ 前缀 (用于将密钥限定到 Deep Agents Code),以及 提供商参考 ,了解每个提供商的环境变量。

要配置模型参数,请参阅 模型参数.

提供商参考

Deep Agents Code 使用 Python 构建,请参阅 Python 提供商参考文档.

模型路由器和代理

模型路由器(如 OpenRouterLiteLLM 通过单一端点提供对多个提供商模型的访问。

请使用这些服务的专用集成包:

路由器
OpenRouterlangchain-openrouter

OpenRouter 是一个内置 Provider——安装额外包并直接使用:

    /install openrouter
    
    dcode --install openrouter
    

LiteLLM 也是一个内置 Provider:

    /install litellm
    
    dcode --install litellm
    

切换模型

要在 Deep Agents Code 中切换模型,请执行以下任一操作:

  1. **使用交互式模型切换器** 配合 /model command.

  1. **直接指定模型名称** 作为参数,例如 /model gpt-5.5。你可以使用所选 Provider 支持的任何模型,无论它是否出现在选项 1 的列表中。模型名称将被传递到 API 请求中。
  2. **在启动时指定模型** 通过 --model, e.g.
    dcode --model openai:gpt-5.5
    

Model resolution order

当 Deep Agents Code 启动时,它按以下顺序解析要使用的模型:

  1. **--model 标志** 提供时始终优先。
  2. **[models].default** in ~/.deepagents/config.toml——用户有意的长期偏好。
  3. **[models].recent** in ~/.deepagents/config.toml——最后通过 /model切换到的模型。自动写入;从不覆盖 [models].default.
  4. **环境自动检测**:回退到第一个可用的启动凭证,按顺序检查: OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, GOOGLE_CLOUD_PROJECT (Vertex AI)。

此启动回退仅检查这四个凭证。其他支持的 Provider(例如 Groq)仍可通过 --model, /model,以及保存的默认值([models].default / [models].recent).

切换器中显示哪些模型

/model 选择器根据已安装的 Provider 包动态构建其列表。展开下方查看完整标准和故障排除。

How the switcher builds its model list

交互式 /model 选择器根据已安装的 Provider 包和 config.toml.

中出现配置的模型构建其列表。模型在以下情况下出现:

  1. Provider 包已安装。
  2. 模型可从 Provider 包、本地 Provider 或你的 config.toml.
  3. 模型配置文件中未将文本输入或输出标记为不支持。

如果模型缺失,请使用 /model <provider>:<model> 直接指定,或将其添加到 [[models.providers.<name>].models](/oss/javascript/deepagents/code/configuration#adding-models-to-the-interactive-switcher).

开源权重模型

如果你想使用开源权重模型,根据你偏好本地还是云托管推理,有两条常见路径。

使用 Ollama 进行本地推理 是免费入门的最简单方式,无需 API 密钥:

  1. 安装 Ollama 并拉取一个模型,例如:
    ollama pull qwen3:4b
    
  1. 安装 Ollama 扩展:
        /install ollama
        
        dcode --install ollama
        
  1. 选择模型:
        /model
        
        dcode --model ollama:qwen3:4b
        

使用交互式切换器,或直接通过以下方式传递模型 /model ollama:qwen3:4b.

通过 Groq 使用云托管的开源权重 让您无需在本地运行任何内容即可获得快速推理:

  1. 在以下网址获取免费 API 密钥 console.groq.com.
  1. 安装 Groq 扩展:
        /install groq
        
        dcode --install groq
        
  1. 选择模型:
        /model
        
        GROQ_API_KEY="your-api-key" dcode --model groq:openai/gpt-oss-120b
        

使用交互式切换器,或直接通过以下方式传递模型 /model groq:openai/gpt-oss-120b.

Fireworks 是另一个流行的开源模型云提供商:

    /install fireworks
    /model
    
    dcode --install fireworks
    FIREWORKS_API_KEY="your-api-key" dcode --model fireworks:accounts/fireworks/models/deepseek-v4-pro
    

使用交互式切换器,或直接通过以下方式传递模型 /model fireworks:accounts/fireworks/models/deepseek-v4-pro.

Baseten 是另一个开源模型云提供商:

    /install baseten
    /model
    
    dcode --install baseten
    BASETEN_API_KEY="your-api-key" dcode --model baseten:moonshotai/Kimi-K2.7-Code
    

使用交互式切换器,或直接通过以下方式传递模型 /model baseten:moonshotai/Kimi-K2.7-Code.

Together, **OpenRouter**、和 **Hugging Face** (langchain-huggingface)是云托管开源模型的其他选项。请参阅 提供商参考 了解凭证和包名称。

设置默认模型

您可以设置一个持久默认模型,该模型适用于所有未来 CLI 启动:

  • * **通过模型选择器:** 打开 /model,导航到所需的模型,然后按 Ctrl+S 将其固定为默认。按 Ctrl+S 再次按下当前默认模型可将其清除。
  • * **通过命令:** /model --default provider:model (e.g., /model --default anthropic:claude-opus-4-8)
  • * **通过配置文件:** 设置 [models].default in ~/.deepagents/config.toml (请参阅 配置).
  • * **从 shell:**
    dcode --default-model anthropic:claude-opus-4-8
    

查看当前默认设置:

dcode --default-model

清除默认设置:

  • * **从 shell:**
    dcode --clear-default-model
    
  • * **通过命令:** /model --default --clear
  • * **通过模型选择器:** 按 Ctrl+S 当前固定的默认模型。

没有默认设置时,Deep Agents Code 使用最近使用的模型。

模型参数

Pass extra constructor kwargs to the model—sampling controls, reasoning/thinking budgets, context window sizes, request timeouts, and anything else the underlying chat-model class accepts. Three places to set them, in priority order (highest first):

  1. **启动时一次性设置 --model-params.** JSON 字符串,仅会话有效:
    # OpenAI reasoning effort
    dcode --model openai:gpt-5.5 --model-params '{"reasoning": {"effort": "high"}}'

    # Anthropic extended thinking
    dcode --model anthropic:claude-opus-4-8 --model-params '{"thinking": {"type": "enabled", "budget_tokens": 10000}, "max_tokens": 16000}'
    
  1. **会话中期通过 /model --model-params.** 相同的 JSON 语法——无需重启即可交换参数(以及可选的模型):
    /model --model-params '{"temperature": 0.7}' anthropic:claude-opus-4-8
    /model --model-params '{"num_ctx": 16384}'           # opens selector, applies params to choice
    
  1. **持久化于 config.toml.** 提供商级别的默认配置(带有可选的每个模型子表),在每次启动时应用:
    [models.providers.anthropic.params]
    thinking = { type = "enabled", budget_tokens = 10000 }
    max_tokens = 16000

    [models.providers.openai.params]
    reasoning = { effort = "high", summary = "auto" }
    output_version = "responses/v1"

    [models.providers.ollama.params]
    num_ctx = 16384
    temperature = 0

    # Per-model override—wins over provider-level keys
    [models.providers.ollama.params."qwen3:4b"]
    temperature = 0.5
    

CLI 标志覆盖配置文件 params 并且仅在会话期间有效(会话期间的更改不会持久化)。中的每个模型子表 config.toml 覆盖提供商级别的键(浅层合并——参见 模型构造函数参数 了解完整语义)。 --model-params 不能与 --default.

对于重试次数,请优先使用 --max-retries 或顶层 [[retries] config](/oss/javascript/deepagents/code/configuration#retries).

要覆盖模型运行时的字段 *配置文件* (max_input_tokens, tool_calling、功能标志)——与构造函数参数不同——参见 配置文件覆盖.

高级配置

有关提供商参数、配置文件覆盖、自定义基础 URL、兼容 API、任意提供商的详细配置以及生命周期钩子,请参阅 配置.