上篇引言本文主要介绍一下Deep Agents CLI不是核心知识。Deep Agents CLI是一个基于 Deep Agents SDK 构建的开源终端编程助手。它具备持久化记忆能在不同会话间保持上下文连贯能学习项目的代码规范支持自定义技能并且在执行代码时还设有审批控制机制。这就相当于给刚才提到的“终端助手”做了一次全身“体检”列出了它具体能干哪些活儿。从写代码到上网查资料甚至还能自己学着变聪明功能确实挺全的。来看看它的内置超能力清单️ 核心能力概览 文件操作读取、写入和编辑文件让助手能帮你管理和修改代码及文档。 终端执行执行各种命令比如运行测试、构建项目、管理依赖包或者跟版本控制系统比如 Git打交道。 网络搜索上网搜索最新的信息和文档这个功能需要配置 Tavily API 密钥。 HTTP 请求发送 HTTP 请求去连接外部 API 或服务方便抓取数据或做集成任务。 任务规划与追踪把复杂的大任务拆解成一个个具体的步骤并实时追踪进度。 记忆存取在不同会话之间存取信息让助手能记住项目的规范和它之前学到的套路。️ 上下文压缩与卸载把旧的对话消息总结压缩把原始内容存起来这样在长对话中就能腾出空间防止“大脑”过载。 人机协作遇到敏感操作时必须经过你的批准才能执行。 技能扩展通过自定义的专长和指令给助手“补课”扩展它的能力边界。 MCP 工具支持能够从 Model Context Protocol 服务器加载外部工具。 链路追踪在 LangSmith 上追踪助手的操作方便你观察运行状态和排查 Bug。️ 内置工具概览 安全机制人机协作无需批准像查看文件、搜索文本这类只读操作Agent 可以自己做主。必须批准涉及修改文件、执行命令、联网或创建子任务等“危险”操作Agent 必须先问你“我可以这样做吗” 工具分类文件管理ls列目录、read_file读文件、write_file写文件、edit_file改文件、glob找文件、grep搜文本。系统与网络execute跑命令、web_search上网搜、fetch_url抓网页。任务与交互task分派给子代理、ask_user问用户、write_todos写待办清单。上下文优化compact_conversation压缩对话历史省内存。1 那些具有潜在破坏性的操作比如写文件、执行命令在执行前通常需要你手动批准。如果你想跳过这个确认步骤可以按快捷键ShiftTab开启自动批准模式或者在启动时直接加上相应的命令行选项。deepagents -y # or deepagents --auto-approve当你通过-n或管道输入piped stdin以非交互式模式运行 CLI 时即使你加了-y或--auto-approve自动批准参数Shell 命令执行功能默认也是被禁用的。你需要使用-S或--shell-allow-list参数来指定允许执行的命令白名单比如-S pytest,git,make这是推荐的安全做法当然你也可以设置为all来允许执行任何命令此外也可以通过设置环境变量DEEPAGENTS_CLI_SHELL_ALLOW_LIST来实现同样的效果。2 当对话的 Token 用量超过模型感知的阈值时CLI 会在后台自动进行“记忆卸载”。具体流程是利用 LLM 把旧的对话消息总结成摘要然后把原始内容“踢”出去存到硬盘上路径为/conversation_history/{thread_id}.md并在当前的上下文窗口中用摘要替换掉旧消息从而腾出空间。虽然旧消息被移出了当前上下文但如果 Agent 需要它仍然可以去那个存档文件里读取完整的历史记录。此外有一个叫compact_conversation的工具可以让 Agent或者你随时手动触发这个压缩过程。注意当作为工具被调用时默认情况下需要你手动批准。1 使用命令行1.1 起步设置模型凭证将你的服务商 API 密钥导出为环境变量或者将其添加到~/.deepagents/.env文件中。安装与运行该命令行工具支持任何具备“工具调用”能力的 LLM。OpenAI、Anthropic 和 Google 的集成已默认安装。若需使用其他服务商如 Ollama、Groq、xAI 等请查阅“Providers”章节。这些服务商属于可选的扩展组件详情同样请参阅相关文档。给智能体Agent下达一个任务Create a Python script that prints Hello, World!智能体在修改文件之前会先通过差异对比diffs的形式提出更改建议等待你的批准。启用追踪可选若要在 LangSmith 中查看智能体的操作、工具调用及决策过程请将以下内容添加到~/.deepagents/.env文件中或者在你的 Shell 中导出这些变量~/.deepagents/.envLANGSMITH_TRACINGtrue LANGSMITH_API_KEYlsv2_... LANGSMITH_PROJECToptional-project-name # Specify a project name or default to deepagents-cli1.2 供应商penAI、Anthropic 和 Google 是开箱即用的。其他服务商则需要单独安装这样你只需要加载自己真正需要的组件。# Add extra providers to an existing install uv tool install deepagents-cli --with langchain-xai如需查看支持的所有服务商完整列表请参阅“Model providers”模型服务商章节。1.3 交互模式像平时聊天一样自然地输入文字即可。智能体会利用它内置的工具、技能和记忆来协助你完成任务。1.3.1 斜杠命令哇这简直就是一份完整的指令清单看来这个智能体非常强大不仅仅是陪聊更像是一个全能的开发助手。我把这些命令整理并翻译成了中文按照功能分了个类这样你查阅起来会更方便️ 核心控制与模型管理/model- 切换模型或打开交互式模型选择器。详见“切换模型”/agents- 在不重新启动的情况下热切换Hot-swap预配置的智能体。详见“切换智能体”/clear- 清空对话历史并开始新话题。/quit- 退出命令行界面。 记忆、技能与上下文/remember [context]- 回顾对话并更新记忆和技能。你也可以顺便传入额外的上下文信息。/skill: [args]- 直接通过名称调用某个技能。系统会将该技能的SKILL.md指令以及你提供的参数一起注入到提示词中。/skill-creator [args]- 创建高效智能体技能的指南。/offload(别名/compact) - 通过将消息卸载到存储区并替换为摘要占位符来释放上下文窗口的空间。如果需要智能体可以从卸载的文件中检索完整历史。/tokens- 显示当前上下文窗口的 Token 使用情况明细。⚙️ 系统与配置/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 页面以提交错误报告或功能请求。/version- 显示已安装的deepagents-cli和 SDK 版本。/help- 显示帮助信息和可用命令。1.3.2 Shell 命令输入!进入 Shell 模式然后输入你的命令。git status npm test ls -la1.3.3 键盘快捷键快捷键功能说明Enter提交提示词ShiftEnter / CtrlJ / AltEnter / CtrlEnter插入新行换行CtrlA选中输入框内的所有文本文件名自动补全文件路径并将文件内容注入到上下文中ShiftTab / CtrlT切换“自动批准”模式CtrlU删除光标到行首的所有内容CtrlX在外部编辑器中打开提示词进行编辑CtrlO展开/折叠最近一次的工具输出结果Escape中断当前操作CtrlC中断操作或退出CtrlD退出程序1.4 非交互模式管道使用-n参数来运行单个任务而无需启动交互式界面。deepagents -n Write a Python script that prints hello world你也可以通过标准输入stdin以管道方式传入内容。当通过管道传入内容时命令行界面会自动以非交互式模式运行。echo Explain this code | deepagents cat error.log | deepagents -n Whats 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这是推荐的安全默认做法或者使用all来允许运行任何命令。干净输出和缓冲为了获得干净的输出并控制缓冲请使用-q来获取适合管道传输给其他命令的纯净输出并使用--no-stream在写入标准输出之前缓冲完整响应而不是流式传输deepagents -n Generate a .gitignore for Python -q .gitignore deepagents -n List dependencies -q --no-stream | sort在非交互式模式下智能体会被指示做出合理的假设并自主推进工作而不是停下来问澄清性的问题。同时它也倾向于使用非交互式的命令变体例如npm init -yapt-get install -y。Shell执行例子# Allow specific commands (validated against the list) deepagents -n Run the tests and fix failures -S pytest,git,make # Use the curated safe-command list deepagents -n Build the project -S recommended # Allow any shell command deepagents -n Fix the build -S all请务必谨慎使用。-S all或者--shell-allow-list all允许智能体在没有任何人工确认的情况下执行任意的 Shell 命令1.5 启动时运行命令使用--startup-cmd可以在会话接受第一个提示词之前先运行一次 Shell 命令。该命令的输出结果会显示在会话的最上方这对于检查 git 状态、列出文件或验证环境设置非常方便让你能在输入第一个提示词之前就掌握情况。# Interactive: show git status before the first prompt deepagents --startup-cmd git status # Combine with an initial prompt — the command runs first, then the prompt is submitted deepagents --startup-cmd ls -la -m Summarize whats in this directory # Non-interactive: see env state before the task runs deepagents --startup-cmd git diff --stat -n Review these changes该命令会在任何-m提示词或--skill调用被发送之前运行并且会遵循你的 Shell 环境变量。如果命令退出状态码非零即执行出错或发生超时系统只会发出警告但不会中止整个会话。在非交互式模式下该命令的超时时间为 60 秒。特别注意该命令的输出结果不会被注入到智能体的消息历史中——也就是说大语言模型LLM是看不到这些输出的。如果想把命令的输出交给智能体处理请通过标准输入stdin管道传入例如git diff | deepagents -n Review these changes。1.6 模型切换你可以使用/model命令在会话过程中切换模型而无需重启命令行界面或者在启动时使用--model标志来指定模型 /model anthropic:claude-opus-4-6 /model openai:gpt-5.5deepagents --model openai:gpt-5.5运行 /model 可以打开一个交互式的模型选择器它会按服务商分组显示所有可用的模型。关于切换模型、设置默认模型以及添加自定义模型服务商的完整详情请查阅“模型服务商”文档。你可以通过向启动时的--model-params参数或在会话中途的/model --model-params命令传递 JSON 格式的数据来覆盖模型的调用参数例如推理力度、思考预算、最大输出 token 数等。deepagents --model openai:gpt-5.5 --model-params {reasoning: {effort: high}}deepagents --model anthropic:claude-opus-4-7 --model-params {thinking: {type: enabled, budget_tokens: 10000}}# Mid-session — swap model and params in one step /model --model-params {temperature: 0.7} anthropic:claude-opus-4-7 # Or open the selector and apply params to whatever you pick /model --model-params {num_ctx: 16384}命令行标志仅在当前会话中有效。--model-params不能与--default组合使用。关于持久化的服务商级默认值、针对特定模型的覆盖设置以及服务商特定的示例请查阅服务商页面上的“模型参数”部分1.7 智能体切换运行 /agents 可以打开智能体选择器让你在不重启程序的情况下在 ~/.deepagents/ 目录下的不同智能体之间进行热切换。切换智能体会重置当前的对话线程并刷新技能发现机制。这个选择会被持久化保存所以下次直接运行 deepagents不带参数启动时会继续使用同一个智能体。-a 或 --agent 参数总是具有最高优先级强制覆盖而 -r 或 --resume 参数则用于恢复该对话线程原本绑定的智能体。1.8 配置该命令行工具将所有配置都存储在~/.deepagents/目录下。在该目录中每个智能体都有自己独立的子目录默认为agent~/.deepagents/config.toml存放模型默认值、服务商设置、构造函数参数、配置文件覆盖、主题以及更新设置、MCP 信任存储。~/.deepagents/.env存放全局 API 密钥和机密信息。~/.deepagents/hooks.json存放生命周期事件钩子如会话开始/结束、任务完成等。~/.deepagents/agent_name/存放特定智能体的记忆、技能和对话线程。.deepagents/(项目根目录)存放项目特定的记忆和技能当你在 git 仓库内运行时会被加载。# List all configured agents deepagents agents list如需查阅完整参考文档——包括 config.toml 的结构定义、服务商参数、配置文件覆盖设置以及钩子配置——请参阅“配置”章节。1.9 记忆定制任何智能体主要有两种方式记忆包括AGENTS.md文件和跨会话持久保存的自动记忆。请使用记忆功能来存储通用的编码风格、偏好设置以及已习得的惯例。技能包括全局的和项目特定的上下文、惯例、指南或指令。请使用技能来处理仅在执行特定任务时才需要的上下文信息。使用/remember命令可以明确提示智能体根据当前的对话内容来更新其记忆和技能。1.9.1 自动记忆当你使用智能体时它会自动将信息存储在~/.deepagents/agent_name/memories/目录下以 Markdown 文件的形式保存并采用“记忆优先”协议研究在开始任务之前先搜索记忆以获取相关上下文。响应在执行过程中遇到不确定的情况时检查记忆。学习自动保存新信息以供未来的会话使用。智能体会按主题组织其记忆并使用描述性的文件名~/.deepagents/backend-dev/memories/ ├── api-conventions.md ├── database-schema.md └── deployment-process.md当你教导智能体某种惯例时deepagents --agent backend-dev Our API uses snake_case and includes created_at/updated_at timestamps它会在未来的会话中记住这些内容 Create a /users endpoint # Applies conventions without prompting1.9.2 AGENTS.md文件AGENTS.md文件提供了持久化的上下文信息这些信息会在每次会话开始时被自动加载全局配置~/.deepagents/agent_name/AGENTS.md—— 在每次会话中都会被加载。项目配置任意 Git 项目根目录下的.deepagents/AGENTS.md—— 当你在该项目内运行命令行工具时会被加载。这两个文件的内容都会在启动时被追加到系统提示词中。工作原理智能体在回答项目特定问题或者当你提及过去的工作或模式时也可能会读取其记忆文件。当你提供关于它该如何行事的信息、对其工作的反馈或者指示它记住某事时智能体会更新AGENTS.md。如果它从你的互动中识别出某种模式或偏好它也会更新其记忆。若要在额外的记忆文件中添加更多结构化的项目知识请将它们添加到.deepagents/目录中并在AGENTS.md文件中引用它们。你必须在AGENTS.md中引用额外文件智能体才会知道它们的存在。这些额外文件不会在启动时被读取但智能体可以在需要时引用并更新它们。何时使用全局 AGENTS.md 与项目 AGENTS.md全局 AGENTS.md (~/.deepagents/agent/AGENTS.md)你的个性、风格和通用的编码偏好通用的语气和沟通风格通用的编码偏好格式化、类型提示等适用于所有地方的工具使用模式不随项目变化的工作流和方法论项目 AGENTS.md (项目根目录下的 .deepagents/AGENTS.md)项目特定的上下文和惯例项目架构和设计模式特定于该代码库的编码惯例测试策略和部署流程团队指南和项目结构1.10 使用技能技能是智能体可复用的能力提供专门的工作流程和领域知识。你可以使用技能为你的深度智能体提供新的能力和专长。深度智能体的技能遵循“智能体技能标准”。一旦你添加了技能你的深度智能体就会自动使用它们并在你使用智能体并提供额外信息时更新它们。使用/remember命令可以明确提示智能体根据当前的对话内容来更新技能和记忆。1.10.1 添加技能1 创建技能:# User skill (stored in ~/.deepagents/agent_name/skills/) deepagents skills create test-skill # Project skill (stored in .deepagents/skills/) deepagents skills create test-skill --projectskills/ └── test-skill └── SKILL.md2 打开生成的SKILL.md文件并编辑该文件以包含你的指令。3可选将额外的脚本或其他资源添加到test-skill文件夹中。更多信息请参阅示例。你也可以直接将现有的技能复制到智能体的文件夹中mkdir -p ~/.deepagents/agent_name/skills cp -r examples/skills/web-research ~/.deepagents/agent_name/skills/1.10.2 安装社区技能你可以使用像 Vercel 的 Skills CLI 这样的工具在你的环境中安装社区提供的智能体技能并让你的深度智能体能够使用它们# Install a skill globally npx skills add vercel-labs/agent-skills --skill web-design-guidelines -a deepagents -g -y # List installed skills npx skills ls -a deepagents -g全局安装使用-g参数会将技能符号链接到~/.deepagents/agent/skills/—— 这是默认智能体的用户级技能目录。项目级安装省略-g参数会将技能放置在相对于当前目录的.deepagents/skills/中使得任何在该项目中运行的智能体都能使用这些技能而无论智能体的名称是什么。全局安装仅针对默认的智能体目录。如果你使用的是自定义名称的智能体请使用项目级安装或者手动将技能符号链接到 ~/.deepagents/{your-agent}/skills/ 目录中。1.10.3 技能发现在启动时CLI 会从 Deep Agents 和共享别名目录这两个地方发现技能~/.deepagents/agent_name/skills/ ~/.agents/skills/ .deepagents/skills/ .agents/skills/ ~/.claude/skills/ (experimental) .claude/skills/ (experimental)当存在重复的技能名称时优先级较高的目录会覆盖优先级较低的目录参见应用数据。对于项目特定的技能项目的根文件夹必须包含一个 .git 文件夹。当你从项目文件夹内的任何位置启动 CLI 时CLI 会通过检查包含的 .git 文件夹来找到项目的根文件夹。对于每个技能CLI 都会从 SKILL.md 文件的前言frontmatter中读取名称和描述。当你使用 CLI 时如果任务与技能描述相匹配智能体就会读取技能文件并遵循其指令。你也可以使用 /skill:name [args] 直接调用技能。技能发现会在启动时以及执行 /reload 命令时运行。1.10.3 从命令行调用技能使用--skill参数可以在启动时直接调用技能而无需交互式地输入斜杠命令# Open the TUI and immediately run a skill deepagents --skill code-review # Pass a request to the skill with -m deepagents --skill code-review -m review the auth module # Pipe content into a skill cat diff.txt | deepagents --skill code-review # Pipe content and add a request cat diff.txt | deepagents --skill code-review -m focus on security--skill参数同样适用于非交互式模式# Run a skill headlessly deepagents --skill code-review -n review this patch # Quiet mode (only agent output on stdout) deepagents --skill code-review -n review this patch -q1.10.4 列出技能# List all user skills deepagents skills list # List project skills deepagents skills list --project # Get detailed info about a specific skill deepagents skills info test-skill deepagents skills info test-skill --project1.11 子智能体将自定义子代理定义为 Markdown 文件这样 CLI 代理就可以将专门的任务委托给它们。每个子代理都拥有自己的文件夹其中包含一个AGENTS.md文件.deepagents/agents/{subagent-name}/AGENTS.md # Project-level ~/.deepagents/{agent}/agents/{subagent-name}/AGENTS.md # User-level项目子代理会覆盖同名的用户子代理参见优先级规则。文件头frontmatter必须包含name名称和description描述与子代理字典规范相同。Markdown 的主体内容将成为子代理的系统提示词system_prompt。除了基础规范外AGENTS.md文件还支持一个可选的model文件头字段用于覆盖主代理的模型。该字段使用provider:model-name格式例如anthropic:claude-opus-4-6openai:gpt-5.5。如果省略该字段则继承主代理的模型其他的子代理字段如tools、middleware、interrupt_on、skills目前无法通过AGENTS.md的文件头frontmatter进行配置 —— 以这种方式定义的自定义子代理将继承主代理的工具。如果需要完全控制请直接使用 SDK。文件格式子代理的AGENTS.md文件采用 YAML 文件头frontmatter后跟 Markdown 主体--- name: researcher description: Research topics on the web before writing content model: anthropic:claude-haiku-4-5-20251001 --- You are a research assistant with access to web search. ## Your Process 1. Search for relevant information 2. Summarize findings clearly示例具有成本效益的子代理对于简单的委托任务使用更便宜、更快的模型同时让主代理保留使用功能更强大的模型--- name: general-purpose description: General-purpose agent for research and multi-step tasks model: anthropic:claude-haiku-4-5-20251001 --- You are a general-purpose assistant. Complete the task efficiently and return a concise summary.这将覆盖内置的通用子代理将所有委托任务路由到一个更便宜的模型。有关更多信息请参阅“覆盖通用子代理”。1.12 使用MCP工具通过外部 MCP模型上下文协议服务器的工具来扩展 CLI。只需在项目根目录放置一个.mcp.json文件CLI 就会自动发现它。对于需要 OAuth 认证的服务器如 Slack、GitHub、Linear、Notion 等只需使用deepagents mcp login server进行一次认证令牌tokens会被持久化存储在~/.deepagents/mcp-tokens/目录中并自动刷新。有关配置格式、OAuth 登录、自动发现和故障排除请参阅 MCP 工具指南。1.13 使用远程沙箱CLI 采用“沙箱即工具”的模式CLI 进程包含 LLM 循环、记忆、工具调度运行在你的机器上但代理的工具调用如读取文件、写入文件、执行命令等针对的是远程沙箱而不是你的本地文件系统。若要将文件放入沙箱请使用设置脚本或提供商的文件传输 API请参阅“使用文件”。若要深入了解沙箱架构、集成模式和安全最佳实践请参阅“沙箱”。1 安装依赖#LangSmith 默认已经安装 #Daytona uv tool install deepagents-cli --with langchain-daytona #Modal uv tool install deepagents-cli --with langchain-modal #Runloop uv tool install deepagents-cli --with langchain-runloop #AgentCore uv tool install deepagents-cli --with langchain-agentcore-codeinterpreter2 设置供应商认证信息#LangSmith export LANGSMITH_API_KEYyour-key #Daytona export DAYTONA_API_KEYyour-key #Modal modal setup #Runloop export RUNLOOP_API_KEYyour-key #AgentCore export AWS_ACCESS_KEY_IDyour-key export AWS_SECRET_ACCESS_KEYyour-secret export AWS_SESSION_TOKENsession-token export AWS_REGIONus-west-23 运行带沙箱参数的CLI#LangSmith deepagents --sandbox langsmith #Daytona deepagents --sandbox daytona #Modal deepagents --sandbox modal #Runloop deepagents --sandbox runloop #AgentCore deepagents --sandbox agentcore沙箱标志和例子参数描述--sandbox TYPE指定沙箱提供商可选择langsmith、agentcore、modal、daytona或runloop默认值无即不使用沙箱。--sandbox-id ID复用现有的沙箱通过 ID 指定一个已经存在的沙箱而不是创建新的。这将跳过创建和清理步骤。更多详情请参考您的沙箱文档。--sandbox-setup PATH指定设置脚本路径指定一个脚本在沙箱创建时立即在其中运行用于环境初始化。# Create a new Daytona sandbox deepagents --sandbox daytona # Reuse an existing sandbox (skips creation and cleanup) deepagents --sandbox runloop --sandbox-id dbx_abc123 # Run a setup script after sandbox creation deepagents --sandbox modal --sandbox-setup ./setup.sh运行脚本使用--sandbox-setup在沙箱创建后运行一个 Shell 脚本。这对于克隆代码仓库、安装依赖项以及配置环境变量非常有用#!/bin/bash set -e # Clone repository using GitHub token git clone https://x-access-token:${GITHUB_TOKEN}github.com/username/repo.git $HOME/workspace cd $HOME/workspace # Make environment variables persistent cat ~/.bashrc EOF export GITHUB_TOKEN${GITHUB_TOKEN} export OPENAI_API_KEY${OPENAI_API_KEY} cd $HOME/workspace EOF source ~/.bashrcCLI 会使用你本地的环境变量来替换设置脚本中的${VAR}引用。请将密钥secrets存储在本地.env文件中以便设置脚本访问。沙箱虽然隔离了代码执行但代理agents在使用不受信任的输入时仍然容易受到提示词注入prompt injection的攻击。请务必使用“人工介入审批”、短效密钥short-lived secrets并且仅使用可信的设置脚本。有关详细信息请参阅“安全注意事项”。1.14 LangSmith跟踪启用 LangSmith 追踪以便在 LangSmith 项目中查看代理的操作、工具调用和决策过程。将你的追踪密钥添加到~/.deepagents/.env文件中这样无需在每个 Shell 中单独导出变量就能在每次会话中自动启用追踪LANGSMITH_TRACINGtrue LANGSMITH_API_KEYlsv2_... LANGSMITH_PROJECToptional-project-name # Specify a project name or default to deepagents-cli若要在特定项目中覆盖全局配置请在项目目录下的.env文件中添加相同的密钥。有关完整的加载顺序请参阅“环境变量”。如果你愿意也可以将这些配置设置为 Shell 环境变量。Shell 的导出exports设置总是优先于.env文件中的值因此这是进行临时覆盖或测试的绝佳选择export LANGSMITH_TRACINGfalse将代理追踪与应用追踪分离当从 LangChain 应用程序中以编程方式调用 CLI 时例如在非交互模式下作为子进程你的应用程序和 CLI 都会产生 LangSmith 追踪记录。默认情况下这些记录都会落入同一个项目中。若要将 CLI 的追踪记录发送到专用的项目请设置DEEPAGENTS_CLI_LANGSMITH_PROJECTDEEPAGENTS_CLI_LANGSMITH_PROJECTmy-deep-agent-execution然后为你的父应用程序主程序的追踪记录配置LANGSMITH_PROJECTLANGSMITH_PROJECTmy-app-traces这样既能保持你应用层面的可观测性整洁同时又能将代理的内部执行情况单独捕获到一个独立的项目中。你也可以使用DEEPAGENTS_CLI_前缀将 LangSmith 凭证限定于 CLI 使用例如DEEPAGENTS_CLI_LANGSMITH_API_KEY配置完成后CLI 会显示一行状态信息其中包含指向 LangSmith 项目的链接。在支持的终端中直接点击该链接即可打开。你也可以输入/trace命令来打印 URL 并在浏览器中打开它。✓ LangSmith tracing: my-project1.15 命令行引用# Use a specific agent configuration deepagents --agent mybot # Use a specific model (provider:model format or auto-detect) deepagents --model anthropic:claude-opus-4-7 deepagents --model gpt-5.5 # Auto-approve tool usage (skip human-in-the-loop prompts) deepagents -y1.15.1 命令行选项选项描述-a, --agent NAME使用指定名称的代理及其独立记忆。会覆盖config.toml中的[agents].recent配置。默认值为agent或者如果设置了[agents].recent则为最近使用的代理。-M, --model 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 启动命令。输出会显示在记录中供参考但不会添加到代理的消息历史中。非零退出码和超时仅会发出警告而不会中止非交互模式应用 60 秒超时。参见“在启动时运行命令”。-n, --non-interactive TEXT非交互式地运行单个任务然后退出。除非设置了--shell-allow-list否则 Shell 功能将被禁用。--max-turns N限制非交互模式下的代理轮数。超出时以代码 124 退出。需要-n或管道标准输入。参见“使用 --max-turns 限制轮数”。-q, --quiet用于管道的干净输出——只有代理的响应会输出到标准输出。需要-n或管道标准输入。--no-stream缓冲完整响应并一次性写入标准输出而不是流式传输。需要-n或管道标准输入。--stdin显式地从标准输入读取而不是自动检测。当标准输入不可用或是 TTY 时会明确报错。-y, --auto-approve自动批准所有工具调用无需提示禁用人工介入。在交互会话中可通过 ShiftTab 切换。-S, --shell-allow-list LIST自动批准的 Shell 命令列表逗号分隔使用recommended表示安全默认值或使用all允许任何命令。适用于-n和交互模式。--json从管理子命令agents, threads, skills, update发出机器可读的 JSON。输出格式为{schema_version: 1, command: ..., data: ...}。--sandbox TYPE用于代码执行的远程沙箱none默认、langsmith、agentcore、modal、daytona、runloop。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作为 ACP 服务器通过 stdio 运行而不是启动交互式用户界面。-v, --version显示版本信息。-h, --help显示帮助信息。1.15.2 CLI命令命令描述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列出会话别名ls。• 默认限制 20 条。• 标志-n是--limit的简写--sort {created,updated}--branch TEXT按 git 分支过滤-v/--verbose显示所有列包括分支、创建时间和初始提示词-r/--relative相对时间戳。• 选项[--agent NAME][--limit N]。deepagents threads delete ID删除指定会话。支持--dry-run。deepagents mcp login NAME为标记为auth: oauth的 MCP 服务器运行 OAuth 登录流程。参见“MCP 工具”。• 选项[--config PATH]。deepagents deploy将您的代理部署到 LangSmith。参见“使用 CLI 部署”。 通用说明机器可读输出所有管理子命令均支持--json标志。安全预览破坏性命令agents reset、skills delete、threads delete支持--dry-run以预览更改。在 JSON 模式下这将返回包含dry_run: true字段的信封。2 模型提供商3 配置4 MCP工具5 应用数据总结本章主要介绍了deepagents命令行工具用途看起来用处不大毕竟没几个人喜欢敲命令。低效不直白。下篇