Git Product home page Git Product logo

autogpt.js's Introduction

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

Website snapshot

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

  1. Copy .env.example to .env and change as necessary.
  2. Run npm install to get all the dependencies.
  3. Run npm run dev to start the development server.

Deployment

Fly.io

  • Install Fly

  • 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

  1. Run docker build -t IMAGE_NAME . to create the docker image
  2. Deploy the docker image based on what cloud and infrastructure you are using
  3. Start the container based on your infra e.g. docker run -p PORT:8080 IMAGE_NAME.

Direct

  1. Run npm install to get all dependencies.
  2. Run npm run build to build the project.
  3. Run NODE_ENV="production" npm run start to start the server which will expose the endpoint at localhost: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.

autogpt.js's People

Contributors

zabirauf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.