Agno Deep Agent
Agno Deep Agent is an opinionated harness for building deep agents with the Agno feel: easy to call, modular inside, and ready for long-running work.
It combines Team, Agent, Skills, SqliteDb, memory, learning, and
workspace tools behind a small interface. The CLI also adds Agno-native context
compression and multimodal attachments for models that support images, audio,
video, or files:
from agno_deep_agents import create_deep_agent
agent = create_deep_agent(
model="ollama:gemma4:e4b",
instructions="Answer in a practical and concise way.",
)
agent.print_response("Analyze this project and propose the next step.", stream=True)
Goal
The project follows the Deep Agents idea: planning, subagents, filesystem, shell, memory, and persistent context. The difference is that the implementation uses Agno primitives instead of introducing a separate runtime.
Navigation
- Get Started
- CLI
- ACP Editors
- Python API
- Models and Providers
- Architecture
- Protocols
- Skills
- Roadmap
- Publish on GitHub Pages
- Troubleshooting
What Is Included
TeamMode.tasksto coordinate discovery, implementation, and review.- Specialist subagents:
Researcher,Implementer, andReviewer. - SQLite at
.deep-agent/agno.dbfor sessions, memory, and learning. - Local skills in
skills/. - Workspace-restricted
CodingTools. - Agno context compression for long tool-heavy sessions.
- Multimodal inputs through Agno
Image,Audio,Video, andFileclasses. - Interactive Agno-colored CLI with
/model,/models,/compress, and/attach. - Support for Agno
provider:modelstrings, including OpenAI, Anthropic, Google, Groq, local Ollama, and Ollama Cloud. - Agno-inspired documentation styling with dark mode and syntax highlighting.
- ACP stdio server plus protocol direction for MCP and AgentOS.
Custom Tool Example
from agno_deep_agents import create_deep_agent
def get_weather(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
agent = create_deep_agent(
model="ollama:gemma4:e4b",
tools=[get_weather],
instructions="You are a concise assistant.",
)
agent.print_response("What is the weather in sf?", stream=True)
Sandbox Note
Shell execution is restricted by workspace, command allowlist, timeout, and
CodingTools operator checks. This reduces operational risk, but it is not the
same as an operating-system or container sandbox.