Skip to main content

Documentation Index

Fetch the complete documentation index at: https://nvd-54.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

深度智能体 CLI 是一个基于深度智能体 SDK 构建的开源编码智能体。 该 CLI 可与任何支持工具调用的大语言模型(LLM)配合使用,并允许你在不同输入之间切换大语言模型(LLM)。 它能跨对话持久化记忆所学内容,跨会话维护上下文,使用可定制的技能,并通过审批控制执行代码。

快速入门

安装并启动

OpenAI、Anthropic 和 Google 默认已安装。其他提供商(Ollama、Groq、xAI 等)可作为可选扩展安装——详情请参阅提供商
curl -LsSf https://langch.in/gh-da-cli | bash
deepagents
深度智能体 CLI

添加提供商凭证

该 CLI 可与任何支持工具调用的大语言模型(LLM)配合使用。使用 /auth 命令为你选择的提供商设置 API 密钥——详情请参阅提供商凭证了解完整流程和存储细节。有关其他提供商和无头运行,请参阅提供商
网络搜索使用 Tavily通过 /auth 配置。如果你在启动时看到 “Web search disabled — TAVILY_API_KEY is not set”,请在 ~/.deepagents/.env 中添加 TAVILY_API_KEY=tvly-... 并运行 /reload(或重启)。参阅启用 Tavily 网络搜索

给智能体分配任务

Create a Python script that prints "Hello, World!"
智能体会解释查询并提出包含差异对比的更改方案,供你在修改文件前审批。如有需要,它可以运行 shell 命令来测试代码、查阅文档或搜索网络获取最新信息。

启用追踪(可选)

要在 LangSmith 中记录智能体操作、工具调用和决策,请将以下内容添加到 ~/.deepagents/.env 或在 shell 中导出变量:
~/.deepagents/.env
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=lsv2_...
LANGSMITH_PROJECT=optional-project-name  # 指定项目名称,默认为 "deepagents-cli"
更多详情和用法,请参阅使用 LangSmith 追踪
深度智能体 CLI 不正式支持 Windows。Windows 用户可以尝试在 Windows Subsystem for Linux (WSL) 下运行。

功能

深度智能体 CLI 具有以下内置功能:
  • 文件操作 - 读取、写入和编辑文件,使智能体能够管理和修改代码及文档。
  • Shell 执行 - 执行命令以运行测试、构建项目、管理依赖和操作版本控制。
  • 远程沙箱 - 在 LangSmith、Daytona、Modal、Runloop 或 AgentCore 中运行智能体工具,而非在本地机器上。链接页面涵盖提供商安装、凭证、沙箱标志(--sandbox--sandbox-id--sandbox-setup)和设置脚本。
  • 网络搜索 - 搜索网络获取最新信息和文档。需要在 TAVILY_API_KEY 中配置 Tavily API 密钥。
  • HTTP 请求 - 向 API 和外部服务发起 HTTP 请求,用于数据获取和集成任务。
  • 任务规划和追踪 - 将复杂任务分解为离散步骤并跟踪进度。
  • 子智能体 - 使用 task 工具委派工作。在 CLI 中,将自定义子智能体定义为 AGENTS.md 文件;链接页面涵盖路径、frontmatter 和示例。
  • 记忆存储和检索 - 跨会话存储和检索信息,使智能体能够记住项目规范和学到的模式。
  • 上下文压缩和卸载 - 摘要旧的对话消息并将原始内容卸载到存储中,在长会话期间释放上下文窗口空间。
  • 人机协作 - 需要人工审批敏感的工具操作。
  • 技能 - 使用自定义专业知识和指令扩展智能体能力。
  • MCP 工具 - 从模型上下文协议服务器加载外部工具。
  • 追踪 - 在 LangSmith 中追踪智能体操作,用于可观测性和调试。

内置工具

智能体配备以下内置工具,无需配置即可使用:
工具描述人机协作
ls列出文件和目录-
read_file读取文件内容;部分模型支持多模态内容-
write_file创建或覆盖文件必需1
edit_file对现有文件进行精确编辑必需1
glob按模式查找文件-
grep跨文件搜索文本模式-
execute在本地或远程沙箱中执行 shell 命令必需1
web_search使用 Tavily 搜索网络(需要 TAVILY_API_KEY —— 参阅启用网络搜索必需1
fetch_url获取网页并转换为 markdown必需1
task将工作委派给子智能体进行并行执行必需1
ask_user向用户提出自由格式或多选问题-
compact_conversation摘要旧消息,将原始内容卸载到后端存储,并用摘要占位符替换上下文中的内容混合2
write_todos为复杂工作创建和管理任务列表-
1:可能具有破坏性的操作在执行前需要用户批准。要跳过人工审批,可以切换自动批准(shift+tab)或使用以下选项启动:
deepagents -y
# 或
deepagents --auto-approve
在非交互模式下(通过 -n 或管道 stdin)运行 CLI 时,即使使用 -y/--auto-approve,shell 执行默认也是禁用的。使用 -S/--shell-allow-list 允许特定命令(例如 -S "pytest,git,make"),recommended 表示安全默认值,或 all 允许任何命令。也支持 DEEPAGENTS_CLI_SHELL_ALLOW_LIST 环境变量。更多详情请参阅非交互模式和管道
2:当 Token 使用量超过模型感知阈值时,CLI 会自动在后台卸载对话。卸载通过大语言模型(LLM)摘要旧消息,并将原始内容弹出到存储中(/conversation_history/{thread_id}.md),用摘要替换上下文中的内容。如有需要,智能体仍可从卸载的文件中检索完整历史。compact_conversation 工具允许智能体(或你)按需触发卸载。作为工具调用时,默认需要用户批准。
观看演示视频了解深度智能体 CLI 的工作方式。

命令参考

# 使用特定智能体配置
deepagents --agent mybot

# 使用特定模型(provider:model 格式或自动检测)
deepagents --model anthropic:claude-opus-4-7
deepagents --model gpt-5.5

# 自动批准工具使用(跳过人机协作提示)
deepagents -y

# 列出目录内容,然后摘要目录作为第一个提示——命令先运行,然后提交提示
# 提示无法访问命令输出
deepagents --startup-cmd "ls -la" -m "Summarize what's in this directory"

# 非交互模式,带启动命令:在任务运行前显示 git 状态
# 任务无法访问命令输出
deepagents --startup-cmd "git diff --stat" -n "Review these changes"
选项描述
-a, --agent NAME使用具有独立记忆的命名智能体。覆盖 config.toml 中的 [agents].recent。默认值:agent(或最近使用的智能体,如果 [agents].recent 已设置)
-M, --model MODEL使用特定模型(provider:model
--model-params JSON以 JSON 字符串传递额外参数给模型(例如 '{"temperature": 0.7}'
--default-model [MODEL]设置默认模型
--clear-default-model清除默认模型
-r, --resume [ID]恢复会话:-r 恢复最近的会话,-r <ID> 恢复特定线程
-m, --message TEXT会话启动时自动提交的初始提示(交互模式)
--skill NAME在启动时调用技能
--startup-cmd CMD在第一个提示之前运行的启动 shell 命令。输出渲染在记录中供你参考,但不会添加到智能体的消息历史中。要将命令输出传递给智能体,请通过 stdin 管道传入(例如 git diff | deepagents -n "Review these changes")。非零退出和超时会发出警告但不会中止;非交互模式应用 60 秒超时。
-n, --non-interactive TEXT非交互方式运行单个任务并退出。除非设置了 --shell-allow-list,否则 shell 被禁用
--max-turns N限制非交互模式中的智能体回合数。超出时以代码 124 退出。需要 -n 或管道 stdin。参阅使用 --max-turns 限制回合数
-q, --quiet适合管道的干净输出——只有智能体的响应输出到 stdout。需要 -n 或管道 stdin
--no-stream缓冲完整响应后一次性写入 stdout,而非流式输出。需要 -n 或管道 stdin
--stdin显式从 stdin 读取输入而非自动检测。当 stdin 不可用或为 TTY 时明确报错
-y, --auto-approve自动批准所有工具调用,无需提示(禁用人机协作)。在交互会话期间使用 Shift+Tab 切换
-S, --shell-allow-list LIST逗号分隔的允许自动批准的 shell 命令,'recommended' 表示安全默认值,或 'all' 允许任何命令。适用于 -n 和交互模式
--json从管理子命令(agentsthreadsskillsupdate)输出机器可读的 JSON。输出信封:{"schema_version": 1, "command": "...", "data": ...}
--sandbox TYPE远程沙箱代码执行:none(默认)、langsmithagentcoremodaldaytonarunloop。LangSmith 已包含;AgentCore/Modal/Daytona/Runloop 需要扩展
--sandbox-id ID复用现有沙箱(跳过创建和清理)
--sandbox-setup PATH创建沙箱后运行的设置脚本路径
--mcp-config PATH添加显式 MCP 配置作为最高优先级源(与自动发现的配置合并)
--no-mcp禁用所有 MCP 工具加载
--trust-project-mcp信任项目级 MCP 配置中的 stdio 服务器(跳过审批提示)
--profile-override JSON以 JSON 字符串覆盖模型配置文件字段(例如 '{"max_input_tokens": 4096}')。合并在配置文件配置覆盖之上
--acp通过 stdio 以 ACP 服务器模式运行,而非启动交互式 UI
-v, --version显示版本
-h, --help显示帮助
命令描述
deepagents help显示帮助
deepagents agents list列出所有智能体(别名:ls
deepagents agents reset --agent NAME清除智能体记忆并重置为默认值。支持 --dry-run
deepagents agents reset --agent NAME --target SOURCE从另一个智能体复制记忆
deepagents update检查并安装 CLI 更新
deepagents skills list [--project]列出所有技能(别名:ls
deepagents skills create NAME [--project]使用模板 SKILL.md 创建新技能。幂等操作——重新创建已有技能会打印提示信息而非报错
deepagents skills info NAME [--project]显示技能的详细信息
deepagents skills delete NAME [--project] [-f]删除技能及其内容。支持 --dry-run
deepagents threads list [--agent NAME] [--limit N]列出会话(别名:ls)。默认限制:20。-n--limit 的简写标志。其他标志:--sort {created,updated}--branch TEXT(按 git 分支过滤)、-v/--verbose(显示所有列,包括分支、创建时间和初始提示)、-r/--relative(相对时间戳)
deepagents threads delete ID删除会话。支持 --dry-run
deepagents mcp login NAME [--config PATH]为标记为 auth: "oauth" 的 MCP 服务器运行 OAuth 登录流程。参阅 MCP 工具
deepagents deploy将智能体部署到 LangSmith。参阅使用 CLI 部署
所有管理子命令都支持 --json 以获取机器可读输出。详情请参阅命令行选项破坏性命令(agents resetskills deletethreads delete)支持 --dry-run 来预览操作结果而不实际执行。在 JSON 模式下,--dry-run 返回相同的信封并带有 dry_run: true 字段。

配置

完整参考——包括 config.toml 模式、提供商参数、配置覆盖和钩子配置——请参阅配置 CLI 将所有配置存储在 ~/.deepagents/ 下。在该目录中,每个智能体有自己的子目录(默认为 agent):
路径用途
~/.deepagents/config.toml模型和智能体默认值、提供商设置、构造函数参数、配置覆盖、主题、更新设置、MCP 信任存储
~/.deepagents/.env全局 API 密钥和秘密。参阅配置
~/.deepagents/hooks.json生命周期事件钩子(会话开始/结束、任务完成等)
~/.deepagents/<agent_name>/每个智能体的记忆、技能和对话线程
.deepagents/(项目根目录)项目特定的记忆和技能,在 git 仓库内运行时加载
# 列出所有已配置的智能体
deepagents agents list

交互模式

像在聊天界面中一样自然输入。 智能体将使用其内置工具、技能和记忆来帮助你完成任务。
在 CLI 会话中使用以下命令:
  • /model - 切换模型或打开交互式模型选择器。
  • /agents - 在预配置的智能体之间热切换,无需重新启动。详情参阅命令参考
  • /auth - 管理模型提供商的已存储 API 密钥。详情参阅提供商凭证
  • /remember [context] - 回顾对话并更新记忆和技能。可选传入额外上下文
  • /skill:<name> [args] - 按名称直接调用技能。技能的 SKILL.md 指令会与你提供的任何参数一起注入提示中
  • /skill-creator [args] - 创建有效智能体技能的指南
  • /offload(别名 /compact)- 通过将消息卸载到存储并用摘要占位符替换来释放上下文窗口空间。如有需要,智能体可以从卸载的文件中检索完整历史
  • /tokens - 显示当前上下文窗口 Token 使用情况明细
  • /clear - 清除对话历史并开始新线程
  • /threads - 浏览并恢复之前的对话线程
  • /mcp - 显示活跃的 MCP 服务器和工具
  • /reload - 重新读取 .env 文件、刷新配置并重新发现技能,无需重启。对话状态被保留。参阅 DEEPAGENTS_CLI_ 前缀了解覆盖行为
  • /theme - 打开交互式主题选择器切换颜色主题。提供内置主题以及任何用户定义主题
  • /update - 内联检查并安装 CLI 更新。检测你的安装方式(uv、Homebrew、pip)并运行相应的升级命令
  • /auto-update - 开启或关闭自动更新
  • /trace - 在 LangSmith 中打开当前线程(需要 LANGSMITH_API_KEY
  • /editor - 在外部编辑器中打开当前提示($VISUAL / $EDITOR)。参阅外部编辑器
  • /changelog - 在浏览器中打开 CLI 更新日志
  • /docs - 在浏览器中打开文档
  • /feedback - 打开 GitHub issues 页面提交 bug 报告或功能请求
  • /version - 显示已安装的 deepagents-cli 和 SDK 版本
  • /help - 显示帮助和可用命令
  • /quit - 退出 CLI
输入 ! 进入 shell 模式,然后输入你的命令。
git status
npm test
ls -la
通用
快捷键操作
Enter提交提示
Shift+EnterCtrl+JAlt+EnterCtrl+Enter插入换行
Ctrl+A选择输入框中的所有文本
@filename自动补全文件并注入内容
Shift+TabCtrl+T切换自动批准
Ctrl+U删除到行首
Ctrl+X在外部编辑器中打开提示
Ctrl+O展开/折叠最近的工具输出
Escape中断当前操作
Ctrl+C中断或退出
Ctrl+D退出

非交互模式和管道

使用 -n 运行单个任务,无需启动交互式 UI:
deepagents -n "Write a Python script that prints hello world"
你也可以通过 stdin 管道输入。当输入通过管道传入时,CLI 自动以非交互方式运行:
echo "Explain this code" | deepagents
cat error.log | deepagents -n "What's causing this error?"
git diff | deepagents -n "Review these changes"
git diff | deepagents --skill code-review -n 'summarize changes'
当你将管道输入与 -n-m 结合时,管道内容出现在前面,然后是你传递给标志的文本。
最大管道输入大小为 10 MiB。
在非交互模式下,shell 执行默认禁用。使用 -S/--shell-allow-list 启用特定命令(例如 -S "pytest,git,make"),recommended 表示安全默认值,或 all 允许任何命令。
在 CI/CD 管道中,长时间运行或行为异常的智能体可能会无限循环。--max-turns N 为操作者提供了硬性上限,无需触及 SDK 内部机制:
deepagents -n "fix the failing tests" --max-turns 10
N 必须是正整数,并覆盖内部安全默认值(否则会限制失控循环)。超出预算时以代码 124 退出(与 GNU timeout 一致),以便 CI 能区分预算超限和一般故障。需要 -n 或管道 stdin;否则以代码 2 退出。
使用 -q 获取适合管道的干净输出,使用 --no-stream 缓冲完整响应(而非流式输出)后再写入 stdout:
deepagents -n "Generate a .gitignore for Python" -q > .gitignore
deepagents -n "List dependencies" -q --no-stream | sort
在非交互模式下,智能体被指示做出合理假设并自主推进,而非提出澄清问题。它还倾向于使用非交互式命令变体(例如 npm init -yapt-get install -y)。
# 允许特定命令(根据列表验证)
deepagents -n "Run the tests and fix failures" -S "pytest,git,make"

# 使用精选的安全命令列表
deepagents -n "Build the project" -S recommended

# 允许任何 shell 命令
deepagents -n "Fix the build" -S all
请谨慎使用。-S all(或 --shell-allow-list all)允许智能体执行任意 shell 命令,无需人工确认。

使用 LangSmith 追踪

启用 LangSmith 追踪,在 LangSmith 项目中查看智能体操作、工具调用和决策。 将追踪密钥添加到 ~/.deepagents/.env,这样每个会话都会启用追踪,无需每个 shell 都导出:
~/.deepagents/.env
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=lsv2_...
LANGSMITH_PROJECT=optional-project-name  # 指定项目名称,默认为 "deepagents-cli"
要覆盖特定项目的配置,在项目目录中放置相同密钥的 .env 文件。参阅环境变量了解完整的加载顺序。 你也可以将这些设置为 shell 环境变量。Shell 导出始终优先于 .env 值,因此这是临时覆盖或测试的好选择:
export LANGSMITH_TRACING=false
当从 LangChain 应用中以编程方式调用 CLI(例如在非交互模式下作为子进程)时,你的应用和 CLI 都会产生 LangSmith 追踪。默认情况下,它们都进入同一个项目。要将 CLI 追踪发送到专用项目,请设置 DEEPAGENTS_CLI_LANGSMITH_PROJECT
~/.deepagents/.env
DEEPAGENTS_CLI_LANGSMITH_PROJECT=my-deep-agent-execution
然后为父应用的追踪配置 LANGSMITH_PROJECT
~/.deepagents/.env
LANGSMITH_PROJECT=my-app-traces
这样可以保持应用级可观测性的整洁,同时仍在单独的项目中捕获智能体的内部执行。你还可以使用 DEEPAGENTS_CLI_ 前缀将 LangSmith 凭证限定到 CLI(例如 DEEPAGENTS_CLI_LANGSMITH_API_KEY)。
配置完成后,CLI 会显示一个状态行,带有指向 LangSmith 项目的链接。在支持的终端中,点击链接即可直接打开。你也可以使用 /trace 打印 URL 并在浏览器中打开。
 LangSmith tracing: 'my-project'