mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-28 23:11:37 +08:00
Add a GUI-first setup gate and runtime state API so desktop onboarding is safe, iterative, and works with isolated fresh-mode installs. Scaffold and wire the desktop shell/runtime pieces so this branch runs end-to-end without disturbing existing user installs.
42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
OUT="${1:-"$ROOT/apps/gui/src-tauri/sidecars/hermes-runtime"}"
|
|
PYTHON="${PYTHON:-python}"
|
|
|
|
echo "Bundling Hermes GUI runtime"
|
|
echo "repo: $ROOT"
|
|
echo "out: $OUT"
|
|
|
|
rm -rf "$OUT"
|
|
mkdir -p "$OUT"
|
|
|
|
echo "→ Building dashboard"
|
|
npm --prefix "$ROOT/web" ci
|
|
npm --prefix "$ROOT/web" run build
|
|
cp -a "$ROOT/web/dist" "$OUT/web_dist"
|
|
|
|
echo "→ Building TUI"
|
|
npm --prefix "$ROOT/ui-tui" ci
|
|
npm --prefix "$ROOT/ui-tui" run build
|
|
mkdir -p "$OUT/ui-tui"
|
|
cp -a "$ROOT/ui-tui/dist" "$OUT/ui-tui/dist"
|
|
cp -a "$ROOT/ui-tui/package.json" "$ROOT/ui-tui/package-lock.json" "$OUT/ui-tui/"
|
|
cp -a "$ROOT/ui-tui/node_modules" "$OUT/ui-tui/node_modules"
|
|
|
|
echo "→ Creating Python runtime"
|
|
"$PYTHON" -m venv "$OUT/venv"
|
|
"$OUT/venv/bin/python" -m pip install --upgrade pip
|
|
"$OUT/venv/bin/python" -m pip install -e "$ROOT[web,pty]"
|
|
|
|
cat > "$OUT/README.md" <<EOF
|
|
# Hermes GUI Runtime
|
|
|
|
Generated by apps/shared/bundle-runtime.sh.
|
|
|
|
Set HERMES_GUI_RUNTIME_DIR to this directory before launching the Tauri shell.
|
|
EOF
|
|
|
|
echo "✓ Runtime bundle ready: $OUT"
|