
- 文件操作 - 使用工具读取、写入和编辑项目中的文件,使代理能够管理和修改代码及文档。
- Shell 命令执行 - 执行 shell 命令以运行测试、构建项目、管理依赖项以及与版本控制系统交互。
- 网络搜索 - 在网络上搜索最新信息和文档(需要 Tavily API 密钥)。
- HTTP 请求 - 向 API 和外部服务发出 HTTP 请求,用于数据获取和集成任务。
- 任务规划和跟踪 - 将复杂任务分解为离散步骤,并通过内置的待办事项系统跟踪进度。
- 记忆存储和检索 - 跨会话存储和检索信息,使代理能够记住项目惯例和学习到的模式。
- 人机交互 - 敏感工具操作需要人工批准。
- 技能 - 通过存储在技能目录中的自定义专业知识和指令扩展代理能力。
内置工具完整列表
内置工具完整列表
内置工具
代理附带以下内置工具,无需配置即可使用:| 工具 | 描述 | 人机交互 |
|---|---|---|
ls | 列出文件和目录 | - |
read_file | 读取文件内容;支持图像(.png, .jpg, .jpeg, .gif, .webp)作为多模态内容 | - |
write_file | 创建或覆盖文件 | 需要1 |
edit_file | 对现有文件进行有针对性的编辑 | 需要1 |
glob | 查找匹配模式的文件(例如,**/*.py) | - |
grep | 跨文件搜索文本模式 | - |
shell | 执行 shell 命令(本地模式) | 需要1 |
execute | 在远程沙盒中执行命令(沙盒模式) | 需要1 |
web_search | 使用 Tavily API 搜索网络 | 需要1 |
fetch_url | 获取网页并转换为 Markdown | 需要1 |
task | 将工作委派给子代理以并行执行 | 需要1 |
write_todos | 创建和管理复杂工作的任务列表 | - |
auto-approve 选项启动 Deep Agent:快速开始
其他安装和配置选项
其他安装和配置选项
每个模型提供商都需要安装其对应的 LangChain 集成包。这些包在安装 CLI 时作为可选的额外组件提供:有关支持的提供商和配置选项的完整列表,请参阅 自定义模型提供商。首次启动时(当未设置 启用网络搜索(可选):API 密钥可以设置为环境变量或在
[models].default 或 [models].recent 时),CLI 会按此顺序自动选择第一个可用的启动凭据:OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY,然后是 GOOGLE_CLOUD_PROJECT (Vertex AI)。此启动回退特意较窄;其他受支持的提供商(例如 Groq)仍可通过 --model、/model 或保存的默认模型使用。.env 文件中设置。使用 LangSmith 进行追踪
启用 LangSmith 追踪以在您的 LangSmith 仪表板中查看代理操作:-
启用 LangSmith 追踪:
-
为 Deep Agent 操作(如工具调用和代理决策)配置代理追踪:
-
如果您正在构建带有 Deep Agent 的 LangChain 应用程序,并且希望将代理追踪与应用程序的追踪分开,请同时配置
LANGSMITH_PROJECT:
配置
每个代理在~/.deepagents/<agent_name>/ 下都有自己的配置目录。
默认代理名称为 agent。
当您启动代理时,如果该代理名称的文件夹不存在,则会在路径 ~/.deepagents/<new_agent>/ 处创建它。
命令行选项
命令行选项
| 选项 | 描述 |
|---|---|
-a, --agent NAME | 使用具有独立记忆的命名代理(默认:agent) |
-M, --model MODEL | 使用特定模型(provider:model) |
--model-params JSON | 作为 JSON 字符串传递给模型的额外 kwargs(例如,'{"temperature": 0.7}') |
--default-model [MODEL] | 设置默认模型 |
--clear-default-model | 清除默认模型 |
-r, --resume [ID] | 恢复会话:-r 为最近一次,-r <ID> 为特定线程 |
-m, --message TEXT | 会话开始时自动提交的初始提示(交互模式) |
-n, --non-interactive TEXT | 以非交互方式运行单个任务并退出。Shell 被禁用,除非设置了 --shell-allow-list |
-q, --quiet | 用于管道传输的干净输出 —— 只有代理的响应会转到 stdout。需要 -n 或管道传输的 stdin |
--no-stream | 缓冲完整响应并一次性写入 stdout,而不是流式传输。需要 -n 或管道传输的 stdin |
--auto-approve | 自动批准所有工具调用而不提示(禁用人机交互)。在交互式会话期间使用 Shift+Tab 切换 |
--shell-allow-list LIST | 自动批准的逗号分隔的 shell 命令,或 'recommended' 以使用安全默认值。适用于 -n 和交互模式 |
--sandbox TYPE | 用于代码执行的远程沙盒:none(默认)、modal、daytona、runloop、langsmith |
--sandbox-id ID | 重用现有沙盒(跳过创建和清理) |
--sandbox-setup PATH | 创建后在沙盒中运行的设置脚本的路径 |
-v, --version | 显示版本 |
-h, --help | 显示帮助 |
CLI 命令
CLI 命令
| 命令 | 描述 |
|---|---|
deepagents help | 显示帮助 |
deepagents list | 列出所有代理 |
deepagents reset --agent NAME | 清除代理记忆并重置为默认值 |
deepagents reset --agent NAME --target SOURCE | 从另一个代理复制记忆 |
deepagents skills list [--project] | 列出所有技能(别名:ls) |
deepagents skills create NAME [--project] | 使用模板 SKILL.md 创建新技能 |
deepagents skills info NAME [--project] | 显示有关技能的详细信息 |
deepagents skills delete NAME [--project] [-f] | 删除技能及其内容 |
deepagents threads list [--agent NAME] [--limit N] | 列出会话(别名:ls)。默认限制:20 |
deepagents threads delete ID | 删除会话 |
交互模式
像在聊天界面中一样自然地输入。 代理将使用其内置工具、技能和记忆来帮助您完成任务。Slash 命令
Slash 命令
在 CLI 会话中使用这些命令:
/model- 打开交互式模型选择器/model <provider:model>- 直接切换到特定模型(例如,/model anthropic:claude-sonnet-4-5)/model --default <provider:model>- 设置持久默认模型/model --default --clear- 清除保存的默认模型/remember [context]- 审查对话并更新记忆和技能。可选传递额外上下文/tokens- 显示当前上下文窗口令牌使用情况/clear- 清除对话历史记录并开始新线程/threads- 浏览并恢复以前的对话线程/trace- 在 LangSmith 中打开当前线程(需要LANGSMITH_API_KEY)/changelog- 在浏览器中打开 CLI 变更日志/docs- 在浏览器中打开文档/feedback- 打开 GitHub issues 页面以提交错误报告或功能请求/version- 显示已安装的deepagents-cli和 SDK 版本/help- 显示帮助和可用命令/quit(或/q) - 退出 CLI
Bash 命令
Bash 命令
通过前缀
! 直接执行 shell 命令:键盘快捷键
键盘快捷键
通用
| 快捷键 | 动作 |
|---|---|
Enter | 提交提示 |
Shift+Enter, Ctrl+J, Alt+Enter, 或 Ctrl+Enter | 插入换行符 |
Ctrl+A | 选择输入中的所有文本 |
@filename | 自动补全文件并注入内容 |
Shift+Tab 或 Ctrl+T | 切换自动批准 |
Ctrl+E | 展开/折叠最近的工具输出 |
Escape | 中断当前操作 |
Ctrl+C | 中断或退出 |
Ctrl+D | 退出 |
非交互模式和管道传输
使用-n 运行单个任务而不启动交互式 UI:
-n 或 -m 结合使用时,管道内容将添加到标志值的前面。
最大管道输入大小为 10 MiB。
-q 获取适合管道传输到其他命令的干净输出,并使用 --no-stream 在写入 stdout 之前缓冲完整响应(而不是流式传输):
--shell-allow-list 允许特定命令:
切换模型
您可以在会话期间使用/model 命令切换模型而无需重新启动 CLI,或者在启动时使用 --model 标志:
/model 以打开交互式模型选择器,该选择器显示按提供商分组的可用模型。
有关切换模型、设置默认值、配置自定义提供商和使用 ~/.deepagents/config.toml 配置文件的完整详细信息,请参阅 自定义模型提供商。
教授代理项目惯例
当您使用代理时,它会自动使用记忆优先协议将信息作为 markdown 文件存储在~/.deepagents/<agent_name>/memories/ 中:
- 研究:在开始任务之前搜索记忆以获取相关上下文
- 响应:在执行期间不确定时检查记忆
- 学习:自动保存新信息以供未来会话使用
自定义您的 Deep Agent
自定义任何代理主要有两种方式:-
记忆:全局和特定于项目的
AGENTS.md文件,在会话开始时完整加载。 使用记忆来记录一般编码风格和偏好。 - 技能:全局和特定于项目的上下文、惯例、指南或说明。 使用技能来记录仅在执行特定任务时所需的上下文。
提供项目或用户上下文
AGENTS.md 文件 提供始终在会话开始时加载的持久记忆。
您可以在 ~/.deepagents/<agent_name>/AGENTS.md 中为代理提供全局用户记忆。
当您启动新的 Deep Agent 会话时,此文件始终会被加载。
代理在回答特定于项目的问题或当您引用过去的工作或模式时,也可能会读取其记忆文件。
对于特定于项目的记忆,只要项目使用 git,您就可以将上下文添加到项目根文件夹中的 .deepagents/AGENTS.md。
当您从项目文件夹中的任何位置启动 CLI 时,CLI 将通过检查包含的 .git 文件夹来找到项目的根文件夹。
全局和项目级 AGENTS.md 文件都会被加载并附加到启动时的系统提示中。
代理将在您使用它并为其提供有关其应如何行为的更多信息、对其工作的反馈或要记住的指令时更新它们。
代理如果从您的交互中识别出模式或偏好,也会更新其记忆。
如果您想显式提示 Deep Agent 根据当前线程的上下文更新技能和记忆,请使用 /remember 命令,它会加载自定义指令来审查上下文并执行更新。
要在额外的记忆文件中添加更多结构化的项目知识,您可以将它们添加到 .deepagents/ 中并在 AGENTS.md 文件中引用它们。
您必须在 AGENTS.md 文件中引用其他文件,以便代理知道这些文件。
其他文件不会在启动时读取,但代理可以在需要时引用和更新它们。
何时使用全局与项目 `AGENTS.md`
何时使用全局与项目 `AGENTS.md`
全局
AGENTS.md (~/.deepagents/agent/AGENTS.md)- 您的个性、风格和通用编码偏好
- 一般语气和沟通风格
- 通用编码偏好(格式、类型提示等)
- 随处适用的工具使用模式
- 不随项目变化的工作流程和方法论
AGENTS.md (项目根目录下的 .deepagents/AGENTS.md)- 特定于项目的上下文和惯例
- 项目架构和设计模式
- 特定于此代码库的编码惯例
- 测试策略和部署流程
- 团队指南和项目结构
使用远程沙盒
在隔离的远程环境中执行代码以确保安全性和灵活性。远程沙盒提供以下好处:- 安全:保护您的本地机器免受潜在有害代码执行的影响
- 环境清洁:无需本地设置即可使用特定依赖项或操作系统配置
- 并行执行:在隔离环境中同时运行多个代理
- 长期运行任务:在不阻塞机器的情况下执行耗时操作
- 可复现性:确保团队之间一致的执行环境
-
配置您的沙盒提供商(Runloop、Daytona 或 Modal):
-
使用沙盒运行 CLI:
代理在本地运行,但在远程沙盒中执行所有代码操作。可选的设置脚本可以配置环境变量、克隆存储库并准备依赖项。
-
(可选)创建一个
setup.sh文件来配置您的沙盒环境:将机密存储在本地.env文件中,供设置脚本访问。
使用技能
技能是可重用的代理功能,提供专门的工作流程和领域知识。 您可以使用 技能 为您的 Deep Agent 提供新功能和专业知识。 Deep Agent 技能遵循 Agent Skills 标准。 一旦添加了技能,您的 Deep Agent 将自动利用它们,并在您使用代理并为其提供更多信息时更新它们。 如果您想显式提示 Deep Agent 根据当前线程的上下文更新技能和记忆,请使用/remember 命令,它会加载自定义指令来审查上下文并执行更新。
添加技能
-
首先创建一个技能:
- 用户技能
- 项目技能
这将在您的~/.deepagents/<agent_name>文件夹中生成以下文件: -
打开生成的
SKILL.md并编辑文件以包含您的说明。 -
还可以向
test-skill文件夹添加其他脚本或其他资源。 有关更多信息,请参阅 示例.
.git 文件夹。
当您从项目文件夹中的任何位置启动 CLI 时,CLI 将通过检查包含的 .git 文件夹来找到项目的根文件夹。
对于每个技能,CLI 从 SKILL.md 文件的 frontmatter 中读取名称和描述。
当您使用 CLI 时,如果任务与技能的描述匹配,代理将读取技能文件并按照其说明进行操作。
列出技能
要查看已安装的列表,请运行:- 用户技能
- 项目技能
- 用户技能
- 项目技能
将这些文档连接 到 Claude, VSCode, 以及更多通过 MCP 获取实时答案。

