Releases: devalexandre/AgnoLab
Releases · devalexandre/AgnoLab
Pre-release for betas
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
localStorageinapps/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
- Python code preview before execution.
- Output view with a response-only mode that shows only the clean assistant response when available in
apps/web/src/App.tsxandapps/api/app/models.py. - Improved text and markdown rendering in the frontend in
apps/web/src/App.tsx. - Monaco-based editor/viewer for snippets, generated code, payloads, and custom tools in
apps/web/src/MonacoToolEditor.tsx.
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
inputagentteamworkflowoutput
Logic nodes
conditionworkflow_step
Integration and advanced resource nodes
toolskillsinterfacedatabasevector_dbknowledgelearning_machinememory_managersession_summary_managercompression_manageroutput_api
Queue and messaging nodes
rabbitmq_inputrabbitmq_outputkafka_inputkafka_outputredis_inputredis_outputnats_inputnats_outputsqs_inputsqs_outputpubsub_inputpubsub_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
- Frontend catalog of Agno built-in tools in
apps/web/src/toolCatalog.ts. - Backend endpoint for discovering functions exposed by built-in tool classes in
apps/api/app/main.py. - Runtime dependency export based on selected tools, as described in
README.md.
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
- 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.mdanddocs/architecture.md. - Validated execution ordering.
- Named Python variable generation.
- Agno object definition generation for flow components.
- Runtime target modeling with current support for
agno-pythonand architectural direction foragnogoinapps/api/app/models.pyanddocs/architecture.md.
Isolated execution
- Local subprocess execution.
- Configurable timeout for generated code.
- Structured capture of
stdout,stderr,exit_code, and warnings inapps/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 inREADME.md.
Project export
- Exporting a flow as a runnable Python project.
- Generation of
main.py,requirements.txt, andREADME.mdfor the exported flow, according toREADME.md. - Export warnings when needed in
apps/api/app/models.py.
Input and output integrations
- Backend email listener support in
apps/api/app/email_listener.py. - Input node configuration for protocol, host, mailbox, filters, and polling in
apps/web/src/nodeCatalog.ts. - Endpoint for listing email listener statuses in
apps/api/app/main.py.
- Backend WhatsApp gateway in
apps/api/app/whatsapp_gateway.py. - Endpoints for session status, start, stop, and webhook event intake in
apps/api/app/main.py. - Input node configuration for session, secret, ...