Skip to content

[FEAT] add Agno (AgnoOS) as a supported agent provider #2454

@toliver-hb

Description

@toliver-hb

Add Agno as a supported agentic framework. Agno exposes agents via the AG-UI protocol through its AgentOS interface, and there is an official TypeScript adapter package @ag-ui/agno (v0.0.3) that extends HttpAgent from @ag-ui/client.

Motivation

We heavily leverage Agno in our own stack and have seen its community growing rapidly. It's a well-designed Python framework for building multi-agent systems with built-in memory, knowledge, and reasoning. It already has first-class AG-UI support via its AGUI interface.

Adding native Tambo support lowers the barrier for that audience and keeps Tambo's framework coverage comprehensive alongside CrewAI, LlamaIndex, Mastra, and PydanticAI.

Proposed Changes

This follows the exact same pattern as the existing CrewAI/LlamaIndex integrations:

  1. packages/core/src/ai-providers.ts: add AGNO = "agno" to AgentProviderType enum
  2. packages/core/src/agent-registry.ts: add registry entry with isSupported: true
  3. packages/backend/src/services/llm/agent-client.ts: add factory case using AgnoAgent from @ag-ui/agno
  4. packages/backend/package.json / apps/api/package.json: add @ag-ui/agno dependency
  5. packages/backend/src/services/llm/agent-client.test.ts: add agent creation test

How Agno's AG-UI adapter works

AgnoAgent is a thin wrapper over HttpAgent:

// The entire source of @ag-ui/agno
import { HttpAgent } from "@ag-ui/client";

export class AgnoAgent extends HttpAgent {
  public override get maxVersion(): string {
    return "0.0.39";
  }
}

On the Python side, users expose their Agno agent via AgentOS:

from agno.agent.agent import Agent
from agno.models.openai import OpenAIChat
from agno.os import AgentOS
from agno.os.interfaces.agui import AGUI

chat_agent = Agent(model=OpenAIChat(id="gpt-4o"))
agent_os = AgentOS(agents=[chat_agent], interfaces=[AGUI(agent=chat_agent)])
app = agent_os.get_app()

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions