mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
chore: defer WhatsApp bridge install to first use (#12992)
Remove eager npm install of @whiskeysockets/baileys during install.sh, install.ps1, and Docker build. The bridge deps are already installed on-demand by `hermes whatsapp` (Step 4 checks for node_modules and runs npm install if missing), so there is no need to pay the cost at initial install for users who never use WhatsApp.
This commit is contained in:
parent
2cdae233e2
commit
7242afaa5f
3 changed files with 5 additions and 27 deletions
|
|
@ -27,12 +27,10 @@ WORKDIR /opt/hermes
|
||||||
# Copy only package manifests first so npm install + Playwright are cached
|
# Copy only package manifests first so npm install + Playwright are cached
|
||||||
# unless the lockfiles themselves change.
|
# unless the lockfiles themselves change.
|
||||||
COPY package.json package-lock.json ./
|
COPY package.json package-lock.json ./
|
||||||
COPY scripts/whatsapp-bridge/package.json scripts/whatsapp-bridge/package-lock.json scripts/whatsapp-bridge/
|
|
||||||
COPY web/package.json web/package-lock.json web/
|
COPY web/package.json web/package-lock.json web/
|
||||||
|
|
||||||
RUN npm install --prefer-offline --no-audit && \
|
RUN npm install --prefer-offline --no-audit && \
|
||||||
npx playwright install --with-deps chromium --only-shell && \
|
npx playwright install --with-deps chromium --only-shell && \
|
||||||
(cd scripts/whatsapp-bridge && npm install --prefer-offline --no-audit) && \
|
|
||||||
(cd web && npm install --prefer-offline --no-audit) && \
|
(cd web && npm install --prefer-offline --no-audit) && \
|
||||||
npm cache clean --force
|
npm cache clean --force
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -630,7 +630,7 @@ function Copy-ConfigTemplates {
|
||||||
New-Item -ItemType Directory -Force -Path "$HermesHome\audio_cache" | Out-Null
|
New-Item -ItemType Directory -Force -Path "$HermesHome\audio_cache" | Out-Null
|
||||||
New-Item -ItemType Directory -Force -Path "$HermesHome\memories" | Out-Null
|
New-Item -ItemType Directory -Force -Path "$HermesHome\memories" | Out-Null
|
||||||
New-Item -ItemType Directory -Force -Path "$HermesHome\skills" | Out-Null
|
New-Item -ItemType Directory -Force -Path "$HermesHome\skills" | Out-Null
|
||||||
New-Item -ItemType Directory -Force -Path "$HermesHome\whatsapp\session" | Out-Null
|
|
||||||
|
|
||||||
# Create .env
|
# Create .env
|
||||||
$envPath = "$HermesHome\.env"
|
$envPath = "$HermesHome\.env"
|
||||||
|
|
@ -735,19 +735,7 @@ function Install-NodeDeps {
|
||||||
Pop-Location
|
Pop-Location
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install WhatsApp bridge dependencies
|
|
||||||
$bridgeDir = "$InstallDir\scripts\whatsapp-bridge"
|
|
||||||
if (Test-Path "$bridgeDir\package.json") {
|
|
||||||
Write-Info "Installing WhatsApp bridge dependencies..."
|
|
||||||
Push-Location $bridgeDir
|
|
||||||
try {
|
|
||||||
npm install --silent 2>&1 | Out-Null
|
|
||||||
Write-Success "WhatsApp bridge dependencies installed"
|
|
||||||
} catch {
|
|
||||||
Write-Warn "WhatsApp bridge npm install failed (WhatsApp may not work)"
|
|
||||||
}
|
|
||||||
Pop-Location
|
|
||||||
}
|
|
||||||
|
|
||||||
Pop-Location
|
Pop-Location
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1052,7 +1052,7 @@ copy_config_templates() {
|
||||||
log_info "Setting up configuration files..."
|
log_info "Setting up configuration files..."
|
||||||
|
|
||||||
# Create ~/.hermes directory structure (config at top level, code in subdir)
|
# Create ~/.hermes directory structure (config at top level, code in subdir)
|
||||||
mkdir -p "$HERMES_HOME"/{cron,sessions,logs,pairing,hooks,image_cache,audio_cache,memories,skills,whatsapp/session}
|
mkdir -p "$HERMES_HOME"/{cron,sessions,logs,pairing,hooks,image_cache,audio_cache,memories,skills}
|
||||||
|
|
||||||
# Create .env at ~/.hermes/.env (top level, easy to find)
|
# Create .env at ~/.hermes/.env (top level, easy to find)
|
||||||
if [ ! -f "$HERMES_HOME/.env" ]; then
|
if [ ! -f "$HERMES_HOME/.env" ]; then
|
||||||
|
|
@ -1122,7 +1122,7 @@ install_node_deps() {
|
||||||
|
|
||||||
if [ "$DISTRO" = "termux" ]; then
|
if [ "$DISTRO" = "termux" ]; then
|
||||||
log_info "Skipping automatic Node/browser dependency setup on Termux"
|
log_info "Skipping automatic Node/browser dependency setup on Termux"
|
||||||
log_info "Browser automation and WhatsApp bridge are not part of the tested Termux install path yet."
|
log_info "Browser automation is not part of the tested Termux install path yet."
|
||||||
log_info "If you want to experiment manually later, run: cd $INSTALL_DIR && npm install"
|
log_info "If you want to experiment manually later, run: cd $INSTALL_DIR && npm install"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -1204,15 +1204,7 @@ install_node_deps() {
|
||||||
log_success "TUI dependencies installed"
|
log_success "TUI dependencies installed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install WhatsApp bridge dependencies
|
|
||||||
if [ -f "$INSTALL_DIR/scripts/whatsapp-bridge/package.json" ]; then
|
|
||||||
log_info "Installing WhatsApp bridge dependencies..."
|
|
||||||
cd "$INSTALL_DIR/scripts/whatsapp-bridge"
|
|
||||||
npm install --silent 2>/dev/null || {
|
|
||||||
log_warn "WhatsApp bridge npm install failed (WhatsApp may not work)"
|
|
||||||
}
|
|
||||||
log_success "WhatsApp bridge dependencies installed"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run_setup_wizard() {
|
run_setup_wizard() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue