diff --git a/.DS_Store b/.DS_Store
deleted file mode 100644
index aab6be96d..000000000
Binary files a/.DS_Store and /dev/null differ
diff --git a/.github/ISSUE_TEMPLATE/tooling_application.yml b/.github/ISSUE_TEMPLATE/tooling_application.yml
deleted file mode 100644
index 9f68cd957..000000000
--- a/.github/ISSUE_TEMPLATE/tooling_application.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-name: Tooling Application
-description: Apply to have your tooling part of the Agent Forge
-title: "[Tooling Application]: "
-labels: ["tooling", "review"]
-assignees:
- - swiftyos, merwanehamadi
-body:
- - type: markdown
- attributes:
- value: |
- Thank you for your interest in contributing to the Agent Forge! Please fill out the details below for your tooling application.
- - type: input
- id: tooling-name
- attributes:
- label: Name of the Tooling
- placeholder: ex. AgentEnhancer3000
- validations:
- required: true
- - type: input
- id: tooling-repo
- attributes:
- label: Repository URL
- placeholder: ex. https://github.com/Significant-Gravitas/Auto-GPT-Benchmarks
- validations:
- required: true
- - type: textarea
- id: tooling-description
- attributes:
- label: Description
- description: Briefly explain what your tooling does.
- placeholder: Provide a short description of your tooling.
- validations:
- required: true
- - type: textarea
- id: utility
- attributes:
- label: Utility
- description: How does your tooling help speed up the development of agents? Please provide specific examples or use-cases.
- placeholder: Describe the utility of your tooling.
- validations:
- required: true
- - type: textarea
- id: competitive-analysis
- attributes:
- label: Competitive Analysis
- description: List any other tools similar to yours and the benefits your tooling offers over the similar tools.
- placeholder: Detail your tooling's advantages and similar tools.
- validations:
- required: true
- - type: checkboxes
- id: pr-submission
- attributes:
- label: PR Submission
- description: Are you willing to create a PR (Pull Request) adding your tooling to the Agent Forge?
- options:
- - label: Yes, I am willing.
- required: true
- - label: No, I am not willing.
- required: true
- - type: checkboxes
- id: tutorial
- attributes:
- label: Tutorial
- description: Are you willing to write a tutorial showing how to leverage your tooling while creating an agent for the forge?
- options:
- - label: Yes, I am willing.
- required: true
- - label: No, I am not willing.
- required: true
- - type: textarea
- id: additional-details
- attributes:
- label: Additional Details
- description: Please provide any other details or information that you'd like us to know about your tooling.
- placeholder: Any additional notes or comments.
- validations:
- required: false
diff --git a/benchmark/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
similarity index 100%
rename from benchmark/.github/PULL_REQUEST_TEMPLATE.md
rename to .github/PULL_REQUEST_TEMPLATE.md
diff --git a/benchmark/.github/workflows/ci.yml b/.github/workflows/benchmark_ci.yml
similarity index 99%
rename from benchmark/.github/workflows/ci.yml
rename to .github/workflows/benchmark_ci.yml
index 232c9cc58..f62094f21 100644
--- a/benchmark/.github/workflows/ci.yml
+++ b/.github/workflows/benchmark_ci.yml
@@ -1,4 +1,7 @@
name: CI
+defaults:
+ run:
+ working-directory: ./benchmark/
on:
workflow_dispatch:
@@ -15,7 +18,7 @@ on:
paths-ignore:
- 'reports/**'
pull_request:
- branches: [stable, master, release-*]
+ branches: [stable, master, release-*, develop]
jobs:
lint:
diff --git a/benchmark/.github/workflows/publish_package.yml b/.github/workflows/benchmark_publish_package.yml
similarity index 100%
rename from benchmark/.github/workflows/publish_package.yml
rename to .github/workflows/benchmark_publish_package.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
deleted file mode 100644
index 3a7a4c539..000000000
--- a/.github/workflows/ci.yml
+++ /dev/null
@@ -1,109 +0,0 @@
-name: CI
-
-on:
- workflow_dispatch:
- branches: [master]
- schedule:
- - cron: '0 8 * * *'
- push:
- branches: [master, ci-test*]
- pull_request:
- branches: [stable, master, release-*]
-
-jobs:
- lint:
- runs-on: ubuntu-latest
- env:
- min-python-version: '3.10'
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- ref: ${{ github.event.pull_request.head.ref }}
- repository: ${{ github.event.pull_request.head.repo.full_name }}
- submodules: true
-
- - name: Set up Python ${{ env.min-python-version }}
- uses: actions/setup-python@v2
- with:
- python-version: ${{ env.min-python-version }}
-
- - id: get_date
- name: Get date
- run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
-
- - name: Install Poetry
- run: |
- curl -sSL https://install.python-poetry.org | python -
-
- - name: Install dependencies
- run: |
- export POETRY_VIRTUALENVS_IN_PROJECT=true
- poetry install -vvv
-
- - name: Lint with flake8
- run: poetry run flake8
-
- - name: Check black formatting
- run: poetry run black . --exclude test.py --check
- if: success() || failure()
-
- - name: Check isort formatting
- run: poetry run isort . --check
- if: success() || failure()
-
- tests:
- runs-on: ubuntu-latest
- timeout-minutes: 20
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- ref: ${{ github.event.pull_request.head.ref }}
- repository: ${{ github.event.pull_request.head.repo.full_name }}
- submodules: true
- token: ${{ secrets.GH_TOKEN }}
-
- - name: Setup Chrome and ChromeDriver
- run: |
- sudo apt-get update
- sudo apt-get install -y wget
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- sudo dpkg -i google-chrome-stable_current_amd64.deb
- sudo apt-get install -f
-
-
- - name: Set up Python ${{ env.min-python-version }}
- uses: actions/setup-python@v2
- with:
- python-version: ${{ env.min-python-version }}
-
- - id: get_date
- name: Get date
- run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
-
- - name: Install Poetry
- run: |
- curl -sSL https://install.python-poetry.org | python -
-
- - name: Install dependencies
- run: |
- poetry install
-
- - name: Run regression tests
- run: |
- poetry run python -m autogpt &
- cp .env.example .env
- newman run https://raw.githubusercontent.com/Significant-Gravitas/postman/master/Postman%20Collections/agent_protocol_rest.json --folder "Basic User Experience" --env-var "url= http://127.0.0.1:8000" -n 2
- newman run https://raw.githubusercontent.com/Significant-Gravitas/postman/master/Postman%20Collections/agent_protocol_rest.json --folder "Tasks Load Test" --env-var "url= http://127.0.0.1:8000" -n 10
- env:
- OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- AGENT_NAME: ${{ matrix.agent-name }}
- HELICONE_API_KEY: ${{ secrets.HELICONE_API_KEY }}
- REQUESTS_CA_BUNDLE: /etc/ssl/certs/ca-certificates.crt
- HELICONE_CACHE_ENABLED: false
- HELICONE_PROPERTY_AGENT: ${{ matrix.agent-name }}
- REPORT_LOCATION: ${{ format('../../reports/{0}', matrix.agent-name) }}
diff --git a/.github/workflows/pr_agent.yml b/.github/workflows/pr_agent.yml
deleted file mode 100644
index 808f921ee..000000000
--- a/.github/workflows/pr_agent.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: PR Agent Workflow
-
-permissions:
- issues: write
- pull-requests: write
-
-on:
- pull_request:
- issue_comment:
-jobs:
- pr_agent_job:
- permissions: write-all
- runs-on: ubuntu-latest
- name: Run pr agent on every pull request, respond to user comments
- steps:
- - name: PR Agent action step
- id: pragent
- uses: Codium-ai/pr-agent@main
- env:
- OPENAI_KEY: ${{ secrets.OPENAI_API_KEY }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index eee767c7f..3b4363131 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,169 @@
-agbenchmark
+## Original ignores
+autogpt/keys.py
+autogpt/*.json
+auto_gpt_workspace/*
+*.mpeg
+.env
+azure.yaml
+ai_settings.yaml
+last_run_ai_settings.yaml
.vscode
-.pytest_cache
-.benchmarks
-*.pkl
\ No newline at end of file
+.idea/*
+auto-gpt.json
+log.txt
+log-ingestion.txt
+/logs
+*.log
+*.mp3
+mem.sqlite3
+venvAutoGPT
+
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+/plugins/
+plugins_config.yaml
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+pip-wheel-metadata/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+site/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+.python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.direnv/
+.env
+.venv
+env/
+venv*/
+ENV/
+env.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+llama-*
+vicuna-*
+
+# mac
+.DS_Store
+
+openai/
+
+# news
+CURRENT_BULLETIN.md
+
+# AgBenchmark
+agbenchmark/reports/
+
+# Nodejs
+package-lock.json
+package.json
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b81b..000000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/Auto-GPT.iml b/.idea/Auto-GPT.iml
deleted file mode 100644
index 5fdd65ba2..000000000
--- a/.idea/Auto-GPT.iml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml
index fedd82536..320867229 100644
--- a/.idea/dbnavigator.xml
+++ b/.idea/dbnavigator.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index 69446daae..000000000
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
deleted file mode 100644
index 105ce2da2..000000000
--- a/.idea/inspectionProfiles/profiles_settings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index e965926fe..000000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 101670123..000000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1ddfb..000000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index e7c5c2347..000000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023 Auto-GPT Team
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index 76213a7a2..223e189e1 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,148 @@
-# Welcome to the Revolutionary Auto-GPT Mono Repo!
+# Auto-GPT: An Autonomous GPT-4 Experiment
+[](https://agpt.co)
+[](https://github.com/Significant-Gravitas/Auto-GPT/actions/workflows/ci.yml)
+[](https://discord.gg/autogpt)
+[](https://github.com/Significant-Gravitas/Auto-GPT/stargazers)
+[](https://twitter.com/SigGravitas)
-Welcome to the future of agent development! This repository is your comprehensive toolkit for creating groundbreaking agents that will redefine the landscape of artificial intelligence.
+## 💡 Get help - [Q&A](https://github.com/Significant-Gravitas/Auto-GPT/discussions/categories/q-a) or [Discord 💬](https://discord.gg/autogpt)
-
+
+
+### 🔴 USE `stable` not `master` 🔴
+
+**Download the latest `stable` release from here: https://github.com/Significant-Gravitas/Auto-GPT/releases/latest.**
+The `master` branch is under heavy development and may often be in a **broken** state.
+
+
-- The `benchmarks` directory: This is not just a code repository, it's a rigorous testing ground for your agents. The Auto-GPT benchmarking framework allows you to measure the performance of your agents and ensure they are ready to take on real-world challenges.
+Auto-GPT is an experimental open-source application showcasing the capabilities of the GPT-4 language model. This program, driven by GPT-4, chains together LLM "thoughts", to autonomously achieve whatever goal you set. As one of the first examples of GPT-4 running fully autonomously, Auto-GPT pushes the boundaries of what is possible with AI.
-
+
Demo April 16th 2023
-- The `forge` directory: Here lies the blueprint for your next innovation. This agent template has all the boilerplate code taken care of, allowing you to focus on what matters most - building out the next game-changing agent. It's not just a starting point, it's a launchpad for your ideas.
+https://user-images.githubusercontent.com/70048414/232352935-55c6bf7c-3958-406e-8610-0913475a0b05.mp4
-
+Demo made by Blake Werlinger
-- The `frontend` directory: This is your command center. The Auto-GPT frontend is the tool for interacting with your agent, providing a user-friendly interface to control and monitor your creations.
+## 🚀 Features
-Embark on your journey with Auto-GPT and be a part of the AI revolution!
\ No newline at end of file
+- 🌐 Internet access for searches and information gathering
+- 💾 Long-term and short-term memory management
+- 🧠 GPT-4 instances for text generation
+- 🔗 Access to popular websites and platforms
+- 🗃️ File storage and summarization with GPT-3.5
+- 🔌 Extensibility with Plugins
+
+## Quickstart
+
+0. Check out the [wiki](https://github.com/Significant-Gravitas/Nexus/wiki)
+1. Get an OpenAI [API Key](https://platform.openai.com/account/api-keys)
+2. Download the [latest release](https://github.com/Significant-Gravitas/Auto-GPT/releases/latest)
+3. Follow the [installation instructions][docs/setup]
+4. Configure any additional features you want, or install some [plugins][docs/plugins]
+5. [Run][docs/usage] the app
+
+Please see the [documentation][docs] for full setup instructions and configuration options.
+
+[docs]: https://docs.agpt.co/
+
+## 📖 Documentation
+* [⚙️ Setup][docs/setup]
+* [💻 Usage][docs/usage]
+* [🔌 Plugins][docs/plugins]
+* Configuration
+ * [🔍 Web Search](https://docs.agpt.co/configuration/search/)
+ * [🧠 Memory](https://docs.agpt.co/configuration/memory/)
+ * [🗣️ Voice (TTS)](https://docs.agpt.co/configuration/voice/)
+ * [🖼️ Image Generation](https://docs.agpt.co/configuration/imagegen/)
+
+[docs/setup]: https://docs.agpt.co/setup/
+[docs/usage]: https://docs.agpt.co/usage/
+[docs/plugins]: https://docs.agpt.co/plugins/
+
+
💖 Help Fund Auto-GPT's Development 💖
+
+If you can spare a coffee, you can help to cover the costs of developing Auto-GPT and help to push the boundaries of fully autonomous AI!
+Your support is greatly appreciated. Development of this free, open-source project is made possible by all the contributors and sponsors. If you'd like to sponsor this project and have your avatar or company logo appear below click here.
+
+
+## ⚠️ Limitations
+
+This experiment aims to showcase the potential of GPT-4 but comes with some limitations:
+
+1. Not a polished application or product, just an experiment
+2. May not perform well in complex, real-world business scenarios. In fact, if it actually does, please share your results!
+3. Quite expensive to run, so set and monitor your API key limits with OpenAI!
+
+## 🛡 Disclaimer
+
+This project, Auto-GPT, is an experimental application and is provided "as-is" without any warranty, express or implied. By using this software, you agree to assume all risks associated with its use, including but not limited to data loss, system failure, or any other issues that may arise.
+
+The developers and contributors of this project do not accept any responsibility or liability for any losses, damages, or other consequences that may occur as a result of using this software. You are solely responsible for any decisions and actions taken based on the information provided by Auto-GPT.
+
+**Please note that the use of the GPT-4 language model can be expensive due to its token usage.** By utilizing this project, you acknowledge that you are responsible for monitoring and managing your own token usage and the associated costs. It is highly recommended to check your OpenAI API usage regularly and set up any necessary limits or alerts to prevent unexpected charges.
+
+As an autonomous experiment, Auto-GPT may generate content or take actions that are not in line with real-world business practices or legal requirements. It is your responsibility to ensure that any actions or decisions made based on the output of this software comply with all applicable laws, regulations, and ethical standards. The developers and contributors of this project shall not be held responsible for any consequences arising from the use of this software.
+
+By using Auto-GPT, you agree to indemnify, defend, and hold harmless the developers, contributors, and any affiliated parties from and against any and all claims, damages, losses, liabilities, costs, and expenses (including reasonable attorneys' fees) arising from your use of this software or your violation of these terms.
+
+## 🐦 Connect with Us on Twitter
+
+Stay up-to-date with the latest news, updates, and insights about Auto-GPT by following our Twitter accounts. Engage with the developer and the AI's own account for interesting discussions, project updates, and more.
+
+- **Developer**: Follow [@siggravitas](https://twitter.com/siggravitas) for insights into the development process, project updates, and related topics from the creator of Entrepreneur-GPT.
+
+We look forward to connecting with you and hearing your thoughts, ideas, and experiences with Auto-GPT. Join us on Twitter and let's explore the future of AI together!
+
+