Awesome
AutoGPT.js
AutoGPT.js is an open-source project that aims to bring the powerful capabilities of AutoGPT to your browser. By running directly in the browser, AutoGPT.js offers greater accessibility and privacy.
Visit AutoGPTjs.com
Table of Contents
Features
- Create/Read files from your local computer (uses new Web File System Access APIs)
- Create and run other GPT agents
- Generates code
- Short term memory
- Searching using Duck Duck Go (currently proxies fetching of DuckDuckGo page through server)
- Stateless visiting a URL (currently proxies fetching of website through server)
Roadmap/Ideas
- 🚧 Using LangChain for a more extensible architecture for AutoGPT
- Advance settings to configure the AutoGPT e.g. Temperature, Prompt etc.
- Running JS code in a sandbox (e.g.
iframe
) - Switching to different LLM APIs e.g. Bard, Cohere etc.
- Integrating Web based LLMs e.g. WebLLM, LLaMa in browser etc. (currently performance maybe a limitation)
- Tabbed UX to show Files Created/Accessed
Development
- Copy
.env.example
to.env
and change as necessary. - Run
npm install
to get all the dependencies. - Run
npm run dev
to start the development server.
Deployment
Fly.io
-
Sign up and log in to Fly
fly auth signup
Note: If you have more than one Fly account, ensure that you are signed into the same account in the Fly CLI as you are in the browser. In your terminal, run
fly auth whoami
and ensure the email matches the Fly account signed into the browser. -
Create an app on Fly
fly apps create autogpt-js
-
Add a
SESSION_SECRET
to your fly app secrets, to do this you can run the following commands:fly secrets set SESSION_SECRET=$(openssl rand -hex 32) --app autogpt-js
If you don't have openssl installed, you can also use 1Password to generate a random secret, just replace
$(openssl rand -hex 32)
with the generated secret. -
Create a persistent volume for the sqlite database. Though there is no code reading/writing to sqlite but that dependency from this project starter template was not removed.
fly volumes create data --size 1 --app autogpt-js
-
Now that everything is set up you can deploy.
fly deploy --app autogpt-js
Docker
- Run
docker build -t IMAGE_NAME .
to create the docker image - Deploy the docker image based on what cloud and infrastructure you are using
- Start the container based on your infra e.g.
docker run -p PORT:8080 IMAGE_NAME
.
Direct
- Run
npm install
to get all dependencies. - Run
npm run build
to build the project. - Run
NODE_ENV="production" npm run start
to start the server which will expose the endpoint atlocalhost:3000
. You can then use a reverse proxy like NGINX to route to that local address on your server.
Contributing
We welcome and encourage contributions from the developer community.
License
This project is licensed under the MIT License. By contributing to this project, you agree to the terms and conditions of the license.