Skip to content

Releases: devalexandre/AgnoLab

Pre-release for betas

05 Apr 23:57

Choose a tag to compare

Pre-release for betas Pre-release
Pre-release

AgnoLab Project Resources

This document consolidates the main resources and capabilities currently available in the project, based on the existing documentation, repository structure, and implemented backend and frontend modules.

Product overview

AgnoLab is a visual builder for Agno workflows focused on:

  • building flows on a low-code canvas
  • generating executable Python code
  • running flows locally with output inspection
  • exporting flows as runnable Python projects
  • supporting integrations, queues, skills, and external channels

Core visual editor capabilities

Flow canvas

  • Graph-based visual editor for assembling flows with nodes and edges.
  • Node connection creation with source/target compatibility validation.
  • Node organization by categories such as Core, Logic, Integrations, Queues, and Interfaces in apps/web/src/nodeCatalog.ts.
  • Canvas minimap for navigating larger flows in apps/web/src/App.tsx.
  • Zoom, pan, and spatial node manipulation on the canvas in apps/web/src/App.tsx.
  • Visual execution badges and status indicators directly on nodes during runs in apps/web/src/App.tsx.
  • Undo and redo support with local graph edit history in apps/web/src/App.tsx.

Editing and persistence

  • Autosave for the current flow.
  • Local draft persistence per route/flow through localStorage in apps/web/src/App.tsx.
  • Manual saving of named flows to the backend.
  • Loading previously saved flows.
  • Deleting saved flows.
  • Locally persisted theme switching in apps/web/src/App.tsx.

Preview and inspection

Available node types

The available node types are defined in apps/api/app/models.py and detailed in the frontend catalog in apps/web/src/nodeCatalog.ts.

Core nodes

  • input
  • agent
  • team
  • workflow
  • output

Logic nodes

  • condition
  • workflow_step

Integration and advanced resource nodes

  • tool
  • skills
  • interface
  • database
  • vector_db
  • knowledge
  • learning_machine
  • memory_manager
  • session_summary_manager
  • compression_manager
  • output_api

Queue and messaging nodes

  • rabbitmq_input
  • rabbitmq_output
  • kafka_input
  • kafka_output
  • redis_input
  • redis_output
  • nats_input
  • nats_output
  • sqs_input
  • sqs_output
  • pubsub_input
  • pubsub_output

Functional capabilities by node type

Input

  • Manual text input to start flows.
  • JSON metadata submission alongside the input.
  • File upload and forwarding for multiple formats.
  • Input support for documents, images, audio, and video in apps/web/src/App.tsx.
  • Email-based input configuration.
  • Webhook/form-based input configuration.
  • WhatsApp-based input configuration.

Agent

  • Configuration of provider, model, instructions, and agent parameters.
  • Connections to tools, skills, databases, knowledge resources, vector databases, and managers.
  • Debug mode and datetime context enrichment in apps/web/src/nodeCatalog.ts.
  • Compatibility with multiple remote and local providers.

Team

  • Coordination of multiple agents in a shared execution.
  • Team coordination mode configuration.
  • Final answer consolidation across participants.
  • Integration with memory, knowledge, databases, and tools.

Workflow and Workflow Step

  • Sequential orchestration of ordered execution steps.
  • Step ordering configuration.
  • Retry control, confirmation behavior, input validation, and error handling options in apps/web/src/nodeCatalog.ts.
  • Workflow settings for event streaming, history, telemetry, and executor output storage in apps/web/src/nodeCatalog.ts.

Condition

  • Conditional routing based on a rule defined in the node.

Output and API Output

  • Final result display on the canvas.
  • Text or structured result output.
  • Result delivery to an external API through POST with configurable headers, bearer token, and timeout in apps/web/src/nodeCatalog.ts.
  • Prepared fields for payload templates, email, chat/webhook, and tabular output in apps/web/src/nodeCatalog.ts.

Tools and extensibility

Custom tools

  • Creation of custom Python tools using Agno's tool decorator.
  • Inline editing of tool function code.
  • Persistence of user-saved tools in the frontend.
  • Starter tool catalog in apps/web/src/starterTools.ts.

Built-in tools

Local skills

  • Support for local Agno skills through skill directories.
  • Discovery of valid skill paths in both the repository and the user skill directory in apps/api/app/main.py.
  • Skill validation before use.
  • Dedicated node for attaching skill packs to agents in apps/web/src/nodeCatalog.ts.

Providers and model support

Multi-provider support

According to README.md, the project supports both local and remote providers, including:

  • Ollama
  • OpenAI
  • Anthropic
  • Google
  • Groq
  • Mistral
  • Cohere
  • Cerebras
  • OpenRouter
  • LiteLLM
  • Azure
  • Bedrock
  • Vertex
  • IBM WatsonX
  • Portkey
  • LangDB
  • and other providers supported by Agno

Provider-related capabilities

  • Provider presets in the frontend.
  • Manual configuration of provider, model, API key, base URL, and extra environment values.
  • Environment credential fallback when fields are left blank, as noted in README.md.
  • Ollama model discovery through a dedicated endpoint in apps/api/app/main.py.
  • Configurable execution timeout for local providers.

Backend, compilation, and execution

FastAPI backend

The backend in apps/api/app/main.py currently provides resources for:

  • health checks
  • serving the home page
  • returning the default canvas graph
  • listing and loading canvas templates
  • listing available skills
  • inspecting built-in tool functions
  • code generation preview
  • executing compiled graphs
  • listing, saving, loading, and deleting flows
  • running saved flows by name
  • exporting projects
  • listing runtime status for flows
  • listing and controlling integration listeners/subscribers
  • integration endpoints for form/webhook and WhatsApp flows

Flow compilation

  • Conversion of the visual graph into executable Python code, as described in README.md and docs/architecture.md.
  • Validated execution ordering.
  • Named Python variable generation.
  • Agno object definition generation for flow components.
  • Runtime target modeling with current support for agno-python and architectural direction for agnogo in apps/api/app/models.py and docs/architecture.md.

Isolated execution

  • Local subprocess execution.
  • Configurable timeout for generated code.
  • Structured capture of stdout, stderr, exit_code, and warnings in apps/api/app/models.py.
  • Clean output extraction for simplified frontend display.
  • Runtime checks and dependency preflight validation, as noted in README.md.

Templates, saved flows, and export

Templates

  • Default canvas template.
  • Listing of ready-made templates through the API in apps/api/app/main.py.
  • Loading a specific template by identifier.

Saved flows

  • Persistent flow saving by name.
  • Reloading flows for later editing or execution.
  • Re-running saved flows by name.
  • Host-side persistence under apps/api/data, as described in README.md.

Project export

Input and output integrations

Email

WhatsApp

Read more