From 082c2c74b24751b5061b59ef4078e99eea6eca37 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 28 May 2026 01:47:06 +0300 Subject: [PATCH] fix(addon): keep backups lean by default --- DOCS.md | 49 +++++++--- openclaw_assistant/CHANGELOG.md | 9 ++ openclaw_assistant/config.yaml | 9 +- openclaw_assistant/run.sh | 105 +++++++++++++-------- openclaw_assistant/translations/bg.yaml | 8 ++ openclaw_assistant/translations/de.yaml | 8 ++ openclaw_assistant/translations/en.yaml | 8 ++ openclaw_assistant/translations/es.yaml | 8 ++ openclaw_assistant/translations/pl.yaml | 8 ++ openclaw_assistant/translations/pt-BR.yaml | 8 ++ 10 files changed, 166 insertions(+), 54 deletions(-) diff --git a/DOCS.md b/DOCS.md index 259ab32..9174b59 100644 --- a/DOCS.md +++ b/DOCS.md @@ -43,10 +43,10 @@ When you open the add-on page in Home Assistant, nginx serves a landing page wit | `/config/` | Yes | All user data — survives add-on updates and rebuilds | | `/config/.openclaw/` | Yes | OpenClaw configuration (`openclaw.json`), skills, agent data | | `/config/clawd/` | Yes | Agent workspace (ClawHub-installed skills, files) | -| `/config/.node_global/` | Yes | User-installed npm packages (skills installed via dashboard) | +| `/config/.node_global/` | Optional | User-installed npm packages when `persist_node_global=true` | | `/config/secrets/` | Yes | Tokens (e.g., `homeassistant.token`) | | `/config/keys/` | Yes | SSH keys (e.g., router SSH key) | -| `/config/.linuxbrew/` | Yes | Homebrew install and brew-installed CLI tools | +| `/config/.linuxbrew/` | Optional | Homebrew install and brew-installed CLI tools when `persist_brew_tools=true` | | `/config/gogcli/` | Yes | gog OAuth credentials for Google APIs | | `/usr/lib/node_modules/openclaw/` | No | OpenClaw installation (rebuilt with each image update) | @@ -314,7 +314,10 @@ To provide the SSH key: place the private key file in the add-on config director | Option | Type | Default | Description | |---|---|---|---| | `clean_session_locks_on_start` | bool | `true` | Remove stale session lock files on startup (safe — only removes locks when gateway isn't running) | -| `clean_session_locks_on_exit` | bool | `true` | Remove session lock files on clean shutdown || `auto_configure_mcp` | bool | `false` | Auto-register Home Assistant as an MCP server on startup (requires `homeassistant_token`) | +| `clean_session_locks_on_exit` | bool | `true` | Remove session lock files on clean shutdown | +| `persist_node_global` | bool | `false` | Persist user-installed npm global skills/packages in `/config/.node_global/`. Turn on only if you want those installs to survive add-on rebuilds. | +| `persist_brew_tools` | bool | `false` | Persist Homebrew and brew-installed CLI tools in `/config/.linuxbrew/`. Turn on only if you want those installs to survive add-on rebuilds. | +| `auto_configure_mcp` | bool | `false` | Auto-register Home Assistant as an MCP server on startup (requires `homeassistant_token`) | --- ## 6. Use Case Guides @@ -648,10 +651,10 @@ You should see your account listed with the `sheets` service. | Built-in skills | `/config/.openclaw/skills/` | Yes | | Agent sessions & data | `/config/.openclaw/agents/` | Yes | | ClawHub workspace | `/config/clawd/` | Yes | -| User-installed npm skills | `/config/.node_global/` | Yes | +| User-installed npm skills | `/config/.node_global/` | Optional (`persist_node_global=true`) | | SSH keys | `/config/keys/` | Yes | | Tokens | `/config/secrets/` | Yes | -| Homebrew & brew-installed tools | `/config/.linuxbrew/` | Yes (synced on startup) | +| Homebrew & brew-installed tools | `/config/.linuxbrew/` | Optional (`persist_brew_tools=true`) | | gog OAuth credentials | `/config/gogcli/` | Yes | | TLS certificates (lan_https) | `/config/certs/` | Yes (CA persists; server cert regenerated if IP changes) | | OpenClaw binary | `/usr/lib/node_modules/openclaw/` | **No** — reinstalled from image | @@ -668,19 +671,21 @@ This means built-in skills survive image rebuilds, and any customizations you ma ### How user-installed skills work -When you install a skill via the OpenClaw dashboard or `npm install -g`, the add-on redirects global npm installs to `/config/.node_global/`. This directory persists across updates. +By default, user-installed npm skills and global packages are **ephemeral** to keep Home Assistant backups small. -The add-on also configures `pnpm` global directory to persistent storage at `/config/.node_global/pnpm/`. +If you enable `persist_node_global`, the add-on redirects global npm installs to `/config/.node_global/` so dashboard-installed skills survive add-on rebuilds. The add-on also configures the pnpm global directory at `/config/.node_global/pnpm/` in that mode. ### Homebrew-installed tools -Homebrew (Linuxbrew) and all brew-installed CLI tools (e.g., `gemini`, `aider`, `gh`, `bw`) are now **persisted** across add-on updates. On each startup, the add-on: +By default, Homebrew (Linuxbrew) and brew-installed CLI tools are **ephemeral** to keep Home Assistant backups small. + +If you enable `persist_brew_tools`, the add-on: 1. Syncs the image's Homebrew install to `/config/.linuxbrew/` 2. Creates a symlink from `/home/linuxbrew/.linuxbrew/` to the persistent copy 3. On subsequent boots, only newer files are synced (user-installed packages are preserved) -This means `brew install` packages survive image rebuilds. +This means `brew install` packages survive image rebuilds only when persistence is enabled. --- @@ -742,7 +747,7 @@ Home Assistant checks for add-on updates automatically. When an update is availa **What happens during an update**: - The container is destroyed and recreated from the new image - Everything under `/config/` is preserved (config, skills, workspace, keys) -- Homebrew and brew-installed packages are preserved (synced to `/config/.linuxbrew/`) +- Homebrew and npm global packages are preserved only if you explicitly enable `persist_brew_tools` / `persist_node_global` - The OpenClaw binary is updated to the version in the new image ### Checking your version @@ -755,7 +760,20 @@ openclaw --version ### Backup -Home Assistant's built-in backup system automatically includes add-on configuration data (`/config/`). This covers all persistent data: OpenClaw config, skills, workspace, keys, and tokens. +Home Assistant's built-in backup system automatically includes add-on configuration data (`/config/`). By default this covers the important user state: OpenClaw config, skills, workspace, keys, and tokens — without large optional toolchains. + +### Backup-friendly defaults (v0.5.75+) + +Starting with v0.5.75, the add-on keeps large optional toolchains out of backups by default: + +- `persist_node_global: false` → `/config/.node_global/` is not used unless you opt in +- `persist_brew_tools: false` → `/config/.linuxbrew/` is not used unless you opt in + +Turn these on only if you specifically want user-installed npm global skills or brew-installed CLI tools to survive add-on rebuilds. + +### Migration note for older installs + +If you used an older add-on version, you may already have legacy directories such as `/config/.node_global/` or `/config/.linuxbrew/` from previous persistent behavior. Disabling persistence stops future growth, but those directories still count toward backup size until you remove or archive them manually. **To create a backup**: Go to **Settings → System → Backups → Create Backup** @@ -764,7 +782,8 @@ Home Assistant's built-in backup system automatically includes add-on configurat # Key paths to back up: # /config/.openclaw/ - OpenClaw config, skills, agent data # /config/clawd/ - ClawHub workspace -# /config/.node_global/ - User-installed npm skills +# /config/.node_global/ - User-installed npm skills (only if persist_node_global=true) +# /config/.linuxbrew/ - Homebrew tools (only if persist_brew_tools=true) # /config/keys/ - SSH keys # /config/secrets/ - Tokens ``` @@ -774,12 +793,12 @@ Home Assistant's built-in backup system automatically includes add-on configurat To reset the add-on to a clean state, remove the persistent data: ```sh -rm -rf /config/.openclaw /config/clawd /config/.node_global +rm -rf /config/.openclaw /config/clawd /config/.node_global /config/.linuxbrew ``` Then restart the add-on. It will re-bootstrap a fresh configuration. -> **Warning**: This deletes all your OpenClaw configuration, skills, and workspace data. Back up first if needed. +> **Warning**: This deletes all your OpenClaw configuration, skills, workspace data, and any optionally persisted tool installations. Back up first if needed. --- @@ -948,7 +967,7 @@ Built-in skills are synced to persistent storage on each startup. If skills are 1. Check logs for `INFO: Synced built-in skills to persistent storage` — this confirms the sync ran 2. If you see `WARN: Built-in skills directory not found`, the OpenClaw installation may be corrupted. Try reinstalling the add-on. -3. User-installed skills (via dashboard) are stored in `/config/.node_global/` and should survive updates +3. User-installed skills (via dashboard) survive updates only when `persist_node_global` is enabled. With the default backup-friendly setting (`false`), they are ephemeral and may need to be reinstalled after an add-on rebuild. ### Homebrew errors / CPU compatibility diff --git a/openclaw_assistant/CHANGELOG.md b/openclaw_assistant/CHANGELOG.md index 1e1dfff..3216b10 100644 --- a/openclaw_assistant/CHANGELOG.md +++ b/openclaw_assistant/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to the OpenClaw Assistant Home Assistant Add-on will be documented in this file. +## [0.5.75] - 2026-05-28 + +### Changed +- **Backup-friendly persistence defaults**: new add-on options `persist_node_global` and `persist_brew_tools`, both defaulting to `false` so large optional toolchains are no longer persisted into Home Assistant backups unless users explicitly opt in. +- `run.sh` now keeps npm global installs and Homebrew ephemeral by default, while preserving the old rebuild-survival behavior when the new toggles are enabled. + +### Added +- Migration notes and documentation for older installs that already have legacy `/config/.node_global/` or `/config/.linuxbrew/` directories contributing to backup size. + ## [0.5.74] - 2026-05-27 ### Fixed diff --git a/openclaw_assistant/config.yaml b/openclaw_assistant/config.yaml index c16d29b..faf32b5 100644 --- a/openclaw_assistant/config.yaml +++ b/openclaw_assistant/config.yaml @@ -1,5 +1,5 @@ name: OpenClaw Assistant -version: "0.5.74" +version: "0.5.75" slug: openclaw_assistant description: Run OpenClaw Assistant (OpenClaw-compatible) as a Home Assistant add-on. url: https://github.com/techartdev/OpenClawHomeAssistant @@ -56,6 +56,11 @@ options: clean_session_locks_on_start: true clean_session_locks_on_exit: true + # Persist heavy optional tooling across add-on rebuilds. + # Disabled by default to keep Home Assistant backups small. + persist_node_global: false + persist_brew_tools: false + # Gateway mode: # - local: Run gateway locally (recommended for most users) # - remote: Connect to a remote gateway @@ -153,6 +158,8 @@ schema: clean_session_locks_on_start: bool? clean_session_locks_on_exit: bool? + persist_node_global: bool? + persist_brew_tools: bool? gateway_mode: list(local|remote)? gateway_remote_url: str? gateway_bind_mode: list(loopback|lan|tailnet)? diff --git a/openclaw_assistant/run.sh b/openclaw_assistant/run.sh index 7af6cc4..724ccd3 100644 --- a/openclaw_assistant/run.sh +++ b/openclaw_assistant/run.sh @@ -44,6 +44,8 @@ ROUTER_KEY=$(jq -r '.router_ssh_key_path // "/data/keys/router_ssh"' "$OPTIONS_F # Optional: allow disabling lock cleanup if you ever need to debug CLEAN_LOCKS_ON_START=$(jq -r '.clean_session_locks_on_start // true' "$OPTIONS_FILE") CLEAN_LOCKS_ON_EXIT=$(jq -r '.clean_session_locks_on_exit // true' "$OPTIONS_FILE") +PERSIST_NODE_GLOBAL=$(jq -r '.persist_node_global // false' "$OPTIONS_FILE") +PERSIST_BREW_TOOLS=$(jq -r '.persist_brew_tools // false' "$OPTIONS_FILE") # Gateway configuration GATEWAY_MODE=$(jq -r '.gateway_mode // "local"' "$OPTIONS_FILE") @@ -149,6 +151,15 @@ export XDG_CONFIG_HOME=/config mkdir -p /config/.openclaw /config/.openclaw/identity /config/clawd /config/keys /config/secrets +warn_legacy_persistent_dir() { + local path="$1" + local label="$2" + if [ -e "$path" ]; then + echo "WARN: Found legacy persistent ${label} at ${path}, but persistence is disabled." + echo "WARN: It will still inflate Home Assistant backups until you remove or archive it manually." + fi +} + # ------------------------------------------------------------------------------ # Sync built-in OpenClaw skills from image to persistent storage # On each startup, copy new/updated built-in skills so they survive rebuilds. @@ -180,21 +191,33 @@ else fi # ------------------------------------------------------------------------------ -# Persist user-installed node skills across Docker image rebuilds -# Redirect npm/pnpm global installs to /config/.node_global (persistent storage) -# so that skills installed via the dashboard survive container rebuilds. +# Optional persistence for user-installed node skills across Docker image rebuilds. +# When enabled, redirect npm/pnpm global installs to /config/.node_global so +# dashboard-installed skills survive image updates. Disabled by default to keep +# Home Assistant backups smaller. # NOTE: This MUST come after the skills sync above (which needs the original npm root -g). # ------------------------------------------------------------------------------ PERSISTENT_NODE_GLOBAL="/config/.node_global" -mkdir -p "$PERSISTENT_NODE_GLOBAL" -npm config set prefix "$PERSISTENT_NODE_GLOBAL" 2>/dev/null || true -export PATH="${PERSISTENT_NODE_GLOBAL}/bin:${PATH}" -export NODE_PATH="${PERSISTENT_NODE_GLOBAL}/lib/node_modules:${NODE_PATH:-}" +if [ "$PERSIST_NODE_GLOBAL" = "true" ] || [ "$PERSIST_NODE_GLOBAL" = "1" ]; then + mkdir -p "$PERSISTENT_NODE_GLOBAL" + npm config set prefix "$PERSISTENT_NODE_GLOBAL" 2>/dev/null || true + export PATH="${PERSISTENT_NODE_GLOBAL}/bin:${PATH}" + export NODE_PATH="${PERSISTENT_NODE_GLOBAL}/lib/node_modules:${NODE_PATH:-}" -# Also configure pnpm global dir to persistent storage -export PNPM_HOME="${PERSISTENT_NODE_GLOBAL}/pnpm" -mkdir -p "$PNPM_HOME" -export PATH="${PNPM_HOME}:${PATH}" + # Also configure pnpm global dir to persistent storage + export PNPM_HOME="${PERSISTENT_NODE_GLOBAL}/pnpm" + mkdir -p "$PNPM_HOME" + export PATH="${PNPM_HOME}:${PATH}" + echo "INFO: persist_node_global=true; user-installed npm skills will survive add-on rebuilds." +else + npm config delete prefix 2>/dev/null || true + export npm_config_prefix="/usr/local" + export PNPM_HOME="/tmp/.pnpm-home" + mkdir -p "$PNPM_HOME" + export PATH="${PNPM_HOME}:${PATH}" + warn_legacy_persistent_dir "$PERSISTENT_NODE_GLOBAL" "node global tool/skill data" + echo "INFO: persist_node_global=false; npm/pnpm global installs are ephemeral and excluded from HA backups." +fi # Protect critical runtime variables from accidental override via gateway_env_vars. is_reserved_gateway_env_var() { @@ -331,42 +354,48 @@ elif [ "$GW_ENV_VARS_TYPE" != "null" ]; then fi # ------------------------------------------------------------------------------ -# Persist Linuxbrew/Homebrew across Docker image rebuilds -# Homebrew installs to /home/linuxbrew/.linuxbrew/ which is ephemeral. -# We sync it to /config/.linuxbrew and symlink back so brew-installed CLI -# tools (gog, gh, bw, etc.) survive add-on updates. +# Optional persistence for Linuxbrew/Homebrew across Docker image rebuilds. +# When enabled, sync /home/linuxbrew/.linuxbrew to /config/.linuxbrew so +# brew-installed CLI tools survive image updates. Disabled by default to keep +# Home Assistant backups smaller. # ------------------------------------------------------------------------------ IMAGE_BREW_DIR="/home/linuxbrew/.linuxbrew" PERSISTENT_BREW_DIR="/config/.linuxbrew" -if [ -d "$IMAGE_BREW_DIR" ] && [ ! -L "$IMAGE_BREW_DIR" ]; then - # Image has a real Homebrew install — sync to persistent storage - if [ -d "$PERSISTENT_BREW_DIR" ]; then - # Persistent copy exists: sync new/updated files from image (upgrades), - # but preserve user-installed packages already in persistent storage. - if command -v rsync >/dev/null 2>&1; then - rsync -a --update "$IMAGE_BREW_DIR/" "$PERSISTENT_BREW_DIR/" 2>/dev/null || true +if [ "$PERSIST_BREW_TOOLS" = "true" ] || [ "$PERSIST_BREW_TOOLS" = "1" ]; then + if [ -d "$IMAGE_BREW_DIR" ] && [ ! -L "$IMAGE_BREW_DIR" ]; then + # Image has a real Homebrew install — sync to persistent storage + if [ -d "$PERSISTENT_BREW_DIR" ]; then + # Persistent copy exists: sync new/updated files from image (upgrades), + # but preserve user-installed packages already in persistent storage. + if command -v rsync >/dev/null 2>&1; then + rsync -a --update "$IMAGE_BREW_DIR/" "$PERSISTENT_BREW_DIR/" 2>/dev/null || true + else + cp -ru "$IMAGE_BREW_DIR/"* "$PERSISTENT_BREW_DIR/" 2>/dev/null || true + fi + echo "INFO: Synced Homebrew updates to persistent storage" else - cp -ru "$IMAGE_BREW_DIR/"* "$PERSISTENT_BREW_DIR/" 2>/dev/null || true + # First time: copy entire Homebrew install to persistent storage + cp -a "$IMAGE_BREW_DIR" "$PERSISTENT_BREW_DIR" 2>/dev/null || true + echo "INFO: Copied Homebrew to persistent storage at $PERSISTENT_BREW_DIR" fi - echo "INFO: Synced Homebrew updates to persistent storage" + # Replace image dir with symlink to persistent copy + rm -rf "$IMAGE_BREW_DIR" + ln -sf "$PERSISTENT_BREW_DIR" "$IMAGE_BREW_DIR" + elif [ -L "$IMAGE_BREW_DIR" ]; then + echo "INFO: Homebrew already linked to persistent storage" + elif [ -d "$PERSISTENT_BREW_DIR" ]; then + # Image doesn't have Homebrew (failed install?) but persistent copy exists + mkdir -p "$(dirname "$IMAGE_BREW_DIR")" + ln -sf "$PERSISTENT_BREW_DIR" "$IMAGE_BREW_DIR" + echo "INFO: Restored Homebrew symlink from persistent storage" else - # First time: copy entire Homebrew install to persistent storage - cp -a "$IMAGE_BREW_DIR" "$PERSISTENT_BREW_DIR" 2>/dev/null || true - echo "INFO: Copied Homebrew to persistent storage at $PERSISTENT_BREW_DIR" + echo "INFO: Homebrew not available (install may have failed during image build)" fi - # Replace image dir with symlink to persistent copy - rm -rf "$IMAGE_BREW_DIR" - ln -sf "$PERSISTENT_BREW_DIR" "$IMAGE_BREW_DIR" -elif [ -L "$IMAGE_BREW_DIR" ]; then - echo "INFO: Homebrew already linked to persistent storage" -elif [ -d "$PERSISTENT_BREW_DIR" ]; then - # Image doesn't have Homebrew (failed install?) but persistent copy exists - mkdir -p "$(dirname "$IMAGE_BREW_DIR")" - ln -sf "$PERSISTENT_BREW_DIR" "$IMAGE_BREW_DIR" - echo "INFO: Restored Homebrew symlink from persistent storage" + echo "INFO: persist_brew_tools=true; brew-installed tools will survive add-on rebuilds." else - echo "INFO: Homebrew not available (install may have failed during image build)" + warn_legacy_persistent_dir "$PERSISTENT_BREW_DIR" "Homebrew data" + echo "INFO: persist_brew_tools=false; Homebrew installs stay ephemeral and excluded from HA backups." fi # Back-compat: some docs/scripts assume /data; point it at /config. diff --git a/openclaw_assistant/translations/bg.yaml b/openclaw_assistant/translations/bg.yaml index b5b6fd4..f47626d 100644 --- a/openclaw_assistant/translations/bg.yaml +++ b/openclaw_assistant/translations/bg.yaml @@ -42,6 +42,14 @@ configuration: clean_session_locks_on_exit: name: Изчистване на заключвания при изход description: Изчистване на заключващи файлове на сесии при нормално спиране на добавката + + persist_node_global: + name: Запазване на npm глобални умения + description: Когато е ВКЛ., съхранява инсталираните от потребителя npm умения и глобални пакети в /config/.node_global, за да оцелеят при преизграждане на добавката. По подразбиране е ИЗКЛ. за по-малки HA архиви. + + persist_brew_tools: + name: Запазване на Homebrew инструменти + description: Когато е ВКЛ., съхранява Homebrew и инсталираните с brew CLI инструменти в /config/.linuxbrew, за да оцелеят при преизграждане на добавката. По подразбиране е ИЗКЛ. за по-малки HA архиви. gateway_mode: name: Режим на Gateway diff --git a/openclaw_assistant/translations/de.yaml b/openclaw_assistant/translations/de.yaml index 8a8059f..6391b45 100644 --- a/openclaw_assistant/translations/de.yaml +++ b/openclaw_assistant/translations/de.yaml @@ -42,6 +42,14 @@ configuration: clean_session_locks_on_exit: name: Sitzungssperren beim Beenden bereinigen description: Sitzungssperrdateien beim ordnungsgemäßen Stoppen des Add-ons bereinigen + + persist_node_global: + name: npm-Globale Skills dauerhaft speichern + description: Wenn EIN, werden benutzerinstallierte npm-Skills und globale Pakete unter /config/.node_global gespeichert und über Add-on-Neubuilds hinweg behalten. Standard ist AUS, um Home-Assistant-Backups klein zu halten. + + persist_brew_tools: + name: Homebrew-Tools dauerhaft speichern + description: Wenn EIN, werden Homebrew und per brew installierte CLI-Tools unter /config/.linuxbrew gespeichert und über Add-on-Neubuilds hinweg behalten. Standard ist AUS, um Home-Assistant-Backups klein zu halten. gateway_mode: name: Gateway-Modus diff --git a/openclaw_assistant/translations/en.yaml b/openclaw_assistant/translations/en.yaml index d64a469..93c2069 100644 --- a/openclaw_assistant/translations/en.yaml +++ b/openclaw_assistant/translations/en.yaml @@ -42,6 +42,14 @@ configuration: clean_session_locks_on_exit: name: Clean Session Locks on Exit description: Cleanup session lock files when add-on stops gracefully + + persist_node_global: + name: Persist npm Global Skills + description: When ON, store user-installed npm skills and global packages under /config/.node_global so they survive add-on rebuilds. Default OFF to keep Home Assistant backups smaller. + + persist_brew_tools: + name: Persist Homebrew Tools + description: When ON, store Homebrew and brew-installed CLI tools under /config/.linuxbrew so they survive add-on rebuilds. Default OFF to keep Home Assistant backups smaller. gateway_mode: name: Gateway Mode diff --git a/openclaw_assistant/translations/es.yaml b/openclaw_assistant/translations/es.yaml index 76162b1..9ac9395 100644 --- a/openclaw_assistant/translations/es.yaml +++ b/openclaw_assistant/translations/es.yaml @@ -42,6 +42,14 @@ configuration: clean_session_locks_on_exit: name: Limpiar bloqueos de sesión al salir description: Limpiar archivos de bloqueo de sesión cuando el complemento se detiene correctamente + + persist_node_global: + name: Conservar habilidades globales de npm + description: Cuando está activado, guarda las habilidades npm instaladas por el usuario y los paquetes globales en /config/.node_global para que sobrevivan a reconstrucciones del complemento. Por defecto está desactivado para mantener pequeñas las copias de seguridad de Home Assistant. + + persist_brew_tools: + name: Conservar herramientas de Homebrew + description: Cuando está activado, guarda Homebrew y las herramientas CLI instaladas con brew en /config/.linuxbrew para que sobrevivan a reconstrucciones del complemento. Por defecto está desactivado para mantener pequeñas las copias de seguridad de Home Assistant. gateway_mode: name: Modo del Gateway diff --git a/openclaw_assistant/translations/pl.yaml b/openclaw_assistant/translations/pl.yaml index a788c7b..84a9842 100644 --- a/openclaw_assistant/translations/pl.yaml +++ b/openclaw_assistant/translations/pl.yaml @@ -42,6 +42,14 @@ configuration: clean_session_locks_on_exit: name: Wyczyść blokady sesji przy wyjściu description: Usuń pliki blokad sesji gdy dodatek zatrzymuje się poprawnie + + persist_node_global: + name: Zachowuj globalne umiejętności npm + description: Po włączeniu zapisuje umiejętności npm instalowane przez użytkownika i pakiety globalne w /config/.node_global, aby przetrwały przebudowę dodatku. Domyślnie wyłączone, aby kopie zapasowe Home Assistant były mniejsze. + + persist_brew_tools: + name: Zachowuj narzędzia Homebrew + description: Po włączeniu zapisuje Homebrew i narzędzia CLI instalowane przez brew w /config/.linuxbrew, aby przetrwały przebudowę dodatku. Domyślnie wyłączone, aby kopie zapasowe Home Assistant były mniejsze. gateway_remote_url: name: URL zdalnego Gateway diff --git a/openclaw_assistant/translations/pt-BR.yaml b/openclaw_assistant/translations/pt-BR.yaml index b304c63..12af9a4 100644 --- a/openclaw_assistant/translations/pt-BR.yaml +++ b/openclaw_assistant/translations/pt-BR.yaml @@ -42,6 +42,14 @@ configuration: clean_session_locks_on_exit: name: Limpar Bloqueios de Sessão ao Sair description: Limpar arquivos de bloqueio de sessão quando o add-on parar normalmente + + persist_node_global: + name: Persistir skills globais do npm + description: Quando ativado, armazena skills npm instaladas pelo usuário e pacotes globais em /config/.node_global para sobreviverem a reconstruções do add-on. O padrão é desativado para manter menores os backups do Home Assistant. + + persist_brew_tools: + name: Persistir ferramentas do Homebrew + description: Quando ativado, armazena o Homebrew e ferramentas CLI instaladas via brew em /config/.linuxbrew para sobreviverem a reconstruções do add-on. O padrão é desativado para manter menores os backups do Home Assistant. gateway_mode: name: Modo do Gateway