#!/usr/bin/env bash # Instaleaza Artemis — aplicație desktop nativă pentru agentul Qwen3.8-Flash-Next. # # curl -fsSL http://10.11.90.169:8088/artemis.sh | bash # # Ruleaz-o din nou oricand ca sa actualizezi: aduce ultima versiune si repornește. set -u SRV="${ARTEMIS_SRV:-http://10.11.90.169:8088}" MODEL_SRV="${ARTEMIS_MODEL:-http://10.11.90.169:8099}" BIN_DIR="$HOME/.local/bin" BIN="$BIN_DIR/artemis" APP_DIR="$HOME/.local/share/applications" ok() { printf " \033[32m[ok]\033[0m %s\n" "$1"; } rau() { printf " \033[31m[nu]\033[0m %s\n" "$1"; } info() { printf " %s\n" "$1"; } echo "== Artemis ==" # ---- 1. sistemul suporta aplicatia? ---- if [ "$(uname -s)" != "Linux" ]; then rau "scriptul asta e pentru Linux. Pe Windows: irm $SRV/artemis.ps1 | iex" exit 1 fi # WebKitGTK e motorul de randare al ferestrei; fara el aplicatia nu porneste. lipsa="" for lib in libwebkit2gtk-4.1.so.0 libwebkit2gtk-4.0.so.37; do if ldconfig -p 2>/dev/null | grep -q "$lib"; then lipsa=""; break; fi lipsa="$lib" done if [ -n "$lipsa" ]; then info "instalez WebKitGTK (cere parola de sudo)..." if command -v apt-get >/dev/null 2>&1; then sudo apt-get update -qq && sudo apt-get install -y libwebkit2gtk-4.1-0 libgtk-3-0 >/dev/null 2>&1 \ || sudo apt-get install -y libwebkit2gtk-4.0-37 libgtk-3-0 >/dev/null 2>&1 elif command -v dnf >/dev/null 2>&1; then sudo dnf install -y webkit2gtk4.1 gtk3 >/dev/null 2>&1 elif command -v pacman >/dev/null 2>&1; then sudo pacman -S --noconfirm webkit2gtk-4.1 gtk3 >/dev/null 2>&1 else rau "nu recunosc gestionarul de pachete; instalează manual webkit2gtk si gtk3" fi fi if ldconfig -p 2>/dev/null | grep -qE "libwebkit2gtk-4\.[01]"; then ok "WebKitGTK prezent" else rau "WebKitGTK lipsește — fereastra nu se va deschide" info "pe Ubuntu/Debian: sudo apt install libwebkit2gtk-4.1-0" fi # ---- 2. serverul de model raspunde? ---- if curl -fsS -m 10 "$MODEL_SRV/v1/models" -o /tmp/.art-modele.$$ 2>/dev/null; then ok "serverul de model răspunde: $MODEL_SRV" rm -f /tmp/.art-modele.$$ else rau "nu ajung la $MODEL_SRV" info "ești pe VPN? e pornit serverul? Aplicația se instalează oricum;" info "adresa se poate schimba din Setări." fi # ---- 3. binarul ---- mkdir -p "$BIN_DIR" # daca ruleaza acum, il oprim ca sa putem suprascrie fisierul pkill -x artemis 2>/dev/null && info "am oprit instanța care rula" if curl -fsSL -m 300 "$SRV/artemis-linux" -o "$BIN.nou"; then chmod +x "$BIN.nou" mv "$BIN.nou" "$BIN" ok "instalat: $BIN ($(du -h "$BIN" | cut -f1))" else rau "nu am putut descărca aplicația de la $SRV/artemis-linux" exit 1 fi # ---- 4. intrare in meniul de aplicatii ---- mkdir -p "$APP_DIR" cat > "$APP_DIR/artemis.desktop" </dev/null 2>&1 ok "adăugat în meniul de aplicații" # PATH, pentru pornirea din terminal case ":$PATH:" in *":$BIN_DIR:"*) ;; *) for rc in "$HOME/.bashrc" "$HOME/.zshrc"; do [ -f "$rc" ] && ! grep -q '.local/bin' "$rc" && \ echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$rc" done info "am adăugat ~/.local/bin în PATH (deschide un terminal nou)" ;; esac echo ok "gata — pornesc Artemis" info "data viitoare: din meniul de aplicații, sau comanda 'artemis'" info "actualizare: rulează din nou aceeași comandă curl" echo # ---- 5. pornire ---- ARTEMIS_MODEL_SRV="$MODEL_SRV" setsid "$BIN" >/dev/null 2>&1 < /dev/null &