/aither

Collaborate with friends in real-time on an AI-enabled desktop in the browser

Primary LanguageCSSGNU General Public License v3.0GPL-3.0

enoki.so

Website Github Twitter Linkedin

Aither

Aither let's you work on software development projects with others on a browser-based full Linux desktop experience powered by ChatGPT and Github Copilot. Sharing your desktop is as easy as running two terminal commands. Each user has equal access to the desktop.

Demo

Check out our image on dockerhub: https://hub.docker.com/r/enokiinc/aither

🚀 Usage

Try it out at https://enoki.so

Running locally

All you need is docker installed: Docker: https://docs.docker.com/engine/install/ \

To run locally, clone the repository and run the following:

sudo docker build -t aither -f Dockerfile .

sudo docker run --name aither \
--privileged \
-e XDG_RUNTIME_DIR=/home/dev \
-e XDG_CACHE_HOME=/home/dev \
-e XDG_CONFIG_HOME=/home/dev/.cache \
-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
-e WLR_BACKENDS=headless \
-e WLR_LIBINPUT_NO_DEVICES=1 \
-e TEAM_NAME=enoki \
-e WORKSPACE_NAME=test-workspace \
-e USERS=2 \
-e --user=dev \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/home/1000/$WAYLAND_DISPLAY \
-p 6080:6080 \
-p 6081:6081 \
--rm  aither dbus-run-session -- sway

Now you can access the desktop at https://0.0.0.0:6080/vnc.html in your browser. For localhost, Aither uses a self-signed certificate, so you'll be prompted to connect anyway

Sharing your desktop

To share your desktop with someone, first retrieve your free authtoken from ngrok (https://dashboard.ngrok.com/get-started/your-authtoken) and run the following within the terminal of Aither:

ngrok config add-authtoken <authtoken>
ngrok http https://0.0.0.0:6081

You'll see an ngrok url generated. Share this with your friend and they will have access to your desktop at <ngrok_url>/vnc.html. You'll now be able to collaborate together in real-time!

Demo

Using ChatGPT

We enable ChatGPT in Aither using ShellGPT (https://github.com/TheR1D/shell_gpt). In order to use ShellGPT, all you need to do is retrieve your OPENAI_API_KEY from https://platform.openai.com/account/api-keys and pass it in as an environment variable in the docker run command.

You'll now be able to use ShellGPT in the terminal.

Mounting local folder to Aither

If you want to access a local folder within Aither, you can just add this line to the docker run command:
-v /path/to/host/volume:/home/dev/localfolder
Just change the path /path/to/host/volume to your local folder path