当前位置: 首页 > article >正文

Deep Agents 框架-CLI

上篇引言本文主要介绍一下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命令行工具用途看起来用处不大毕竟没几个人喜欢敲命令。低效不直白。下篇

相关文章:

Deep Agents 框架-CLI

上篇 引言 本文主要介绍一下Deep Agents CLI,不是核心知识。Deep Agents CLI 是一个基于 Deep Agents SDK 构建的开源终端编程助手。它具备持久化记忆,能在不同会话间保持上下文连贯,能学习项目的代码规范,支持自定义技能&#…...

Media-Hoarder:基于Python的自动化媒体抓取与管理框架实战

1. 项目概述:一个面向数字内容收藏家的自动化工具箱如果你和我一样,是个喜欢在互联网上“囤积”数字内容的人——无论是精彩的视频教程、值得反复品味的电影、播客节目,还是那些随时可能消失的珍贵文档——那么你一定对“收藏容易&#xff0c…...

智能增强与范式演进:OpenClaw 与 Hermes Agent 自我学习机制深度研究报告

自主智能体时代的黎明:从静态响应到持续进化的技术跨越在 2026 年初的全球人工智能图景中,自主智能体(Autonomous Agents)已从单纯的对话工具演变为能够深度嵌入操作系统、并具备自我进化能力的动态系统。这一转变标志着人工智能从…...

对比直接使用原厂 API 体验 Taotoken 在模型切换便利性上的优势

多模型统一接入的运维效率提升实践 1. 多模型开发中的常见痛点 在实际开发过程中,同时使用多个大模型厂商的API会带来一系列管理难题。每个厂商通常有独立的API密钥体系、认证方式和请求规范。开发者需要为每个平台单独申请密钥,并在代码中维护不同的客…...

TRIT模型动态重复惩罚机制在多语言生成中的应用

1. TRIT模型的多语言推理挑战与重复惩罚机制多语言大模型在跨语言任务中常面临"语义漂移"问题——当模型处理非训练优势语言时,生成的文本容易出现逻辑断裂或重复累赘。这种现象在长文本推理任务中尤为明显,比如德语到中文的科技文献翻译时&am…...

Python新手必看:别再写低效的素数判断函数了,试试这个优化版is_prime

Python素数判断优化指南:从数学原理到工业级实现 第一次在LeetCode上遇到素数相关题目时,我信心满满地写了个遍历到n/2的判断函数。提交后却收到"Time Limit Exceeded"的红色警告——这个教训让我意识到,算法效率不是纸上谈兵。本文…...

基于MCP协议构建AI记忆服务器:为智能体赋予持久化记忆能力

1. 项目概述:一个为AI记忆提供持久化存储的MCP服务器 最近在折腾AI应用开发,特别是基于Claude、GPTs这类智能体的项目时,有一个痛点越来越明显: 如何让AI记住过去发生的事情? 无论是构建一个长期陪伴的聊天伴侣&…...

如何用KMS_VL_ALL_AIO一键激活Windows和Office:终极免费激活指南

如何用KMS_VL_ALL_AIO一键激活Windows和Office:终极免费激活指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows和Office激活问题烦恼吗?KMS_VL_ALL_AIO智…...

DLSS Swapper终极使用指南:轻松管理游戏DLSS文件

DLSS Swapper终极使用指南:轻松管理游戏DLSS文件 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款功能强大的游戏性能优化工具,专门用于管理游戏中的DLSS、FSR和XeSS动态链接库…...

如何在Mac上实现NTFS硬盘自由读写:Free-NTFS-for-Mac完全指南

如何在Mac上实现NTFS硬盘自由读写:Free-NTFS-for-Mac完全指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and manage…...

如何用Windows Cleaner彻底解决C盘爆红问题:一份3步终极指南

如何用Windows Cleaner彻底解决C盘爆红问题:一份3步终极指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到电脑C盘突然变红&#xff…...

终极GTNH汉化指南:3步完成Minecraft顶级科技整合包中文本地化

终极GTNH汉化指南:3步完成Minecraft顶级科技整合包中文本地化 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH GTNH汉化包是专为GregTech: New Horizons整合包设计的完整中文翻译解…...

收藏!大模型入门必看:小白也能掌握的RAG技术核心

本文详细复盘了阿里面试官对Graph RAG的深入考察,从Naive RAG的缺陷到Graph RAG的原理与实现,揭示了信息组织方式的进化过程。文章强调面试中需展现对信息组织理解的深度、成本意识以及真实项目经验,并介绍了主流Graph RAG方案的选型与成本分…...

如何轻松搭建个人游戏云:Sunshine串流服务器完整指南

如何轻松搭建个人游戏云:Sunshine串流服务器完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾经想过在客厅大屏电视上玩PC游戏,或者在外出时…...

避坑指南:Cesium CustomShader中Feature ID与Metadata的正确使用姿势(附常见错误排查)

Cesium CustomShader中Feature ID与Metadata的高阶应用与深度排错 在三维地理空间可视化领域,Cesium的CustomShader功能为开发者提供了前所未有的灵活性。当处理带有复杂属性数据的倾斜摄影或BIM模型时,Feature ID和Metadata的正确使用往往成为项目成败的…...

第6篇:数组和列表——存储多个数据 原生中文编程

第6篇:数组和列表——存储多个数据**作者:**中文编程倡导者—— 李金雨 联系方式: wbtm2718qq.com **目标读者:**编程入门(零基础) 核心理念: 使用华为仓颉原生中文编程,体验真正的国…...

基于VuePress构建私有化团队Wiki:静态站点生成器的实践指南

1. 项目概述:一个为团队知识沉淀而生的私有化Wiki最近在折腾团队内部的知识管理,发现市面上的在线文档工具虽然方便,但总有些地方不尽如人意。要么是数据安全心里没底,担心核心业务讨论和代码片段外泄;要么是功能太臃肿…...

快速构建quartus ii安装引导器:快马原型设计助力环境搭建效率翻倍

作为一名FPGA开发者,我深知Quartus II的安装过程有多让人头疼。不同版本的系统要求、繁琐的配置步骤、漫长的等待时间,稍有不慎就可能因为环境不兼容导致安装失败。最近尝试用InsCode(快马)平台快速搭建了一个安装引导原型,效果出乎意料的好&…...

全网资源一网打尽:res-downloader 跨平台下载工具深度解析

全网资源一网打尽:res-downloader 跨平台下载工具深度解析 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 想要轻…...

为AE视频项目配置Claude Code使用Taotoken的API服务

为AE视频项目配置Claude Code使用Taotoken的API服务 1. 准备工作 在开始配置前,请确保已安装Claude Code工具并拥有Taotoken平台的API Key。登录Taotoken控制台,在「API密钥」页面创建新密钥并复制保存。建议为视频项目单独创建密钥以便后续用量追踪。…...

从Docker容器到K8s Pod:深入解读ERR,INSUFFICIENT_RESOURCES背后的Cgroups限制与调优

从Docker容器到K8s Pod:深入解读ERR,INSUFFICIENT_RESOURCES背后的Cgroups限制与调优 凌晨三点,当告警短信第15次响起时,运维团队终于意识到这不是简单的资源扩容问题。监控大屏上显示宿主机的内存利用率仅65%,但容器日志里不断刷…...

TranslucentTB终极指南:5分钟轻松实现Windows任务栏透明美化

TranslucentTB终极指南:5分钟轻松实现Windows任务栏透明美化 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想让你的Windows…...

如何用Retrieval-based-Voice-Conversion-WebUI实现高质量AI语音转换:10分钟数据训练终极指南

如何用Retrieval-based-Voice-Conversion-WebUI实现高质量AI语音转换&#xff1a;10分钟数据训练终极指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Tren…...

从SHA-256到SM3:手把手教你用Verilog移植一个国密哈希算法IP核

从SHA-256到SM3&#xff1a;手把手教你用Verilog移植一个国密哈希算法IP核 在硬件安全领域&#xff0c;哈希算法作为密码学基础组件&#xff0c;其高效实现直接影响着系统整体性能。对于已经掌握SHA-256等国际标准算法硬件实现的开发者而言&#xff0c;转向国密SM3算法时往往面…...

别再乱配了!Nacos 2.2.3+ 鉴权开启后,Spring Boot项目连不上的几个常见坑点

Nacos 2.2.3鉴权实战&#xff1a;Spring Boot连接失败的深度排查指南 当Nacos升级到2.2.3版本后&#xff0c;鉴权机制的变化让不少开发者踩了坑。特别是那些从老版本迁移过来的Spring Boot项目&#xff0c;明明配置看起来没问题&#xff0c;却总是连不上配置中心。本文将带你直…...

GESP5级C++考试语法知识(十四、贪心算法(二)区间问题(提高级))

&#x1f31f;《贪心王国打点小精灵大作战》&#x1f3f0; 一、故事开场在贪心王国里&#xff0c;有一片神秘的区域森林 &#x1f332;森林里有很多“魔法区间”&#xff0c;比如&#xff1a;&#x1f449; [1,5] &#x1f449; [2,6] &#x1f449; [4,7]&#x1f608; 危机来…...

别再只用相关系数了!用Matlab的wcoherence函数,5分钟画出时间序列的交叉小波相干图

别再只用相关系数了&#xff01;用Matlab的wcoherence函数&#xff0c;5分钟画出时间序列的交叉小波相干图 当我们面对两组时间序列数据时&#xff0c;传统的相关系数只能给出一个笼统的关联度指标&#xff0c;而无法揭示不同时间尺度下的动态关联模式。比如分析股票价格与成交…...

基于Coze平台的课堂语音互动机器人设计与实现

基于Coze平台的课堂语音互动机器人设计与实现 摘要 随着人工智能技术的快速发展,大语言模型驱动的智能体(Agent)在教育领域的应用日益广泛。本文基于字节跳动推出的Coze(扣子)AI开发平台,设计并实现了一款面向课堂教学场景的语音互动机器人。该机器人模拟多个具有鲜明性…...

从个人到团队:基于快马平台实战开发一个可协作的WorkBuddy任务管理工具

从个人到团队&#xff1a;基于快马平台实战开发一个可协作的WorkBuddy任务管理工具 最近团队内部一直在寻找一个轻量级的任务协作工具&#xff0c;市面上现有的方案要么功能过于复杂&#xff0c;要么定制化程度不够。于是决定自己动手&#xff0c;用InsCode(快马)平台快速搭建…...

如何一键获取Steam游戏清单:Onekey工具的终极指南

如何一键获取Steam游戏清单&#xff1a;Onekey工具的终极指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 还在为复杂的Steam游戏清单下载而烦恼吗&#xff1f;Onekey Steam Depot清单下载工…...