Quick reference for DeepAgents Python SDK. Print-friendly.
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")
# 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"
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]
)
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
)
}
)
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
)
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
)
# ~/.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"
# ~/.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
~/.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
# 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