- Backend: Rust and Cargo
- Frontend: NodeJS and pnpm (you can install both with volta!)
Step 1:
Clone the repository
git clone https://github.com/vandesm14/airwave
Step 2:
Build the client (frontend)
pnpm i
pnpm client-web:build
cargo build --release --bin serve
Step 3:
Build the server (backend)
cargo build --release --bin server
Step 0:
In the base directory of the project (where the README is), create a .env
file with the following contents:
OPENAI_API_KEY=<your-openai-api-key>
This is a requirement for the server to be able to generate reply text for incoming commands and to perform speech recognition (for voice commands).
Step 1:
Launch the server
cargo run --release --bin server
Step 2:
Launch the client
cargo run --release --bin serve client-web/dist
Step 3:
Open your browser of choice and go to http://localhost:8080 to connect to the client
Step 1:
Launch the client
cargo run --release --bin serve client-web/dist
Step 2:
Open your browser of choice and go to http://localhost:8080?ws=ip, where ip
is the IP or hostname of the server you want to connect to.
Example: http://localhost:8080?ws=127.0.0.1 or http://localhost:8080?ws=my.server.com
Note: Currently, Airwave does not contain a self-signed certificate so either both the server and client need to mutually use HTTP or HTTPS. Mixing HTTP and HTTPS will prevent the websockets from connecting.