openclaw-installer
v1.0.4
Published
Openclaw installer/manager (bootstrap via npm exec)
Readme
openclaw-installer
openclaw-installer modernizes the legacy Bash installer by splitting it into two layers:
- Stable bootstrap script (
openclaw_installer.sh) — zero prerequisites. It ensures Node.js (>= 22) + npm and then launches the installer vianpm exec. - Maintainable Node CLI (
openclaw-installeron npm) — interactive flows powered by@clack/prompts, with online updates vianpm publish.
Once the bootstrap script is hosted on OSS/CDN, routine updates are delivered by publishing a new npm version (no repeated OSS uploads).
Usage
Recommended (hosted bootstrap script)
Upload openclaw_installer.sh to your OSS/CDN, then run:
curl -fsSL https://<your-host>/openclaw_installer.sh | bashCommon arguments (forwarded to the openclaw-installer CLI):
curl -fsSL https://<your-host>/openclaw_installer.sh | bash -s -- --status
curl -fsSL https://<your-host>/openclaw_installer.sh | bash -s -- --upgrade-core
curl -fsSL https://<your-host>/openclaw_installer.sh | bash -s -- --channel-add dingtalk
curl -fsSL https://<your-host>/openclaw_installer.sh | bash -s -- --configureBootstrap-only arguments:
./openclaw_installer.sh --installer-version [email protected]
./openclaw_installer.sh --no-self-updateCLI overview
Actions:
install— Full install pipeline (npm or git)upgrade— Upgrade core and/or pluginsstatus— Installed vs latest + gateway/config statusconfigure— Full configuration wizard and menuchannel— Channel plugin management (DingTalk)repair— Diagnostics and repair menuuninstall— Remove Openclaw and data
Examples:
openclaw-installer install --install-method npm
openclaw-installer upgrade --upgrade-core
openclaw-installer status
openclaw-installer configure
openclaw-installer channel list
openclaw-installer repair
openclaw-installer uninstall --purgeOptions
Common:
--no-prompt— Disable interactive prompts (CI)--no-onboard— Skip onboarding/config wizard--dry-run— Print actions without changes--verbose— Show command output--cn-mirrors|--china— Force China mirrors--no-cn-mirrors— Disable China mirrors--log— Enable installer logging--log-file <path>— Custom log file--log-level <debug|info|warn|error>— Log level (default:info)--log-history <n>— Log files to retain (default:5)
Install/upgrade:
--version <version|tag>— Openclaw version (default:latest)--beta— Installopenclaw@beta--install-method npm|git— Install via npm or git--git-dir <path>— Git checkout directory (default:~/openclaw)--no-git-update— Skipgit pullfor git method--file-tools|--no-file-tools— Install file tools (default: on)--python|--no-python— Install Python 3.12 (default: on)
Channels:
--channel-add dingtalk--channel-configure dingtalk--channel-upgrade dingtalk--channel-remove dingtalk--channel-list
Uninstall:
--purge— Remove all data (~/.openclaw+~/clawd)--keep-config— Keep config while removing workspace
Environment variables
All CLI flags can be driven by env vars (legacy-compatible):
CLAWDBOT_ACTION=install|upgrade|configure|status|repair|uninstall|menu|channelCLAWDBOT_INSTALL_METHOD=npm|gitCLAWDBOT_GIT_DIR=/path/to/openclawCLAWDBOT_GIT_UPDATE=1|0CLAWDBOT_VERSION=latest|1.2.3CLAWDBOT_BETA=1|0CLAWDBOT_UPGRADE_TARGET=all|core|pluginsCLAWDBOT_NO_PROMPT=1|0CLAWDBOT_NO_ONBOARD=1|0CLAWDBOT_DRY_RUN=1|0CLAWDBOT_VERBOSE=1|0CLAWDBOT_USE_CN_MIRRORS=1|0CLAWDBOT_FILE_TOOLS=1|0CLAWDBOT_PYTHON=1|0CLAWDBOT_LOG=1|0CLAWDBOT_LOG_FILE=/path/to/logCLAWDBOT_LOG_LEVEL=debug|info|warn|errorCLAWDBOT_LOG_HISTORY=5CLAWDBOT_NPM_LOGLEVEL=error|warn|noticeCLAWDBOT_NPM_LEGACY_PEER_DEPS=1|0CLAWDBOT_UNINSTALL_PURGE=1|0CLAWDBOT_UNINSTALL_KEEP_CONFIG=1|0
Notes:
- China mirrors are process-local only (no global
npm config set). - Plugin fallback installs into
~/.openclaw/extensions/<pkg>whenopenclaw pluginsis unavailable.
Local development
npm install
npm run build
node dist/cli.js --helpPublishing
npm publish --access publicNotes:
- The bootstrap script defaults to
openclaw-installer@^1to avoid auto-pulling future breaking changes.
