配置 Deep Agents
通过 config.toml、环境变量、Hooks 和 MCP 服务器深度定制 Deep Agents Code
从"开箱即用"到"按需调优"的完整配置指南为什么需要它
你有没有试过在多个项目间切换不同的 LLM Provider?
无配置管理的困境
- API 密钥散落在各个
.env文件中,无法统一管理 - 不同项目需要不同模型参数,只能手动反复调整
- 本地 Ollama 和云端 API 切来切去,没有统一的 Provider 管理
- 主题、更新策略各自为政,团队协作配置不一致
- 想对生命周期事件做自动化?没有钩子机制
Deep Agents 的解法
- 所有配置集中在
~/.deepagents/,一处管理所有设置 - 全局 + 项目级
.env文件,灵活覆盖不冲突 - Provider 配置支持按模型覆盖参数,精细控制每个模型
- 自定义主题 + 终端映射,自动适配不同环境
- Hooks 钩子系统响应生命周期事件,自动化一切
配置文件总览
所有配置集中在 ~/.deepagents/ 目录下
| 文件 | 格式 | 用途 |
|---|---|---|
config.toml |
TOML | 模型默认值、Provider 设置、构造函数参数、Profile 覆盖、主题、更新设置 |
.env |
Dotenv | 全局 API 密钥和密钥(如 OPENAI_API_KEY) |
hooks.json |
JSON | 订阅 Deep Agents Code 生命周期事件的外部工具 |
.mcp.json |
JSON | 全局 MCP 服务器定义 |
目录结构
~/.deepagents/
config.toml # 主配置文件:模型、Provider、主题、更新等
.env # API 密钥(所有项目共享)
hooks.json # 生命周期钩子(响应 Agent 事件)
.mcp.json # MCP 服务器定义(全局工具扩展)
.state/ # 运行时状态(自动管理,不要手动修改)
快速开始
/auth— 管理 Provider 凭证/model— 切换模型/agents— 切换 Agent/theme— 切换主题/reload— 重载配置
~/.deepagents/.state/ 目录下的文件保存运行时状态,由系统自动管理,不要手动修改。
Provider 凭证
两种方式管理 API 密钥:/auth 命令或环境变量
Deep Agents Code 按以下优先级检查凭证:已存储的密钥 > 环境变量。
推荐:/auth 命令
在任意会话中输入 /auth 打开凭证管理器。
| 标签 | 含义 |
|---|---|
credentials set | 已有密钥可用 |
missing XXX_KEY | 未设置,按 Enter 粘贴 |
local provider | 无需凭证(如 Ollama) |
implicit auth | 隐式认证(如 Vertex AI) |
custom auth | 使用 class_path 自行管理认证(mTLS、JWT 等) |
密钥仅保存在本地
CI/无头模式:环境变量
适合非交互式运行,写入 ~/.deepagents/.env 或导出环境变量:
# 适用于 CI/CD 或无头模式——密钥在 shell 关闭后失效
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export DEEPSEEK_API_KEY="sk-..." # DeepSeek V4 系列(需安装 langchain-deepseek)
工具凭证(如 TAVILY_API_KEY)只能通过环境变量设置,/auth 不管理。
.env > 全局 ~/.deepagents/.env。/reload 会重新读取 .env 文件,无需重启。
环境变量加载
两级 .env 文件 + shell 环境变量,优先级清晰不冲突
加载顺序
- 项目
.env— 当前工作目录 - 全局
~/.deepagents/.env— 所有项目共享
已在 shell 中设置的值永远不会被覆盖。
优先级(高到低)
- shell 环境变量
- 项目
.env - 全局
~/.deepagents/.env
# ~/.deepagents/.env — 全局共享密钥(所有项目通用)
ANTHROPIC_API_KEY=sk-ant-... # Anthropic Claude 系列模型
OPENAI_API_KEY=sk-... # OpenAI GPT 系列模型
DEEPSEEK_API_KEY=sk-... # DeepSeek V4 系列(需安装 langchain-deepseek)
LANGSMITH_API_KEY=lsv2_... # LangSmith 追踪和沙箱
TAVILY_API_KEY=tvly-... # Tavily 网络搜索工具
web_search 工具使用 Tavily。按照以下三步配置即可启用。
步骤 1:获取密钥
在 tavily.com 注册并复制密钥(以 tvly- 开头)。免费额度足以满足大多数 Deep Agents Code 使用场景。
步骤 2:添加到环境
将密钥添加到 ~/.deepagents/.env:
TAVILY_API_KEY=tvly-...
或在 shell 中导出:export TAVILY_API_KEY=tvly-...
使用 DEEPAGENTS_CODE_ 前缀隔离(仅作用于 Deep Agents,不影响其他工具):
# 前缀隔离——仅 Deep Agents Code 读取此密钥,不影响其他工具
DEEPAGENTS_CODE_TAVILY_API_KEY=tvly-...
步骤 3:重载或重启
在已有会话中运行 /reload 重新读取 .env 文件。下次启动时,"Web search disabled" 通知将消失,Agent 即可调用 web_search。
前缀覆盖机制
DEEPAGENTS_CODE_ 前缀让 Deep Agents 读取独立的密钥值
前缀的核心用途:为 Deep Agents Code 指定独立密钥,不影响其他工具读取同名环境变量。
# ~/.deepagents/.env
# 仅覆盖 Deep Agents Code 使用的 OPENAI_API_KEY,其他工具仍读取原始值
DEEPAGENTS_CODE_OPENAI_API_KEY=sk-cli-only
# 设为空值可屏蔽shell 中导出的密钥,使 Deep Agents Code 无法使用它
DEEPAGENTS_CODE_ANTHROPIC_API_KEY=
读取逻辑
Deep Agents Code 先检查 DEEPAGENTS_CODE_{NAME},然后回退到 {NAME}。
这意味着你可以为 Deep Agents 单独配置一套密钥,而不影响已导出的 shell 变量。
动态重载
执行 /reload 时会重新读取 .env 文件并加载带前缀的值。
因此你可以无需重启即可轮换密钥。
OPENAI_API_KEY 已在 shell 中为其他工具导出,但 Deep Agents 需要用不同的密钥或代理端点——用 DEEPAGENTS_CODE_OPENAI_API_KEY 即可隔离。
默认模型与 Agent
在 config.toml 中设置长期偏好,命令行切换不会覆盖默认值
# ~/.deepagents/config.toml
[models]
default = "ollama:qwen3:4b" # 长期偏好
recent = "google-genai:gemini-3.1-pro-preview" # 最近 /model 切换(自动写入)
[agents]
default = "backend-dev" # 长期偏好(Ctrl+S 固定)
recent = "frontend-dev" # 最近 /agents 切换(自动写入)
模型优先级
default始终优先于recent/model只写入recent,不覆盖default- 清除默认:
/model --default --clear
Agent 优先级
default始终优先于recentEnter写入recent,Ctrl+S写入default-a参数覆盖两者-r/--resume绕过两者,恢复线程原来的 Agent
/model 试试新模型,不会丢失你的日常首选。
Provider 配置
每个 Provider 是 [models.providers] 下的一个 TOML 表
[models.providers.<name>]
models = ["gpt-4o"] # 切换器中显示的模型
api_key_env = "OPENAI_API_KEY" # 密钥环境变量名
base_url = "https://api.openai.com/v1" # 可选:覆盖默认 URL
class_path = "my_package.models:MyChatModel" # 可选:自定义 Provider
enabled = true # 可选:是否在切换器中显示
[models.providers.<name>.params]
temperature = 0 # 适用于此 Provider 的所有模型
max_tokens = 4096
[models.providers.<name>.params."gpt-4o"]
temperature = 0.7 # 仅覆盖 gpt-4o 的 temperature
| 字段 | 类型 | 说明 |
|---|---|---|
models | string[] | 切换器中显示的模型列表,可选 |
api_key_env | string | 密钥环境变量的名称(非密钥本身) |
base_url | string | 覆盖 Provider 默认 URL |
params | object | 传递给构造函数的额外参数 |
profile | object | 覆盖模型运行时 Profile |
class_path | string | 自定义模型类的完全限定路径 |
enabled | boolean | 是否在 /model 切换器中显示 |
按模型覆盖参数
在 params 下用模型名为键的子表,覆盖个别值无需复制整个配置
[models.providers.ollama]
models = ["qwen3:4b", "llama3"] # 在 /model 切换器中显示的模型列表
[models.providers.ollama.params]
temperature = 0 # Provider 级别默认:确定性输出,适合代码生成
num_ctx = 8192 # 上下文窗口大小(token 数)
[models.providers.ollama.params."qwen3:4b"]
temperature = 0.5 # 模型级覆盖:qwen3:4b 用更高 temperature 增加多样性
num_ctx = 4000 # 模型级覆盖:qwen3:4b 使用更小的上下文窗口
qwen3:4b 最终参数
temperature: 0.5— 模型级覆盖num_ctx: 4000— 模型级覆盖
llama3 最终参数
temperature: 0— Provider 级默认num_ctx: 8192— Provider 级默认
--model-params CLI 标志临时覆盖,优先级高于配置文件。
Profile 覆盖
高级功能:覆盖模型运行时 Profile,改变 Deep Agents 解读模型能力的方式
最常见的用例是降低 max_input_tokens 以更早触发自动摘要——适用于测试或限制上下文使用量。
# 应用于此 Provider 的所有模型(触发自动摘要的阈值)
[models.providers.anthropic.profile]
max_input_tokens = 4096 # 限制最大输入 token,超出时自动压缩上下文
# 此模型获得更高的限制(模型级覆盖优先)
[models.providers.anthropic.profile."claude-sonnet-4-5"]
max_input_tokens = 8192 # claude-sonnet-4-5 单独放宽到 8192
配置文件方式
在 config.toml 中设置 Profile 覆盖,持久生效。优先级链:
模型默认值 < config.toml profile < CLI --profile-override
CLI 临时覆盖
dcode --profile-override \
'{"max_input_tokens": 4096}'
# 与 --model 结合
dcode --model google-genai:gemini-3.1-pro \
--profile-override \
'{"max_input_tokens": 4096}'
--profile-override 在 /model 热切换后持续有效。
自定义端点
通过 base_url 指向代理、网关或兼容 API
自定义 Base URL
某些 Provider 接受 base_url 来覆盖默认端点:
[models.providers.ollama]
base_url = "http://your-host:port" # 指向局域网或远程 Ollama 实例
OpenAI 兼容 API
复用 langchain-openai 包指向兼容端点:
[models.providers.openai]
base_url = "https://api.example.com/v1" # 兼容 OpenAI 的自定义端点
api_key_env = "EXAMPLE_API_KEY" # 指向存放密钥的环境变量名
models = ["my-model"] # 在切换器中显示的模型列表
Anthropic 兼容 API
复用 langchain-anthropic 包指向兼容端点:
[models.providers.anthropic]
base_url = "https://api.example.com" # 兼容 Anthropic 的自定义端点
api_key_env = "EXAMPLE_API_KEY" # 指向存放密钥的环境变量名
models = ["my-model"] # 在切换器中显示的模型列表
DeepSeek 兼容 API
复用 langchain-deepseek 包指向兼容端点(如硅基流动 SiliconFlow):
[models.providers.deepseek]
base_url = "https://api.siliconflow.cn/v1" # 兼容 DeepSeek 的第三方端点
api_key_env = "DEEPSEEK_API_KEY" # 密钥环境变量名
models = ["deepseek-v4-pro", "deepseek-v4-flash"] # V4 系列模型
[models.providers.openai.params]
use_responses_api = false # 禁用 Responses API,回退到 Chat Completions API
切换器添加模型
某些 Provider 不内置模型 Profile,需要手动配置切换器列表
[models.providers.ollama]
models = ["llama3", "mistral", "codellama"] # 手动列出模型,绕过 Profile 筛选
配置后,/model 切换器会出现 Ollama 分区并列出这些模型。
手动配置 models 列表
- 适用于所有 Provider
- 列表中的模型绕过 Profile 筛选条件
- 始终显示在切换器中
- 新发布模型的最佳添加方式
Ollama 自动发现
- 当守护进程可达时自动生效
- 自动发现本地已拉取的模型
- 拉取新模型后运行
/reload刷新 - 关闭:
DEEPAGENTS_CODE_OLLAMA_DISCOVERY=0
/model ollama:llama3 直接切换。models 列表只是让模型出现在交互式选择器中。
自定义 Provider
用 class_path 接入任何 LangChain BaseChatModel 子类
[models.providers.my_custom]
class_path = "my_package.models:MyChatModel" # 模块路径:类名格式
api_key_env = "MY_API_KEY" # 密钥环境变量名(非密钥本身)
base_url = "https://my-endpoint.example.com" # 自定义 API 端点
[models.providers.my_custom.params]
temperature = 0 # 确定性输出,适合代码生成
max_tokens = 4096 # 最大输出 token 数
实例化过程
切换到 my_custom:my-model-v1 时:
MyChatModel(
model="my-model-v1", # 自动传入你选择的模型名
base_url="...", # 来自 config.toml 的 base_url
api_key="...", # 来自 api_key_env 指向的环境变量
temperature=0, # 来自 params 配置
max_tokens=4096 # 来自 params 配置
)
安装要求
Provider 包必须与 deepagents-code 安装在同一 Python 环境中:
# uv tool 安装方式
uv tool install deepagents-code \
--with my_package
[models.providers.xyz.profile] tool_calling = true
自定义认证示例
适用于 mTLS、JWT、自定义请求头等认证方式:
[models.providers.xyz]
class_path = "abc.integrations.deepagents:DeepAgentsXYZChat" # 自定义认证类
models = ["abc-xyz-1"] # 在切换器中显示的模型
[models.providers.xyz.params]
bypass_auth = true # 跳过标准认证,由自定义类内部处理
temperature = 0
完整 Profile 声明
[models.providers.xyz.profile]
tool_calling = true # 声明模型支持工具调用(必须为 true)
max_input_tokens = 128000 # 最大输入 token 数,用于上下文追踪和自动摘要
设置 max_input_tokens 以启用准确的上下文长度跟踪和自动摘要。
<package>.data._profiles 中的 _PROFILES 字典中提供模型 Profile,而无需在 models 键下定义它们。更多信息请参阅 LangChain 模型 Profile。
class_path 会从你的配置文件执行任意 Python 代码。这与 pyproject.toml 构建脚本的信任模型相同 — 你控制自己的机器。
Skills 白名单
为 Skill 的符号链接添加额外的允许目录
默认情况下,Deep Agents Code 验证 Skill 文件路径保持在标准 Skill 目录之内,防止符号链接读取任意文件。如果你将共享 Skill 存储在非标准位置:
[skills]
extra_allowed_dirs = [
"~/shared-skills", # 家目录下的共享技能(支持 ~ 展开)
"/opt/team-skills", # 团队共享的技能目录(绝对路径)
]
配置文件方式
在 config.toml 的 [skills] 节中添加 extra_allowed_dirs。支持 ~ 展开。
更改在 /reload 后生效。
环境变量方式
export DEEPAGENTS_CODE_EXTRA_SKILLS_DIRS="\
~/shared-skills:/opt/team-skills"
冒号分隔的路径列表。环境变量优先于配置文件。
主题配置
内置主题、自定义主题和终端映射
切换主题
/theme 打开交互式选择器,实时预览,按 Enter 保存到 config.toml:
[ui]
theme = "langchain-dark" # /theme 选择器按 Enter 后自动写入
自定义主题
[themes.my-solarized]
label = "My Solarized" # 在 /theme 选择器中显示的名称
dark = true # 标记为深色主题
primary = "#268BD2" # 主色调(蓝色)
warning = "#B58900" # 警告色(黄色)
[themes."ocean breeze"]
label = "Ocean Breeze" # 选择器中显示的名称
primary = "#0077B6" # 主色调(海蓝色)
background = "#CAF0F8" # 背景色(浅蓝色)
覆盖内置主题
[themes.langchain]
primary = "#FF5500" # 只覆盖主色调,其他字段保留内置默认值
只读取颜色字段,label 和 dark 从内置主题继承。省略的字段保留原值。
终端映射
[ui.terminal_themes]
"Apple_Terminal" = "langchain-light" # macOS 终端使用浅色主题
"iTerm.app" = "langchain" # iTerm2 使用默认主题
"vscode" = "langchain-dark" # VS Code 终端使用深色主题
根据 TERM_PROGRAM 自动切换主题。
DEEPAGENTS_CODE_THEME 环境变量 > 终端映射 > [ui] theme > 内置默认值。
高级:选择器快捷键、解析顺序、终端标识符
选择器快捷键
N— 在显示标签和规范注册表键之间切换T— 将高亮的主题保存到当前TERM_PROGRAM对应的终端映射中
常见 TERM_PROGRAM 值
| 终端 | TERM_PROGRAM |
|---|---|
| Apple Terminal | Apple_Terminal |
| iTerm2 | iTerm.app |
| WezTerm | WezTerm |
| VS Code 终端 | vscode |
| Ghostty | ghostty |
解析顺序(启动时)
DEEPAGENTS_CODE_THEME环境变量(显式覆盖)- 当前
TERM_PROGRAM对应的终端映射 [ui] theme保存的偏好- 内置默认值(
langchain)
自动更新
让 Deep Agents Code 自动检查并安装更新
配置文件
[update]
auto_update = true # 启用自动更新,会话开始时检查 PyPI 并升级
环境变量
# 环境变量方式(优先于 config.toml)
export DEEPAGENTS_CODE_AUTO_UPDATE=1
环境变量优先于配置文件。
| 设置 | 行为 |
|---|---|
auto_update = true |
会话开始时检查 PyPI,自动使用检测到的安装方式(uv、Homebrew 或 pip)升级 |
auto_update = false(默认) |
显示更新提示和安装命令,不自动升级 |
/update 命令 |
手动检查并安装更新,绕过缓存 |
升级后 "what's new" 横幅
升级后,Deep Agents Code 在下次启动时显示 "what's new" 横幅,附带更新日志链接。
会话退出更新提醒
在会话退出时,如果在会话期间检测到了更新版本,会显示更新横幅作为提醒。
DEEPAGENTS_CODE_AUTO_UPDATE=1 或部署含 [update] auto_update = true 的 config.toml。完全禁止更新检查:DEEPAGENTS_CODE_NO_UPDATE_CHECK=1。
托管部署
以 root 身份运行安装脚本,支持 MDM 工具管理
安装脚本支持以 root 身份运行,适用于在最小化 root 环境中执行脚本的 macOS MDM 工具(Kandji、Jamf 等)。
Root 模式行为
当 id -u 为 0 时,脚本会:
- 解析真实控制台用户的
HOME(通过/dev/console或/Users目录扫描) - 在每个安装步骤后将所有创建的文件
chown回目标用户
预配置自动更新
- 在用户 shell 配置文件中设置
DEEPAGENTS_CODE_AUTO_UPDATE=1 - 或部署包含
[update] auto_update = true的 config.toml - 完全禁止更新检查:
DEEPAGENTS_CODE_NO_UPDATE_CHECK=1
外部编辑器
按 Ctrl+X 或输入 /editor 在外部编辑器中编写提示
Deep Agents Code 依次检查 $VISUAL、$EDITOR,然后回退到 vi(macOS/Linux)或 notepad(Windows)。
# 在 shell 配置文件中设置(~/.zshrc、~/.bashrc 等)
export VISUAL="code" # 优先使用 VS Code(GUI 编辑器,自动注入 --wait 阻塞等待)
export EDITOR="nvim" # VISUAL 不可用时的后备编辑器
GUI 编辑器支持
VS Code、Cursor、Zed、Sublime Text、Windsurf 等 GUI 编辑器会自动接收 --wait 标志,使 Deep Agents Code 阻塞等待直到你关闭文件。
典型场景
- 编写长提示词——在编辑器中利用完整编辑能力
- 粘贴多行代码——避免终端粘贴问题
- 使用编辑器的 AI 补全增强提示词质量
Hooks 钩子
让外部程序对 Deep Agents Code 生命周期事件做出响应
在 ~/.deepagents/hooks.json 中配置命令,每当事件触发时,JSON 负载通过管道传递给命令的标准输入。
{
"hooks": [
{
"command": ["bash", "-c", "cat >> ~/deepagents-events.log"], // 将事件 JSON 追加到日志文件
"events": ["session.start", "session.end"] // 仅监听会话开始和结束事件
}
]
}
配置字段
| 字段 | 类型 | 说明 |
|---|---|---|
command | list[str] | 要运行的命令及参数(必填) |
events | list[str] | 订阅的事件名,留空接收所有 |
执行模型
- 后台线程——不阻塞主循环
- 并发分派——多 Hook 并行运行
- 5 秒超时——超时自动终止
- 即发即弃——失败只记日志,不会崩溃
- 无 shell 展开——需要时用 bash -c 包装
- 懒加载——配置文件在首次事件分派时读取一次,并在会话的剩余时间内缓存
负载格式
每个 Hook 命令在标准输入上接收一个 JSON 对象:
{
"event": "session.start", // 事件名称
"thread_id": "abc123" // 会话线程 ID(用于追踪关联事件)
}
包含 "event" 键和事件特定字段。
Hook 事件
八种生命周期事件,覆盖从会话开始到上下文压缩
| 事件 | 触发时机 | 关键字段 |
|---|---|---|
session.start | Agent 会话开始 | thread_id |
session.end | 会话退出 | thread_id |
user.prompt | 用户提交消息 | — |
input.required | Agent 需要人工输入 | — |
permission.request | 工具调用需要审批 | tool_names |
tool.error | 工具调用返回错误 | tool_names |
task.complete | Agent 完成任务 | thread_id |
context.compact | 上下文压缩前 | — |
记录所有事件到 JSONL
{
"hooks": [{
"command": ["bash", "-c",
"jq -c . >> ~/.deepagents/hook-events.jsonl"], // 用 jq 压缩为单行 JSON 后追加到文件
"events": [] // 空数组 = 接收所有事件
}]
}
空 events 数组接收所有事件。
macOS 桌面通知
{
"hooks": [{
"command": ["bash", "-c",
"osascript -e 'display notification \"Agent finished\" with title \"Deep Agents\"'"
],
"events": ["task.complete"]
}]
}
Python 处理器
import json, sys
payload = json.load(sys.stdin) # 从标准输入读取 JSON 负载
event = payload["event"]
if event == "session.start":
# 将会话 ID 输出到 stderr,避免干扰 stdout 的 Agent 输出
print(f"Session: {payload['thread_id']}",
file=sys.stderr)
环境变量速查
所有 DEEPAGENTS_CODE_ 前缀环境变量一览
| 变量名 | 用途 |
|---|---|
AUTO_UPDATE |
启用自动更新(1/true/yes) |
DEBUG |
启用详细调试日志输出到文件 |
DEBUG_FILE |
调试日志文件路径(默认 /tmp/deepagents_debug.log) |
EXTRA_SKILLS_DIRS |
冒号分隔的 Skill 白名单路径 |
LANGSMITH_PROJECT |
覆盖 LangSmith 链路追踪项目名 |
NO_UPDATE_CHECK |
完全禁止自动更新检查 |
SHELL_ALLOW_LIST |
允许执行的 shell 命令(或 recommended/all) |
USER_ID |
附加到 LangSmith 追踪元数据的用户标识 |
DEEPAGENTS_CODE_OPENAI_API_KEY 为 Deep Agents Code 单独指定密钥,不影响其他工具。
动手练习
配置一个完整的本地 + 云端混合开发环境
现在轮到你了。根据以下需求,完成 Deep Agents Code 的配置:
需求:
1. 本地使用 Ollama 的 qwen3:4b 作为默认模型
2. 云端备选 google-genai:gemini-3.1-pro-preview
3. Ollama 指向局域网内的 192.168.1.100:11434
4. qwen3:4b 使用 temperature=0.5,其他 Ollama 模型使用 temperature=0
5. 启用 Tavily 网络搜索
6. 任务完成时发送桌面通知
7. 使用 iTerm 时自动应用深色主题
任务 1:配置凭证
- 你会用
/auth还是环境变量?为什么? .env文件应该写在哪里?
任务 2:编写 config.toml
- 如何配置 Ollama 的 base_url?
- 如何为 qwen3:4b 单独设置 temperature?
任务 3:配置 Hooks 和主题
- hooks.json 应该怎么写?
- 终端映射怎么配置?
本章回顾
到这里,你已经掌握了 Deep Agents Code 的完整配置体系
你学到了什么
- 四大配置文件:
config.toml、.env、hooks.json、.mcp.json - Provider 凭证管理:
/auth+ 环境变量双通道 - 环境变量优先级和
DEEPAGENTS_CODE_前缀覆盖 - Provider 配置:
params按模型覆盖、Profile 覆盖 - 自定义端点和自定义 Provider
- 主题系统:自定义、覆盖、终端映射
- Hooks 钩子:生命周期事件和自动化
核心原则
- 分层覆盖:全局默认 < 项目覆盖 < CLI 参数
- 按模型精细控制:Provider 级默认 + 模型级覆盖
- 安全优先:密钥本地存储,Hook 负载不注入命令行
- 热重载:
/reload无需重启即可应用更改 - 兼容开放:支持任何 BaseChatModel 子类和兼容 API
延伸阅读
继续本课程
- 第 01 章:认识 Deep Agents — 从零理解 Agent 架构
- 第 03 章:自定义 — 深入 Provider 定制
- 第 15 章:Skills — 创建自定义技能
官方文档
- LangChain 文档索引 — 所有可用页面
- GitHub 仓库 — 源码和示例
配置相关
- Provider 参考 — 各 Provider 配置详情
- 命令参考 — 所有斜杠命令