mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-12 07:45:14 -05:00
- SystemComponent: Keep both general constraints (physical objects) and code-specific constraints (don't modify tests, check dependencies, no secrets) - SystemComponent: Keep both general best practices (self-review, reflection) and code-specific best practices (read before modify, mimic style, verify) - LATS: Keep general phase instructions while adding coding task priorities - one_shot: Remove redundant 'text' field from AssistantThoughts, use 'reasoning' - one_shot: Fix intro to clarify when to use ask_user instead of contradicting it - one_shot: Add efficiency guidelines and parallel execution support - Update UI to display reasoning as main thoughts (remove redundant REASONING line) - Update test fixtures to match new AssistantThoughts schema Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
AutoGPT Forge
Core autonomous agent framework for building AI agents.
Quick Start
All commands run from the classic/ directory (parent of this directory):
# Install (one-time setup)
cd classic
poetry install
# Configure
cp .env.example .env
# Edit .env with your OPENAI_API_KEY
# Run
poetry run python -m forge
The agent server runs on http://localhost:8000 by default.
Configuration
Environment Variables (.env)
# Required
OPENAI_API_KEY=sk-...
# Optional LLM settings
SMART_LLM=gpt-4o # Model for complex reasoning
FAST_LLM=gpt-4o-mini # Model for simple tasks
EMBEDDING_MODEL=text-embedding-3-small
# Optional search providers
TAVILY_API_KEY=tvly-...
SERPER_API_KEY=...
GOOGLE_API_KEY=...
GOOGLE_CUSTOM_SEARCH_ENGINE_ID=...
# Optional infrastructure
LOG_LEVEL=DEBUG # DEBUG, INFO, WARNING, ERROR
DATABASE_STRING=sqlite:///agent.db # Agent Protocol database
PORT=8000 # Server port
FILE_STORAGE_BACKEND=local # local, s3, or gcs
Workspace Settings (.autogpt/autogpt.yaml)
Workspace-wide permissions for all agents:
allow:
- read_file({workspace}/**)
- write_to_file({workspace}/**)
- list_folder({workspace}/**)
- web_search(*)
deny:
- read_file(**.env)
- read_file(**.key)
- execute_shell(rm -rf:*)
- execute_shell(sudo:*)
Agent Settings (.autogpt/agents/{id}/permissions.yaml)
Agent-specific permission overrides:
allow:
- execute_python(*)
deny:
- execute_shell(*)
Workspace Structure
{workspace}/
├── .autogpt/
│ ├── autogpt.yaml # Workspace permissions
│ ├── ap_server.db # Agent Protocol database
│ └── agents/
│ └── AutoGPT-{agent_id}/
│ ├── state.json # Agent state
│ ├── permissions.yaml # Agent permissions
│ └── workspace/ # Agent's working directory
Permissions
Permission checks follow this order (first match wins):
- Agent deny list → Block
- Workspace deny list → Block
- Agent allow list → Allow
- Workspace allow list → Allow
- Prompt user → Interactive approval
Pattern Syntax
Format: command_name(glob_pattern)
| Pattern | Description |
|---|---|
read_file({workspace}/**) |
Read any file in workspace |
execute_shell(python:**) |
Execute Python commands |
web_search(*) |
All web searches |
Special tokens:
{workspace}- Replaced with workspace path**- Matches any path including/*- Matches any characters except/
Tutorials
The tutorial series guides you through building a custom agent: