| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #!/bin/bash
- cd src/server
- printf "==========================\n"
- printf "|| OASIS Installer v0.4 ||\n"
- printf "==========================\n"
- sudo apt-get install -y git curl tar
- curl -sL http://deb.nodesource.com/setup_22.x | sudo bash -
- sudo apt-get install -y nodejs
- npm install .
- npm audit fix
- MODEL_DIR="../AI"
- LLM_FILE="oasis-42-1-chat.Q4_K_M.gguf"
- LLM_TAR="$LLM_FILE.tar.gz"
- LLM_URL="https://solarnethub.com/code/models/$LLM_TAR"
- EMB_DIR="$MODEL_DIR/embeddings"
- EMB_TAR="oasis-embeddings.tar.gz"
- EMB_URL="https://solarnethub.com/code/models/$EMB_TAR"
- EMB_FILE="$EMB_DIR/onnx/model_quantized.onnx"
- CONFIG_PATH="../configs/oasis-config.json"
- CHOICE="${OASIS_AI:-}"
- if [ -z "$CHOICE" ] && [ -t 0 ]; then
- echo ""
- echo "Do you want to enable AI features in Oasis?"
- echo ""
- echo " [1] Full AI: chat assistant (42) + smart navigation prompt (~3.9 GB)"
- echo " [2] Smart navigation only (~150 MB)"
- echo " [3] No AI features (no downloads, AI tabs hidden)"
- echo ""
- read -p "Choose [1/2/3] (default 3): " ANS
- case "$ANS" in
- 1) CHOICE="full" ;;
- 2) CHOICE="nav" ;;
- *) CHOICE="none" ;;
- esac
- fi
- if [ -z "$CHOICE" ]; then
- CHOICE="none"
- fi
- case "$CHOICE" in
- full)
- WANT_LLM=1
- WANT_EMB=1
- ;;
- nav)
- WANT_LLM=0
- WANT_EMB=1
- ;;
- *)
- WANT_LLM=0
- WANT_EMB=0
- ;;
- esac
- if [ "$WANT_LLM" = "1" ] && [ ! -f "$MODEL_DIR/$LLM_FILE" ]; then
- echo ""
- echo "downloading AI model [size: 3,8 GiB (4.081.004.224 bytes)] ..."
- curl -L -o "$MODEL_DIR/$LLM_TAR" "$LLM_URL"
- echo ""
- echo "extracting package: $LLM_TAR..."
- echo ""
- tar -xzf "$MODEL_DIR/$LLM_TAR" -C "$MODEL_DIR"
- rm "$MODEL_DIR/$LLM_TAR"
- fi
- if [ "$WANT_EMB" = "1" ] && [ ! -f "$EMB_FILE" ]; then
- echo ""
- echo "downloading embeddings model [size: ~60 MiB] ..."
- curl -L -o "$MODEL_DIR/$EMB_TAR" "$EMB_URL"
- echo ""
- echo "extracting package: $EMB_TAR..."
- echo ""
- tar -xzf "$MODEL_DIR/$EMB_TAR" -C "$MODEL_DIR"
- rm "$MODEL_DIR/$EMB_TAR"
- fi
- if [ -f "$CONFIG_PATH" ]; then
- AI_VAL="off"; NAV_VAL="off"
- [ "$WANT_LLM" = "1" ] && AI_VAL="on"
- [ "$WANT_EMB" = "1" ] && NAV_VAL="on"
- node -e "
- const fs = require('fs');
- const p = '$CONFIG_PATH';
- const cfg = JSON.parse(fs.readFileSync(p, 'utf8'));
- cfg.modules = cfg.modules || {};
- cfg.modules.aiMod = '$AI_VAL';
- cfg.modules.aiNavMod = '$NAV_VAL';
- fs.writeFileSync(p, JSON.stringify(cfg, null, 2) + '\n');
- "
- fi
- printf "==========================\n"
- printf "\nOASIS has been correctly deployed! ;)\n\n"
- printf "Run: 'sh oasis.sh' to start ...\n\n"
|