dcode) 在启动时接受命令行标志,并为工具、智能体、会话、技能、凭证和配置提供管理子命令。当您需要从 shell 覆盖默认值、在脚本中运行非交互式任务或无需打开会话即可自动化管理时,请参考本页。有关安装和日常交互式使用,请参阅 快速入门。有关 CLI 标志如何融入更广泛的配置模型,请参阅 配置。
示例用法
选择模型
使用--model (-M) 启动以固定单个会话的模型。使用 provider:model 格式(例如,openai:gpt-5.5)或当提供者明确时传递裸模型名称:
--model 时,它会按以下顺序解析模型:
--model标志(如果提供)。~/.deepagents/config.toml中的[models].default。~/.deepagents/config.toml中的[models].recent(在会话中切换模型时自动写入)。- 环境自动检测:
OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY和GOOGLE_CLOUD_PROJECT(Gemini 企业智能体平台)中的第一个可用凭证。
--model 或保存的默认值使用。有关完整提供者列表和凭证设置,请参阅 模型提供者。
设置或清除默认模型
为所有未来启动持久化默认模型:/model 切换器(Ctrl+S)固定默认值,或在 config.toml 中设置 [models].default。请参阅 设置默认模型。
设置推理努力
/effort 控制当前模型的推理努力。打开选择器以查看该模型支持的级别,或使用 /effort <level> 直接传递级别。
Deep Agents Code 将选择保存在 provider:model 的 ~/.deepagents/config.toml 中,供未来会话使用。运行 /effort clear 可删除当前模型的保存偏好和会话覆盖。配置的模型参数仍可提供努力值。
您可以在智能体工作时打开 /effort,或点击页脚的努力标签。选择将在当前任务完成时生效;它不会更改已进行的模型请求。如果模型在选择生效前更改,请为新模型重新打开选择器。
对于 thinking.type 设置为 between_tools 的 Anthropic 模型,可用级别是 low、medium 和 high 的模型支持子集。
选择摘要模型
在不更改主智能体模型的情况下,为自动上下文压缩、/offload 和 /compact 使用单独的模型:
/offload model 打开模型选择器,传递模型规范直接切换,或传递 clear 以重用主智能体模型:
--summarization-model,然后 config.toml 中的 [models].summarization_default,然后主智能体模型。请参阅 设置摘要模型。
模型参数和配置文件覆盖
使用--model-params 将额外的构造器 kwargs 作为 JSON 字符串传递给模型。这些仅适用于当前会话,并覆盖 config.toml 提供者参数:
--profile-override 覆盖 模型配置文件 字段(例如,max_input_tokens)。值在配置文件覆盖之上合并,并在会话中的 /model 热交换期间持久化:
--max-retries 或 config.toml 中的 [retries] 部分。请参阅 模型参数 和 配置文件覆盖。
安装提供者扩展
可选提供者和沙盒包作为扩展提供。无需启动会话即可从 shell 安装:--package 通过 uv --with 安装任意提供者包(参见 任意提供者),并添加 --yes 跳过确认提示。在初始 CLI 安装期间预安装扩展,设置 DEEPAGENTS_CODE_EXTRAS(例如,DEEPAGENTS_CODE_EXTRAS="groq,fireworks")。
移除可选扩展
移除已安装的一个扩展,同时保留 Deep Agents Code 安装的其余部分:--package 安装的包。
智能体和会话
使用-a/--agent 启动具有独立记忆、技能和 AGENTS.md 的命名智能体,这些智能体在 ~/.deepagents/<agent_name>/ 下运行。该标志会覆盖 config.toml 中的 [agents].default 和 [agents].recent:
-r/--resume 继续之前的对话。不传递 ID 将打开最新线程,或传递线程 ID 以继续特定会话。继续操作会绕过智能体选择标志并恢复线程的原始智能体:
dcode threads list 和 dcode threads delete 列出和删除会话。参见 记忆和技能 了解每个智能体记忆的工作方式。
为线程命名
Deep Agents Code 自动为对话生成名称,以便更容易查找。 在首次模型调用后,Deep Agents Code 会进行单独的 LLM 调用来为线程生成名称。生成名称时使用[threads].rename_model(如果设置),否则使用选定的对话模型。设置 [threads].auto_rename = false 以禁用自动命名。参见 自动命名线程。
在交互式会话中:
/rename <name>:设置 1 到 50 个可打印字符的名称。/rename:生成建议并在需要时编辑。
非交互模式和管道
使用-n/--non-interactive 以非交互式 UI 运行单个任务。每次非交互式运行都会启动一个新线程;基于文件的状态(记忆、技能、配置)跨调用持久化:
-n 或 -m 结合使用时,管道内容会首先显示,然后是标志文本。最大管道输入大小为 10 MiB。使用 --stdin 而不是自动检测从 stdin 读取。
输出、限制和 shell 访问
使用-q/--quiet 仅在 stdout 上输出智能体的响应(用于管道传输到其他命令)。添加 --no-stream 在写入前缓存完整响应:
Ctrl+O 可重新展开它。非交互式模式默认隐藏推理。启用后,推理会发送到 stderr,以便 stdout 上的最终答案保持可管道化。设置 DEEPAGENTS_CODE_SHOW_REASONING=0 可在两种模式下隐藏它,或传递 --show-reasoning 以在单次启动中显示它。此设置适用于整个会话。有关持久配置,请参阅 显示提供者可见推理。
Cap 智能体在 CI 中使用 --max-turns 或 --timeout 运行。当预算超出时,两者都以代码 124 退出。需要 -n 或管道 stdin:
-S/--shell-allow-list 启用它:
启动时技能
--skill 标志在交互式或非交互式模式下立即启动技能:
--skill 使用 --quiet 或 --no-stream 需要 -n。使用 dcode skills list、create、info 和 delete 管理技能。有关 记忆和技能。
脚本中的评分标准
非交互式运行不能暂停以进行交互式目标审查。当已知标准时,使用--rubric 传递接受标准:
-n 或管道 stdin。有关 目标和评分标准。
人机交互和 Shell 访问
潜在的破坏性工具调用默认需要批准。有三种 批准模式 可供选择:默认的 Manual 模式需要在所有检查点进行确认,Auto 模式(-y/--auto-approve)使用 LLM 分类器,YOLO(--yolo)无审查地运行门控操作。使用 Shift+Tab 在交互式会话期间在 Manual 和 Auto 之间切换:
-S/--shell-allow-list 标志在交互式和非交互式模式下都适用。传递逗号分隔的命令名称列表、recommended 用于安全的只读默认值,或 all 允许任何命令。您还可以在环境中设置 DEEPAGENTS_CODE_SHELL_ALLOW_LIST。
限制文件系统工具
默认情况下,Deep Agents Code 暴露所有文件系统工具。要仅暴露子集,请传递逗号分隔的列表:ls、read_file、write_file、edit_file、delete、glob、grep 和 execute。显式列表必须包含 read_file。白名单适用于主智能体和每种会话模式中的同步子智能体,但不适用于异步子智能体或非文件系统工具。
--allow-fs-tools 和 -S/--shell-allow-list 控制不同的 Shell 访问层:--allow-fs-tools控制哪些文件系统工具可用。Shell 访问需要execute。-S/--shell-allow-list控制通过execute允许的 Shell 命令。它不影响其他文件系统工具。
在非交互式模式下,传递两者以启用无需人工批准的命令:
/tools 以检查活动工具集。从 Shell 中,在子命令之前放置工具塑形标志:
诊断和审计会话
dcode 提供只读斜杠命令以检查会话加载和消耗的内容:/tools 列出活动工具集,/extensions 列出加载的 Python 扩展注册,/context-doctor 审计对话开始前注入的上下文,/cost 报告线程的估计消耗。使用它们以确认工具塑形标志是否生效,或查找意外上下文增长的来源。
列出加载的 Python 扩展
在会话中运行/extensions 以列出每个扩展注册及其类型、名称、范围和源路径。报告还显示加载失败,以及是否需要 /restart 进行图绑定更改。此命令和 Python 扩展加载需要 DEEPAGENTS_CODE_EXPERIMENTAL=1。有关 Python 扩展。
列出可用工具
在会话中运行/tools 以列出当前智能体可以调用的工具,按内置工具和每个 MCP 服务器提供的工具分组:
/reload,然后使用 /tools 验证活动工具集。有关非交互式等效方法,请参阅 dcode tools list。
审计注入的上下文
在会话中运行/context-doctor 以审计会话注入到每个模型请求的内容及其估计的 Token 成本。报告将注入的上下文分解为基础系统提示词、AGENTS.md 记忆文件、技能索引、内置工具模式以及每个 MCP 服务器的工具模式,然后总计智能体在对话开始前携带的内容:
/context-doctor 以确认。
/context-doctor 补充两个相关命令:
/context显示当前上下文窗口的填充程度;/context-doctor通过将 Token 归因到每个注入组件显示原因。dcode doctor检查安装和配置的健康状况,而无需启动会话;/context-doctor从会话内部审计活动会话的上下文。
跟踪线程成本
在会话中运行/cost 以显示线程的估计成本(美元):
/tokens 获取估计背后的 Token 计数。对于未覆盖的模型,添加自定义定价覆盖。
提问
/btw 允许你在智能体继续工作的同时就对话内容提问。输入 /btw <question>,或输入 /btw 来打开提问字段。答案会出现在临时对话框中,而不是主对话中。按 Esc 来关闭它。
启动命令和初始提示词
使用-m/--message 在交互式会话开始时自动提交初始提示词。结合 --startup-cmd 首先运行 Shell 命令:
--startup-cmd 的输出会渲染在会话记录中供你参考,但不会添加到智能体的消息历史中。要将命令输出交给智能体,请通过 stdin 管道传递:
--startup-cmd 的非零退出和超时会发出警告但不会中止会话。非交互模式下,启动命令会应用 60 秒的超时。
远程沙盒
使用--sandbox 将代码执行路由到远程沙盒。内置提供者包括 langsmith、agentcore、daytona、modal、runloop 和 vercel。也接受第三方和配置声明的提供者。将 --sandbox 与空值一起使用以使用 [sandboxes].default 从 config.toml:
因为
--sandbox 接受可选值,所以在命令行上保持其裸形式最后。否则,后续参数(例如 dcode --sandbox agents)会被当作标志的值来处理。dcode --install 安装沙盒附加组件(例如 dcode --install daytona 或 dcode --install all-sandboxes)。有关提供者设置、工作目录和第三方提供者的信息,请参阅 远程沙盒。
MCP 标志
在启动时控制 MCP 服务器加载:--mcp-config 和 --no-mcp 是互斥的。在非交互模式下,如果没有匹配的保存或环境批准,项目服务器会被静默跳过,除非传递了 --trust-project-mcp:
auth: "oauth" 的 MCP 服务器运行 OAuth 登录,使用 dcode mcp login <server>。不带服务器名称运行 dcode mcp login 以列出需要登录的配置 OAuth 服务器。请参阅 MCP 工具。
命令行选项
管理凭证 (dcode auth)
dcode auth 命令组是 /auth 凭证管理器的可脚本化版本。它读取和写入相同的 auth.json 存储而无需启动 TUI:
set 除非您通过 stdin 管道传输密钥或使用 --from-env,否则拒绝在交互式终端中运行。dcode auth set 仅管理 API 密钥;openai_codex 提供者使用 /auth 通过 ChatGPT 浏览器登录代替。参见 提供者凭证。
检查配置 (dcode config)
dcode config 命令组报告有效配置而无需启动会话。使用它来确认环境变量或 config.toml 设置是否被拾取,或在与错误报告共享截断的快照:
--json。参见 检查配置。
运行诊断 (dcode doctor)
当 Deep Agents Code 无法正确启动、提供者或 MCP 服务器无法连接、跟踪配置错误或安装或更新看起来不正确时,使用 dcode doctor。它总结安装方法、依赖版本、更新状态、跟踪配置和数据目录健康状况而无需启动会话。
当您需要高级别的健康检查和特定设置的精确来源时,将 dcode doctor 与 dcode config show 结合使用。参见 使用 dcode doctor 运行诊断。
CLI 命令
所有管理子命令支持
--json 以生成机器可读输出。参见 命令行选项 获取更多信息。
破坏性命令(agents reset、skills delete、threads delete)支持 --dry-run 以预览在不进行更改的情况下会发生什么。在 JSON 模式下,--dry-run 返回相同的信封,但带有 dry_run: true 字段。
参见
官方原文:src/oss/deepagents/code/cli-reference.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。