| title | Welcome to Agno |
|---|---|
| description | Build, run, and manage agentic software at scale. |
| mode | custom |
export const CodeTabs = ({ tabs, defaultTab }) => { const [activeTab, setActiveTab] = React.useState(defaultTab || tabs[0]?.id); const currentTab = tabs.find((tab) => tab.id === activeTab) || tabs[0];
return (
<style dangerouslySetInnerHTML={{__html: `
.code-box {
position: relative;
border-radius: 16px;
border: 1px solid #27272a;
background: #09090b;
padding: 20px;
overflow: auto;
}
.code-box pre {
margin: 0;
padding: 0;
overflow: auto;
font-size: 13px;
line-height: 1.8;
font-family: "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
}
.code-box code {
color: #e5e7eb;
white-space: pre;
}
.code-lang {
display: block;
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.15em;
color: #ff4017;
margin-bottom: 16px;
font-weight: 600;
}
`}} />
<div className="code-box">
<pre>
<code>
{currentTab?.language && (
<span className="code-lang">{currentTab.language}</span>
)}
{currentTab?.code}
</code>
</pre>
</div>
</div>
); };
export const highlightStyle = { backgroundColor: "rgba(255, 64, 23, 0.2)", display: "block", };
export const codeTabs = [ { id: "agents", label: "Agents", language: "python", code: ( <> <span style={{ color: "#ff4017" }}>from agno.agent{" "} <span style={{ color: "#ff4017" }}>import Agent{"\n"} <span style={{ color: "#ff4017" }}>from agno.models.anthropic{" "} <span style={{ color: "#ff4017" }}>import Claude{"\n"} <span style={{ color: "#ff4017" }}>from agno.tools.coding{" "} <span style={{ color: "#ff4017" }}>import CodingTools{"\n"} {"\n"} agent = Agent({"\n"} {" "}model=Claude(id= <span style={{ color: "#c3e88d" }}>"claude-sonnet-4-5"),{"\n"} {" "}tools=[CodingTools()],{"\n"} {" "}add_history_to_context= <span style={{ color: "#ff4017" }}>True,{"\n"} {" "}markdown=<span style={{ color: "#ff4017" }}>True,{"\n"} ){"\n"} {"\n"} agent.print_response( <span style={{ color: "#c3e88d" }}> "Build a todo app with tests." , stream=<span style={{ color: "#ff4017" }}>True) </> ), }, { id: "teams", label: "Teams", language: "python", code: ( <> <span style={{ color: "#ff4017" }}>from agno.team{" "} <span style={{ color: "#ff4017" }}>import Team{"\n"} <span style={{ color: "#ff4017" }}>from agno.agent{" "} <span style={{ color: "#ff4017" }}>import Agent{"\n"} <span style={{ color: "#ff4017" }}> from agno.models.anthropic{" "} <span style={{ color: "#ff4017" }}>import Claude{"\n"} <span style={{ color: "#ff4017" }}> from agno.tools.hackernews{" "} <span style={{ color: "#ff4017" }}>import HackerNewsTools{"\n"} <span style={{ color: "#ff4017" }}> from agno.tools.newspaper4k{" "} <span style={{ color: "#ff4017" }}>import Newspaper4kTools{"\n"} {"\n"} hn_researcher = Agent(name= <span style={{ color: "#c3e88d" }}>"HackerNews Researcher", tools=[HackerNewsTools()]){"\n"} article_reader = Agent(name= <span style={{ color: "#c3e88d" }}>"Article Reader", tools=[Newspaper4kTools()]){"\n"} {"\n"} team = Team({"\n"} {" "}model=Claude(id= <span style={{ color: "#c3e88d" }}>"claude-sonnet-4-5"),{"\n"} {" "}members=[hn_researcher, article_reader],{"\n"} {" "}add_history_to_context= <span style={{ color: "#ff4017" }}>True,{"\n"}){"\n"} team.print_response( <span style={{ color: "#c3e88d" }}> "Research AI trends and summarize the top articles" ) </> ), }, { id: "workflows", label: "Workflows", language: "python", code: ( <> <span style={{ color: "#ff4017" }}>from agno.agent{" "} <span style={{ color: "#ff4017" }}>import Agent{"\n"} <span style={{ color: "#ff4017" }}>from agno.workflow{" "} <span style={{ color: "#ff4017" }}>import Workflow{"\n"} <span style={{ color: "#ff4017" }}> from agno.models.anthropic{" "} <span style={{ color: "#ff4017" }}>import Claude{"\n"} <span style={{ color: "#ff4017" }}> from agno.tools.duckduckgo{" "} <span style={{ color: "#ff4017" }}>import DuckDuckGoTools{"\n"} {"\n"} researcher = Agent(name= <span style={{ color: "#c3e88d" }}>"Researcher", model=Claude(id= <span style={{ color: "#c3e88d" }}>"claude-sonnet-4-5"), tools=[DuckDuckGoTools()]){"\n"} writer = Agent(name=<span style={{ color: "#c3e88d" }}>"Writer", model=Claude(id= <span style={{ color: "#c3e88d" }}>"claude-sonnet-4-5"), instructions= <span style={{ color: "#c3e88d" }}>"Write engaging content") {"\n"} {"\n"} workflow = Workflow({"\n"} {" "}name= <span style={{ color: "#c3e88d" }}>"Content Workflow",{"\n"} {" "}steps=[researcher, writer],{"\n"}){"\n"} workflow.print_response( <span style={{ color: "#c3e88d" }}> "Create a blog post about AI agents" , stream=<span style={{ color: "#ff4017" }}>True) </> ), }, { id: "agentos", label: "AgentOS", language: "python", code: ( <> <span style={{ color: "#ff4017" }}>from agno.os{" "} <span style={{ color: "#ff4017" }}>import AgentOS{"\n"} <span style={{ color: "#ff4017" }}>from agno.agent{" "} <span style={{ color: "#ff4017" }}>import Agent{"\n"} <span style={{ color: "#ff4017" }}>from agno.db.sqlite{" "} <span style={{ color: "#ff4017" }}>import SqliteDb{"\n"} <span style={{ color: "#ff4017" }}>from agno.tools.mcp{" "} <span style={{ color: "#ff4017" }}>import MCPTools{"\n"} <span style={{ color: "#ff4017" }}> from agno.models.anthropic{" "} <span style={{ color: "#ff4017" }}>import Claude{"\n"} {"\n"} agent = Agent({"\n"} {" "}name=<span style={{ color: "#c3e88d" }}>"Support Agent", {"\n"} {" "}model=Claude(id= <span style={{ color: "#c3e88d" }}>"claude-sonnet-4-5"),{"\n"} {" "}db=SqliteDb(db_file= <span style={{ color: "#c3e88d" }}>"agno.db"),{"\n"} {" "}tools=[MCPTools(url= <span style={{ color: "#c3e88d" }}>"https://docs.agno.com/mcp")], {"\n"} {" "}add_history_to_context= <span style={{ color: "#ff4017" }}>True,{"\n"} {" "}markdown=<span style={{ color: "#ff4017" }}>True,{"\n"}) {"\n"} {"\n"} agent_os = AgentOS(agents=[agent]){"\n"} app = agent_os.get_app(){" "} <span style={{ color: "#71717a" }}># FastAPI app ready to deploy </> ), }, ];
{/* ============================================
HEADER NAVIGATION
============================================ */}
<header className="flex flex-col gap-3 rounded-full border border-[#e5e7eb] dark:border-zinc-700 bg-white dark:bg-zinc-900 px-5 py-3 shadow-sm sm:flex-row sm:items-center sm:justify-between">
<div className="flex items-center gap-3">
<span className="text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-100">Agno</span>
<span className="rounded-full border border-[#e5e7eb] dark:border-zinc-700 px-3 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-zinc-500 dark:text-zinc-400">
Docs
</span>
</div>
<div className="flex items-center gap-3">
<a
href="/introduction"
className="rounded-full border border-[#d1d5db] dark:border-zinc-600 bg-white dark:bg-zinc-800 px-4 py-2 text-sm font-semibold text-zinc-800 dark:text-zinc-100 transition hover:bg-zinc-50 dark:hover:bg-zinc-700"
>
Read the docs
</a>
<a
href="https://os.agno.com"
className="rounded-full border border-[#ff4017] bg-[#ff4017] px-4 py-2 text-sm font-semibold text-white shadow-[0_10px_20px_rgba(255,64,23,0.25)] transition hover:bg-[#ff2e00]"
>
Try AgentOS
</a>
</div>
</header>
{/* ============================================
HERO SECTION
============================================ */}
<section className="mt-20 flex flex-col items-center gap-6 text-center">
<h1 className="text-4xl font-semibold leading-[1.05] text-zinc-900 dark:text-zinc-100 sm:text-5xl md:text-[64px]">
Build. Run. Manage.<br />
Agentic Software at Scale
{/* Blinking Cursor Animation */}
{(() => {
const [visible, setVisible] = React.useState(true);
React.useEffect(() => {
const interval = setInterval(() => setVisible(v => !v), 600);
return () => clearInterval(interval);
}, []);
return (
<span style={{
display: 'inline-block',
width: '0.5em',
height: '0.1em',
backgroundColor: '#ff4017',
marginLeft: '0.1em',
verticalAlign: 'baseline',
position: 'relative',
top: '0.10em',
opacity: visible ? 1 : 0,
transition: 'opacity 0.5s ease-in-out',
}} />
);
})()}
</h1>
{/* ============================================
QUICK START CARDS
============================================ */}
<div className="mt-12 grid w-full max-w-5xl grid-cols-1 gap-4 md:grid-cols-3">
{/* Getting Started Card */}
<a
href="/introduction"
className="group relative flex flex-col gap-2 rounded-xl bg-[#f6f7f9] dark:bg-zinc-900 border border-[#e5e7eb] dark:border-zinc-700 p-5 transition hover:border-[#e5e7eb] dark:hover:border-zinc-600"
>
<span className="pointer-events-none absolute -left-2 -top-2 h-4 w-4 border-l-2 border-t-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -right-2 -top-2 h-4 w-4 border-r-2 border-t-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -bottom-2 -left-2 h-4 w-4 border-b-2 border-l-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -bottom-2 -right-2 h-4 w-4 border-b-2 border-r-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<h3 className="text-base font-semibold text-start text-zinc-900 dark:text-zinc-100">Get Started</h3>
<p className="text-xs leading-relaxed text-start text-zinc-500 dark:text-zinc-400">
Explore the SDK and build your first Agent.
</p>
</a>
{/* AgentOS Card */}
<a
href="/agent-os/introduction"
className="group relative flex flex-col gap-2 rounded-xl border border-[#e5e7eb] dark:border-zinc-700 bg-[#f6f7f9] dark:bg-zinc-900 p-5 transition hover:border-[#e5e7eb] dark:hover:border-zinc-600"
>
<span className="pointer-events-none absolute -left-2 -top-2 h-4 w-4 border-l-2 border-t-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -right-2 -top-2 h-4 w-4 border-r-2 border-t-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -bottom-2 -left-2 h-4 w-4 border-b-2 border-l-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -bottom-2 -right-2 h-4 w-4 border-b-2 border-r-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<h3 className="text-base font-semibold text-start text-zinc-900 dark:text-zinc-100">AgentOS</h3>
<p className="text-xs leading-relaxed text-start text-zinc-500 dark:text-zinc-400">
Turn your Agents into a production API.
</p>
</a>
{/* Production Card */}
<a
href="/production/overview"
className="group relative flex flex-col gap-2 rounded-xl border border-[#e5e7eb] dark:border-zinc-700 bg-[#f6f7f9] dark:bg-zinc-900 p-5 transition hover:border-[#e5e7eb] dark:hover:border-zinc-600"
>
<span className="pointer-events-none absolute -left-2 -top-2 h-4 w-4 border-l-2 border-t-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -right-2 -top-2 h-4 w-4 border-r-2 border-t-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -bottom-2 -left-2 h-4 w-4 border-b-2 border-l-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<span className="pointer-events-none absolute -bottom-2 -right-2 h-4 w-4 border-b-2 border-r-2 border-[#ff4017] opacity-0 transition-opacity group-hover:opacity-100" />
<h3 className="text-base font-semibold text-start text-zinc-900 dark:text-zinc-100">Deploy</h3>
<p className="text-xs leading-relaxed text-start text-zinc-500 dark:text-zinc-400">
Production patterns for deploying your AgentOS.
</p>
</a>
</div>
</section>
{/* ============================================
CODE EXAMPLES SECTION
============================================ */}
<section className="mt-20 flex flex-col gap-6">
<div className="flex flex-col gap-2 text-center">
<p className="text-xs font-semibold uppercase tracking-[0.35em] text-zinc-500 dark:text-zinc-400">Build with agno</p>
</div>
<div className="lg:p-10">
<CodeTabs tabs={codeTabs} defaultTab="agents" />
</div>
</section>
{/* ============================================
FOOTER SECTION
============================================ */}
<section className="mt-20 pb-12">
{/* Footer Links Grid */}
<div className="mx-auto grid max-w-6xl grid-cols-2 gap-8 px-5 sm:px-8 lg:grid-cols-5 lg:px-10">
<div>
<h3 className="mb-4 text-xs font-semibold uppercase tracking-wider text-zinc-900 dark:text-zinc-100">Get Started</h3>
<ul className="space-y-3">
<li><a href="/introduction" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">What is Agno?</a></li>
<li><a href="/first-agent" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Your First Agent</a></li>
</ul>
</div>
<div>
<h3 className="mb-4 text-xs font-semibold uppercase tracking-wider text-zinc-900 dark:text-zinc-100">SDK</h3>
<ul className="space-y-3">
<li><a href="/agents/overview" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Agents</a></li>
<li><a href="/teams/overview" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Teams</a></li>
<li><a href="/workflows/overview" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Workflows</a></li>
</ul>
</div>
<div>
<h3 className="mb-4 text-xs font-semibold uppercase tracking-wider text-zinc-900 dark:text-zinc-100">Agent OS</h3>
<ul className="space-y-3">
<li><a href="/agent-os/introduction" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Introduction</a></li>
<li><a href="/agent-os/control-plane" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Control Plane</a></li>
<li><a href="/agent-os/overview" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Configuration</a></li>
</ul>
</div>
<div>
<h3 className="mb-4 text-xs font-semibold uppercase tracking-wider text-zinc-900 dark:text-zinc-100">Production</h3>
<ul className="space-y-3">
<li><a href="/deploy/introduction" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Overview</a></li>
<li><a href="deploy/templates" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Templates</a></li>
<li><a href="/deploy/apps" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Applications</a></li>
<li><a href="/deploy/interfaces" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Interfaces</a></li>
</ul>
</div>
<div>
<h3 className="mb-4 text-xs font-semibold uppercase tracking-wider text-zinc-900 dark:text-zinc-100">Reference</h3>
<ul className="space-y-3">
<li><a href="/reference" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">APIs</a></li>
<li><a href="/examples/introduction" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Cookbook</a></li>
<li><a href="https://github.com/agno-agi/dash" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Dash</a></li>
<li><a href="https://github.com/agno-agi/scout" className="text-sm text-zinc-500 dark:text-zinc-400 transition hover:text-[#ff4017]">Scout</a></li>
</ul>
</div>
</div>
{/* Footer Bottom - Copyright & Social Links */}
<div className="mx-auto mt-12 flex max-w-6xl items-center justify-between px-5 pt-8 sm:px-8 lg:px-10">
<p className="text-xs text-zinc-400 dark:text-zinc-500">© 2025 Agno Inc. All rights reserved.</p>
<div className="flex items-center gap-4">
<a href="https://x.com/AgnoAgi" className="text-zinc-400 dark:text-zinc-500 transition hover:text-[#ff4017]">
<svg className="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
</a>
<a href="https://github.com/agno-agi/agno" className="text-zinc-400 dark:text-zinc-500 transition hover:text-[#ff4017]">
<svg className="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"/></svg>
</a>
<a href="https://agno.com/discord" className="text-zinc-400 dark:text-zinc-500 transition hover:text-[#ff4017]">
<svg className="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M20.317 4.37a19.791 19.791 0 00-4.885-1.515.074.074 0 00-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 00-5.487 0 12.64 12.64 0 00-.617-1.25.077.077 0 00-.079-.037A19.736 19.736 0 003.677 4.37a.07.07 0 00-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 00.031.057 19.9 19.9 0 005.993 3.03.078.078 0 00.084-.028 14.09 14.09 0 001.226-1.994.076.076 0 00-.041-.106 13.107 13.107 0 01-1.872-.892.077.077 0 01-.008-.128 10.2 10.2 0 00.372-.292.074.074 0 01.077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 01.078.01c.12.098.246.198.373.292a.077.077 0 01-.006.127 12.299 12.299 0 01-1.873.892.077.077 0 00-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 00.084.028 19.839 19.839 0 006.002-3.03.077.077 0 00.032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 00-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/></svg>
</a>
<a href="https://www.youtube.com/@agno-agi" className="text-zinc-400 dark:text-zinc-500 transition hover:text-[#ff4017]">
<svg className="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
</div>
</div>
</section>