This page lists all 🧩 Components and ⚙️ Protocols they implement that are natively provided. They are used by the AutoGPT agent. Some components have additional configuration options listed in the table, see Component configuration to learn more.
Note
If a configuration field uses environment variable, it still can be passed using configuration model. ### Value from the configuration takes precedence over env var! Env var will be only applied if value in the configuration is not set.
SystemComponent
Essential component to allow an agent to finish.
DirectiveProvider
Constraints about API budget
MessageProvider
Current time and date
Remaining API budget and warnings if budget is low
CommandProvider
finish used when task is completed
UserInteractionComponent
Adds ability to interact with user in CLI.
CommandProvider
ask_user used to ask user for input
FileManagerComponent
Adds ability to read and write persistent files to local storage, Google Cloud Storage or Amazon's S3. Necessary for saving and loading agent's state (preserving session).
FileManagerConfiguration
Config variable
Details
Type
Default
storage_path
Path to agent files, e.g. state
str
agents/{agent_id}/[^1]
workspace_path
Path to files that agent has access to
str
agents/{agent_id}/workspace/[^1]
[^1] This option is set dynamically during component construction as opposed to by default inside the configuration model, {agent_id} is replaced with the agent's unique identifier.
DirectiveProvider
Resource information that it's possible to read and write files
CommandProvider
read_file used to read file
write_file used to write file
list_folder lists all files in a folder
CodeExecutorComponent
Lets the agent execute non-interactive Shell commands and Python code. Python execution works only if Docker is available.
CodeExecutorConfiguration
Config variable
Details
Type
Default
execute_local_commands
Enable shell command execution
bool
False
shell_command_control
Controls which list is used
"allowlist" \| "denylist"
"allowlist"
shell_allowlist
List of allowed shell commands
List[str]
[]
shell_denylist
List of prohibited shell commands
List[str]
[]
docker_container_name
Name of the Docker container used for code execution
str
"agent_sandbox"
All shell command configurations are expected to be for convience only. This component is not secure and should not be used in production environments. It is recommended to use more appropriate sandboxing.
CommandProvider
execute_shell execute shell command
execute_shell_popen execute shell command with popen
execute_python_code execute Python code
execute_python_file execute Python file
ActionHistoryComponent
Keeps track of agent's actions and their outcomes. Provides their summary to the prompt.
ActionHistoryConfiguration
Config variable
Details
Type
Default
llm_name
Name of the llm model used to compress the history
ModelName
"gpt-3.5-turbo"
max_tokens
Maximum number of tokens to use for the history summary
int
1024
spacy_language_model
Language model used for summary chunking using spacy
str
"en_core_web_sm"
full_message_count
Number of cycles to include unsummarized in the prompt
int
4
MessageProvider
Agent's progress summary
AfterParse
Register agent's action
ExecutionFailure
Rewinds the agent's action, so it isn't saved
AfterExecute
Saves the agent's action result in the history
GitOperationsComponent
Adds ability to interact with git repositories and GitHub.
GitOperationsConfiguration
Config variable
Details
Type
Default
github_username
GitHub username, ENV:GITHUB_USERNAME
str
None
github_api_key
GitHub API key, ENV:GITHUB_API_KEY
str
None
CommandProvider
clone_repository used to clone a git repository
ImageGeneratorComponent
Adds ability to generate images using various providers.
Hugging Face
To use text-to-image models from Hugging Face, you need a Hugging Face API token. Link to the appropriate settings page: Hugging Face > Settings > Tokens
Stable Diffusion WebUI
It is possible to use your own self-hosted Stable Diffusion WebUI with AutoGPT. ### Make sure you are running WebUI with --api enabled.