β οΈ ALPHA STAGE: This library is currently in alpha.
AgentNexus simplifies the creation of LLM and AI agents with interactive user interfaces and structured workflows. It automatically generates agent manifests to enable seamless discovery, distributed deployment, and cross-agent communication.
The library provides a declarative approach to building AI agents using Python decorators, allowing developers to focus on agent logic rather than infrastructure.
- Declarative Development: Create complex agents using intuitive Python decorators
- Multi-Action Support: Define multiple agent actions within a single agent
- Workflow-Driven Design: Build multi-step UI workflows with state management
- Rich Component Library: Tables, forms, code editors, and markdown displays
- Automatic Event Handling: Simplified component event management
- Context-Aware State: Preserve state across workflow steps and sessions
- Standard Protocol: JSON schema for agents, actions, workflows, and UI components
- Cross-Platform Compatibility: Works with any platform supporting the manifest spec
- Distributed Architecture: Enables decentralized agent discovery and execution
# Install the latest release
pip install agentnexus
# Or with a specific version
pip install agentnexus==0.1.0pip install uv # If you don't have uv installed
uv pip install agentnexus- Python 3.8+
- Git
# Clone the repository
git clone https://github.com/MuhammadYossry/agentnexus.git
cd agentnexus
# Option 1: Using uv (recommended for faster dependency resolution)
pip install uv # If you don't have uv installed
uv venv
uv pip install -r requirements.txt
# Option 2: Using pip and venv
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt# Using uv
uv run uvicorn main:app --port 9200 --reload
# Using regular Python (if installed with venv)
uvicorn main:app --port 9200 --reloadThe server will start at http://localhost:9200, and the auto-generated manifest will be available at http://localhost:9200/agents.json.
# Using uv
uv run pytest
# Or using the included script
python run_tests.pyfrom agentnexus.base_types import AgentConfig, Capability, ActionType
from agentnexus.action_manager import agent_action
# Define agent
my_agent = AgentConfig(
name="Simple Assistant",
version="1.0.0",
description="Basic AI assistant with simple capabilities",
capabilities=[
Capability(
skill_path=["Utilities", "Text"],
metadata={"features": ["Summarization", "Translation"]}
)
]
)
# Create an action
@agent_action(
agent_config=my_agent,
action_type=ActionType.GENERATE,
name="Summarize Text",
description="Creates a concise summary of longer text"
)
async def summarize_text(input_data):
"""Summarize the provided text."""
text = input_data.text
max_length = getattr(input_data, "max_length", 100)
# Summarization logic would go here
summary = text[:max_length] + "..." # Simplified example
return {"summary": summary, "original_length": len(text)}from fastapi import FastAPI
from agentnexus.manifest_generator import AgentManager
app = FastAPI()
agent_manager = AgentManager(base_url="http://localhost:8000")
agent_manager.add_agent(my_agent)
agent_manager.setup_agents(app)
# Run with: uvicorn main:app --reload- Agent Config: Defines an agent's metadata and capabilities
- Actions: Standalone agent capabilities, triggered via API endpoints
- Workflows: Multi-step processes with state management
- UI Components: Interactive UI elements with event handling
- Context Management: State preservation across workflow steps
- Manifest: Standardized JSON schema for agent discovery and integration
The library automatically creates these endpoints:
GET /agents.json- List all available agentsGET /agents/{agent_slug}.json- Get detailed manifest for a specific agentPOST /agents/{agent_slug}/actions/{action_name}- Trigger agent actionsPOST /agents/{agent_slug}/workflows/{workflow_id}/steps/{step_id}- Execute workflow steps
AgentNexus includes several built-in UI components:
- FormComponent: Interactive forms for data collection
- TableComponent: Display and interact with tabular data
- CodeEditorComponent: Code editing with syntax highlighting
- MarkdownComponent: Formatted text display
Comprehensive documentation is under development. For now, please refer to the examples in the agents directory.
AgentNexus is in alpha stage and under active development. The API may change significantly before the first stable release. Current limitations include:
- Limited production testing
- Incomplete documentation
- Some API instability
- Limited example collection
Contributions are welcome! Help us improve AgentNexus by:
- Reporting bugs
- Suggesting features
- Submitting pull requests
- Improving documentation
If you find AgentNexus useful, please give us a star on GitHub!