DeepAgents Code Reference

Quick reference for DeepAgents Python SDK. Print-friendly.

1. Create Basic Agent

from deepagents import create_deep_agent
from deepagents.tools import read_file, write_file, execute

agent = create_deep_agent(
    model="nvidia:nemotron-3-ultra",  # provider:model format
    tools=[read_file, write_file, execute],
    system_prompt="You are a coding assistant."
)

response = agent.invoke("Add unit tests for auth module")

2. Model Providers

# NVIDIA
model="nvidia:nemotron-3-ultra"

# OpenAI
model="openai:gpt-4o"

# Anthropic
model="anthropic:claude-sonnet-4-20250514"

# Google
model="google_genai:gemini-2.5-flash"

# Ollama (local)
model="ollama:llama3.3:70b"

# OpenRouter
model="openrouter:meta-llama/llama-3-70b"

3. Human Approval Middleware

from deepagents.middleware import HumanApprovalMiddleware

approval = HumanApprovalMiddleware(
    require_approval_for=["write_file", "execute", "git_push"],
    auto_approve_patterns=[
        "read_file:*",
        "write_file:*.test.py",
        "execute:pytest *",
    ],
    timeout_seconds=300,
    timeout_action="deny"
)

agent = create_deep_agent(
    model="nvidia:nemotron-3-ultra",
    middleware=[approval]
)

4. Subagent Configuration

from deepagents.subagents import SubagentConfig

agent = create_deep_agent(
    model="nvidia:nemotron-3-ultra",
    subagent_configs={
        "researcher": SubagentConfig(
            model="nvidia:nemotron-3-ultra",
            tools=[web_search, read_file],
            system_prompt="Research and summarize.",
            max_tokens=2000
        ),
        "reviewer": SubagentConfig(
            model="nvidia:nemotron-3-ultra",
            tools=[read_file],
            system_prompt="Review code for issues.",
            max_tokens=1500
        )
    }
)

5. OpenShell Sandbox Integration

from deepagents.sandboxes import OpenShellSandbox

sandbox = OpenShellSandbox(
    blueprint="nemoclaw/deep-agents-code:latest",
    policy_tier="balanced",
    inference_provider="nvidia",
    mount_project=True,
    project_path="/sandbox/project"
)

agent = create_deep_agent(
    model="nvidia:nemotron-3-ultra",
    sandbox=sandbox
)

6. Memory System

from deepagents.memory import MemoryStore

memory = MemoryStore(agent_name="code")

# Store
memory.store(
    key="project_context",
    value="FastAPI with SQLAlchemy",
    metadata={"type": "project_info"}
)

# Retrieve
relevant = memory.retrieve(
    query="database setup",
    top_k=5
)

7. config.toml Structure

# ~/.deepagents/config.toml

[default]
model = "nvidia:nemotron-3-ultra"
sandbox_provider = "openshell"

[memory]
backend = "sqlite"
compaction_threshold = 50000
retrieval_top_k = 10

[approval]
require_for = ["write_file", "execute"]
auto_approve_reads = true
timeout_seconds = 300

[tracing]
langsmith_project = "my-agent"
log_level = "INFO"

[sandbox.openshell]
blueprint = "nemoclaw/deep-agents-code:latest"
policy_tier = "balanced"

8. AGENTS.md Template

# ~/.deepagents/code/AGENTS.md

## Coding Standards
- Use type hints
- pytest for testing
- structlog for logging

## Project Patterns
- FastAPI for APIs
- SQLAlchemy for ORM
- Alembic for migrations

## Avoid
- Global mutable state
- Bare except clauses
- print() for logging

9. Directory Structure

~/.deepagents/
├── config.toml              # Global config
├── .state/
│   ├── sessions.db          # SQLite memory
│   └── history.jsonl        # Command history
└── code/                    # Per-agent
    ├── AGENTS.md            # Instructions
    ├── skills/              # Custom skills
    └── agents/              # Subagent defs

{project}/.deepagents/
├── AGENTS.md                # Project instructions
├── skills/                  # Project skills
└── agents/                  # Project subagents

10. Blueprint: OpenClaw vs DeepAgents

# OpenClaw Blueprint
spec:
  agent:
    type: openclaw
    config:
      model: nvidia/nemotron-3-ultra

# DeepAgents Blueprint
spec:
  agent:
    type: deepagents
    config:
      model: nvidia/nemotron-3-ultra
      memory:
        backend: sqlite
        compaction: true
      skills_path: /sandbox/.deepagents/skills