• Stars
    star
    942
  • Rank 48,280 (Top 1.0 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 1 year ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Auto-GPT on the browser

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.

More Repositories

1

icsharp

C# kernel for Jupyter
C#
275
star
2

ephemeral_share

A file sharing web app using RTC, React and Phoenix
JavaScript
79
star
3

elixir_wit

Elixir client for the Wit API. Wit is the natural language engine for creating Bots.
Elixir
50
star
4

elixir-ipfs-api

The Elixir library that is used to communicate with the IPFS REST endpoint.
Elixir
47
star
5

ex_microsoftbot

Elixir client for Microsoft bot framework
Elixir
34
star
6

pichat

Sample chat application using Elixir and Phoenix on Raspberry Pi 2
Elixir
19
star
7

GreatCodeClub-Projects

Projects created as part of greatcodeclub
CoffeeScript
8
star
8

exkademlia

Kademlia DHT in Elixir
Elixir
7
star
9

Dockerfiles

Docker files for various projects
6
star
10

echo_phoenix_microsoftbot

An echo bot created using Phoenix and Microsoft bot framework
JavaScript
6
star
11

ipfs-types

Typescript types for IPFS
JavaScript
5
star
12

ex_monad_lib_example

Example of various monads using Elixir Monad library
Elixir
5
star
13

AniiCopter

Arduino based ARDrone controller
Python
4
star
14

witai_elixir_weather_bot

An example Weather bot which uses Wit.ai for conversation model and Microsoft bot framework for sending messages to Facebook
JavaScript
4
star
15

BounceLock

A visual tweak for slide to unlock in iOS
Objective-C
3
star
16

blinky-elixir-rspi

Blinking LED in elixir for Raspberry Pi
Elixir
3
star
17

phoenix_microsoftbot

Phoenix controller for creating the endpoint for Microsoft Bot connectors
Elixir
2
star
18

UnlockBright

iOS Tweak to brighten or dim screen temporarily as you slide to unlock.
Objective-C
2
star
19

ex_merkle_dag

MerkleDAG data structure implementation in Elixir
Elixir
2
star
20

sockets-cy

A Socket library for Cycript
2
star
21

blog

Interactive blog
JavaScript
2
star
22

cowboy-iis-elixir

A Cowboy based application in Elixir to run in IIS using HttpPlatformHandler
Elixir
1
star
23

CS-Stuff-Reference

Reference to computer science related things I find.
1
star
24

fence-your-typescript

Example project of fencing in your TypeScript using Gulp
JavaScript
1
star
25

AdventOfCode2021

Advent Of Code 2021 solutions in Pluto/Julia
HTML
1
star
26

solidity-code-resuse-library

Example of code reusability using libraries in Solidity
JavaScript
1
star