
- 文件操作 - 使用工具读取、写入和编辑项目中的文件,使智能体能够管理和修改代码及文档。
- 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 agents 构建 LangChain 应用程序,并希望将智能体追踪与应用程序的追踪分开,还需配置
LANGSMITH_PROJECT:
配置
每个智能体在~/.deepagents/<agent_name>/ 有自己的配置目录。
默认智能体名称为 agent。
启动智能体时,如果该智能体名称的文件夹不存在,则会在该路径 ~/.deepagents/<new_agent>/ 创建。
命令行选项
命令行选项
| 选项 | 描述 |
|---|---|
-a, --agent NAME | 使用具有独立记忆的命名智能体(默认:agent) |
-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 | 会话启动时自动提交的初始提示(交互式模式) |
-n, --non-interactive TEXT | 非交互式地运行单个任务并退出。除非设置了 --shell-allow-list,否则 shell 被禁用 |
-q, --quiet | 用于管道的清洁输出——只有智能体的响应输出到标准输出。需要 -n 或管道标准输入 |
--no-stream | 缓冲完整响应并一次性写入标准输出,而不是流式传输。需要 -n 或管道标准输入 |
--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 | 删除会话 |
交互式模式
像在聊天界面中一样自然地输入。 智能体将使用其内置工具、技能和记忆来帮助你完成任务。斜杠命令
斜杠命令
在 CLI 会话中使用以下命令:
/model- 打开交互式模型选择器/model <provider:model>- 直接切换到特定模型(例如/model anthropic:claude-sonnet-4-5)/model --default <provider:model>- 设置持久默认模型/model --default --clear- 清除已保存的默认模型/remember [context]- 回顾对话并更新记忆和技能。可选地传递额外上下文/tokens- 显示当前上下文窗口的 token 使用情况/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 在写入标准输出之前缓冲完整响应(而不是流式传输):
--shell-allow-list 允许特定命令:
切换模型
你可以在不重启 CLI 的情况下使用/model 命令在会话中切换模型,或在启动时使用 --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 文件中引用额外文件,智能体才能知道这些文件的存在。
额外文件不会在启动时读取,但智能体可以在需要时引用和更新它们。
何时使用全局 vs. 项目级 `AGENTS.md`
何时使用全局 vs. 项目级 `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 文件的前置内容中读取名称和描述。
当你使用 CLI 时,如果任务与技能描述匹配,智能体将读取技能文件并遵循其指令。
列出技能
要查看已安装的技能列表,请运行:- 用户技能
- 项目技能
- 用户技能
- 项目技能
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

