Skip to main content Autonomous AI agent platform for building and deploying continuous agents. Use when creating visual workflow agents, deploying persistent autonomous agents, or building complex multi-step AI automation systems.
npx skills add orchestra-research/ai-research-skills --skill autogpt-agents ai ai-research claude claude-code claude-skills codex
AutoGPT - Autonomous AI Agent Platform
Comprehensive platform for building, deploying, and managing continuous AI agents through a visual interface or development toolkit.
When to use AutoGPT
Use AutoGPT when:
Building autonomous agents that run continuously
Creating visual workflow-based AI agents
Deploying agents with external triggers (webhooks, schedules)
Building complex multi-step automation pipelines
Need a no-code/low-code agent builder
Key features:
Visual Agent Builder : Drag-and-drop node-based workflow editor
Continuous Execution : Agents run persistently with triggers
Marketplace : Pre-built agents and blocks to share/reuse
Block System : Modular components for LLM, tools, integrations
Forge Toolkit : Developer tools for custom agent creation
Benchmark System : Standardized agent performance testing
Use alternatives instead:
LangChain/LlamaIndex : If you need more control over agent logic
CrewAI : For role-based multi-agent collaboration
OpenAI Assistants : For simple hosted agent deployments
Semantic Kernel : For Microsoft ecosystem integration
Quick start
Installation (Docker)
# Clone repository
git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT/autogpt_platform
# Copy environment file
cp .env.example .env
# Start backend services
docker compose up -d --build
# Start frontend (in separate terminal)
cd frontend
cp .env.example .env
npm install
npm run dev
Access the platform
Architecture overview AutoGPT has two main systems:
AutoGPT Platform (Production)
Visual agent builder with React frontend
FastAPI backend with execution engine
PostgreSQL + Redis + RabbitMQ infrastructure
AutoGPT Classic (Development)
Forge : Agent development toolkit
Benchmark : Performance testing framework
CLI : Command-line interface for development
Core concepts
Graphs and nodes Agents are represented as graphs containing nodes connected by links :
Graph (Agent)
├── Node (Input)
│ └── Block (AgentInputBlock)
├── Node (Process)
│ └── Block (LLMBlock)
├── Node (Decision)
│ └── Block (SmartDecisionMaker)
└── Node (Output)
└── Block (AgentOutputBlock)
Blocks Blocks are reusable functional components:
Block Type Purpose INPUTAgent entry points OUTPUTAgent outputs AILLM calls, text generation WEBHOOKExternal triggers STANDARDGeneral operations AGENTNested agent execution
Execution flow User/Trigger → Graph Execution → Node Execution → Block.execute()
↓ ↓ ↓
Inputs Queue System Output Yields
Building agents
Using the visual builder
Open Agent Builder at http://localhost:3000
Add blocks from the BlocksControl panel
Connect nodes by dragging between handles
Configure inputs in each node
Run agent using PrimaryActionBar
Available blocks
AITextGeneratorBlock - Generate text with LLMs
AIConversationBlock - Multi-turn conversations
SmartDecisionMakerBlock - Conditional logic
GitHub, Google, Discord, Notion connectors
Webhook triggers and handlers
HTTP request blocks
Input/Output blocks
Branching and decision nodes
Loop and iteration blocks
Agent execution
Trigger types POST /api/v1/graphs/{graph_id}/execute
Content-Type: application/json
{
"inputs": {
"input_name": "value"
}
}
POST /api/v1/webhooks/{webhook_id}
Content-Type: application/json
{
"data": "webhook payload"
}
{
"schedule": "0 */2 * * *",
"graph_id": "graph-uuid",
"inputs": {}
}
Monitoring execution const ws = new WebSocket('ws://localhost:8001/ws');
ws.onmessage = (event) => {
const update = JSON.parse(event.data);
console.log(`Node ${update.node_id}: ${update.status}`);
};
GET /api/v1/executions/{execution_id}
Using Forge (Development)
Create custom agent # Setup forge environment
cd classic
./run setup
# Create new agent from template
./run forge create my-agent
# Start agent server
./run forge start my-agent
Agent structure my-agent/
├── agent.py # Main agent logic
├── abilities/ # Custom abilities
│ ├── __init__.py
│ └── custom.py
├── prompts/ # Prompt templates
└── config.yaml # Agent configuration
Implement custom ability from forge import Ability, ability
@ability(
name="custom_search",
description="Search for information",
parameters={
"query": {"type": "string", "description": "Search query"}
}
)
def custom_search(query: str) -> str:
"""Custom search ability."""
# Implement search logic
result = perform_search(query)
return result
Benchmarking agents
Run benchmarks # Run all benchmarks
./run benchmark
# Run specific category
./run benchmark --category coding
# Run with specific agent
./run benchmark --agent my-agent
Benchmark categories
Coding : Code generation and debugging
Retrieval : Information finding
Web : Web browsing and interaction
Writing : Text generation tasks
VCR cassettes Benchmarks use recorded HTTP responses for reproducibility:
# Record new cassettes
./run benchmark --record
# Run with existing cassettes
./run benchmark --playback
Integrations
Adding credentials
Navigate to Profile > Integrations
Select provider (OpenAI, GitHub, Google, etc.)
Enter API keys or authorize OAuth
Credentials are encrypted and stored securely
Using credentials in blocks Blocks automatically access user credentials:
class MyLLMBlock(Block):
def execute(self, inputs):
# Credentials are injected by the system
credentials = self.get_credentials("openai")
client = OpenAI(api_key=credentials.api_key)
# ...
Supported providers Provider Auth Type Use Cases OpenAI API Key LLM, embeddings Anthropic API Key Claude models GitHub OAuth Code, repos Google OAuth Drive, Gmail, Calendar Discord Bot Token Messaging Notion OAuth Documents
Deployment
Docker production setup # docker-compose.prod.yml
services:
rest_server:
image: autogpt/platform-backend
environment:
- DATABASE_URL=postgresql://...
- REDIS_URL=redis://redis:6379
ports:
- "8006:8006"
executor:
image: autogpt/platform-backend
command: poetry run executor
frontend:
image: autogpt/platform-frontend
ports:
- "3000:3000"
Environment variables Variable Purpose DATABASE_URLPostgreSQL connection REDIS_URLRedis connection RABBITMQ_URLRabbitMQ connection ENCRYPTION_KEYCredential encryption SUPABASE_URLAuthentication
Generate encryption key cd autogpt_platform/backend
poetry run cli gen-encrypt-key
Best practices
Start simple : Begin with 3-5 node agents
Test incrementally : Run and test after each change
Use webhooks : External triggers for event-driven agents
Monitor costs : Track LLM API usage via credits system
Version agents : Save working versions before changes
Benchmark : Use agbenchmark to validate agent quality
Common issues # Check container status
docker compose ps
# View logs
docker compose logs rest_server
# Restart services
docker compose restart
Database connection issues:
# Run migrations
cd backend
poetry run prisma migrate deploy
# Check RabbitMQ queue
# Visit http://localhost:15672 (guest/guest)
# Clear stuck executions
docker compose restart executor
References
Resources Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).