Configuration parameters for creating a Deep Agent Matches Python's create_deep_agent parameters
interface CreateDeepAgentParamsBackend instance or factory (default: StateBackend)
Optional checkpointer for persisting agent state between runs
Optional schema for context (not persisted between invocations)
Optional list of memory file paths (AGENTS.md files) to load (e.g., ["~/.deepagents/AGENTS.md", "./.deepagents/AGENTS.md"]). Display names are automatically derived from paths. Memory is loaded at agent startup and added into the system prompt.
Additional middleware to append after default_middleware
The model for the agent. Defaults to defaultModel
Structured output response format for the subagent.
When specified, the subagent will produce a structuredResponse conforming to the
given schema. The structured response is JSON-serialized and returned as the
ToolMessage content to the parent agent, replacing the default last-message extraction.
Accepts any format supported by createAgent: Zod schemas, JSON schema objects,
toolStrategy(schema), providerStrategy(schema), etc.
import { z } from "zod"
const analyzer: SubAgent = {
name: "analyzer",
description: "Analyzes data and returns structured findings",
systemPrompt: "Analyze the data and return your findings.",
responseFormat: z.object({
findings: z.string(),
confidence: z.number(),
}),
};Skill source paths for SkillsMiddleware.
List of paths to skill directories (e.g., ["/skills/user/", "/skills/project/"]).
When specified, the subagent will have its own SkillsMiddleware that loads skills
from these paths. This allows subagents to have different skill sets than the main agent.
Note: Custom subagents do NOT inherit skills from the main agent by default. Only the general-purpose subagent inherits the main agent's skills.
const researcher: SubAgent = {
name: "researcher",
description: "Research assistant",
systemPrompt: "You are a researcher.",
skills: ["/skills/research/", "/skills/web-search/"],
};Optional BaseStore for persistent cross-conversation storage
A list of additional subagents to provide to the agent
System prompt override. Set to null to disable. Defaults to ASYNC_TASK_SYSTEM_PROMPT.
The tools to use for the agent (tool instances, not names). Defaults to defaultTools