Skip to content

Deep Agents Code

Deep Agents Code 是基于 Deep Agents SDK 构建的开源终端编码 Agent,命令名为 dcode。它把 interactive session、项目上下文、memory、skills、subagents、MCP、shell 和审批界面组合成可直接使用 的开发者产品,但不取代底层 SDK,也不等同于部署 CLI。

Beta:截至 2026-07-13,PyPI 当前版本为 deepagents-code 0.1.36,要求 Python >=3.11,<4.0,classifier 为 Beta。

三条产品线不要混用

包或命令当前基线负责什么
deepagentsPython 0.6.12 / TypeScript 1.10.7在代码中构建自定义 Agent Harness
deepagents-code / dcodePython 0.1.36交互或非交互的终端编码 Agent
deepagents-cli / deepagentsPython 0.2.2initdevdeploy 等部署管理

交互式 REPL 已从 deepagents-cli 移到 deepagents-code。要写代码用 dcode;要把配置部署为 Managed Deep Agents/LangSmith 资源,才使用 deepagents deployment CLI。

前端类比

可以把 SDK 类比为 React,Deep Agents Code 类比为基于 React 做好的 IDE 产品,deployment CLI 类比为发布平台的命令行。三者共享技术栈,但 API、用户和生命周期不同。

Deep Agents 原生语义dcode 在本地运行 Agent loop 和配置层,并通过 Deep Agents backend 把文件/命令定向到本地或 remote sandbox;它仍依赖模型 tool calling、LangGraph state 和 Harness middleware。

安装前先审阅远程脚本

官方快速安装命令会下载并立即执行远程脚本:

bash
curl -LsSf https://langch.in/dcode | bash
dcode

这条命令简便,但把下载与执行合并成一步。安全敏感环境应先保存、审阅,再由用户决定是否执行:

bash
curl -LsSf https://langch.in/dcode -o /tmp/install-dcode.sh
less /tmp/install-dcode.sh
bash /tmp/install-dcode.sh

还应核对重定向终点、安装目录和包来源。本文不执行上述命令,也不写入本机配置。

配置与能力组合

Deep Agents Code 把用户级配置放在 ~/.deepagents/,把项目级 memory、skills 和 subagents 放在 仓库内 .deepagents/。项目配置会随仓库内容进入信任边界,打开陌生仓库后应先审查这些文件。

能力在编码工作流中的作用主要风险
Memory记住约定与历史经验恶意或过时指令跨 session 持续
Skills按任务加载工作流和资源脚本/说明可诱导执行高风险动作
Subagents隔离审查、测试和调研上下文并发成本、写冲突、权限扩散
MCP引入外部工具远端身份、工具内容和副作用
HITL审批文件与 shell 操作auto-approve 会缩小人工门槛
Remote sandbox把 tool execution 移出宿主网络、凭据、TTL 仍需配置

Deep Agents Code 当前不提供 async subagents;项目和用户级同步 subagents 使用各自目录中的 AGENTS.md 定义。

交互与自动化边界

交互模式适合边看 diff 边审批。非交互模式用 -n,每次从新 thread 开始,但文件型 memory、skills 和配置仍会持续存在:

bash
dcode -n "只分析失败测试并给出修复建议" --max-turns 8 --timeout 120

非交互模式默认禁用 shell;-S 可以允许特定命令。不要在不可信输入或含秘密的环境中使用 -S all,也不要为了省去提示全局启用 auto-approve。CI 中还要限制 turn、墙钟时间、输出、费用和 可修改路径。

Remote Sandbox

dcode --sandbox <provider> 使用 sandbox-as-tool 模式:Agent loop 留在本地,read_filewrite_fileexecute 等工具定向到远程环境。它保护宿主,但不会阻止 sandbox 内的 prompt injection 或网络外传。

bash
dcode --sandbox daytona
dcode --sandbox modal --sandbox-setup ./reviewed-setup.sh

Setup script 也属于代码执行入口。只使用已审阅脚本,给 sandbox 配置最小网络、短 TTL、资源上限, 并把凭据留在外部工具或 auth proxy 中。

Threat Model 的正确读法

官方仓库提供 libs/code/THREAT_MODEL.md,覆盖 TUI、工具、MCP、hooks、sandbox、session 和配置等 边界。该文档自己声明为自动生成、实验性且可能不完整,因此应把它当成审查清单的起点,而不是安全 认证。

尤其要独立验证:

  • 本地 shell、hook 和 startup command 能访问哪些宿主资源。
  • 项目 memory/skills/MCP 配置如何进入 prompt 与执行面。
  • URL、Unicode、路径和命令参数如何校验。
  • Session、trace、日志和 artifact 是否包含源码或凭据。
  • Remote sandbox 的 provider 保证是否符合组织威胁模型。

先修

下一步

官方参考

学习文档整合站点