OpenClaw 環(huán)境完整遷移實(shí)操步驟
一、遷移概述
OpenClaw 的運(yùn)行環(huán)境由全局核心配置、模型定義、插件/技能生態(tài)、用戶(hù)工作空間和環(huán)境變量認(rèn)證五部分組成。遷移的本質(zhì)是將這五部分核心文件完整復(fù)制到目標(biāo)環(huán)境,確保配置、功能和數(shù)據(jù)完全一致。
二、關(guān)鍵文件/目錄詳解(先搞懂“為什么要拷”)
在開(kāi)始操作前,需先確認(rèn)源環(huán)境的實(shí)際路徑(npm 全局安裝路徑因人而異,見(jiàn)下文“路徑查找方法”)。
| 組件類(lèi)型 | 作用說(shuō)明 | 默認(rèn)/常見(jiàn)路徑示例 |
|---|---|---|
| 全局配置文件 | 存儲(chǔ) OpenClaw 的核心設(shè)置(模型默認(rèn)參數(shù)、認(rèn)證方式、日志級(jí)別等) | ~/.npm-global/lib/node_modules/openclaw/config.json |
| 模型配置文件 | 自定義模型的定義(如模型名稱(chēng)、API 端點(diǎn)、參數(shù)映射等) | ~/.npm-global/lib/node_modules/openclaw/models.json |
| 插件目錄 | 所有已安裝插件的代碼和配置(插件是 OpenClaw 功能擴(kuò)展的核心) | ~/.npm-global/lib/node_modules/openclaw/plugins/ |
| 技能目錄 | 所有已安裝技能的定義(技能是插件的上層封裝,用于特定任務(wù)流) | ~/.npm-global/lib/node_modules/openclaw/skills/ |
| 用戶(hù)工作空間 | 存儲(chǔ)項(xiàng)目文件、對(duì)話(huà)記憶(MEMORY.md)、用戶(hù)偏好(USER.md)、會(huì)話(huà)歷史等 | ~/.openclaw/workspace/(可通過(guò)配置修改) |
| 環(huán)境變量配置 | 存儲(chǔ)敏感信息(如 API 密鑰)、自定義路徑等(OpenClaw 會(huì)讀取 OPENCLAW_* 開(kāi)頭的變量) | ~/.bashrc / ~/.zshrc / ~/.profile |
?? 路徑查找方法(避免拷貝錯(cuò)誤!)
在源環(huán)境執(zhí)行以下命令,獲取真實(shí)路徑:
# 1. 查找 OpenClaw 全局安裝目錄(核心?。? OPENCLAW_GLOBAL="$(npm root -g)/openclaw" echo "OpenClaw 全局目錄: $OPENCLAW_GLOBAL" # 2. 查找用戶(hù)工作空間目錄 OPENCLAW_WORKSPACE="$(openclaw config get workspace 2>/dev/null || echo "$HOME/.openclaw/workspace")" echo "OpenClaw 工作空間: $OPENCLAW_WORKSPACE" # 3. 確認(rèn)當(dāng)前使用的 Shell echo "當(dāng)前 Shell: $SHELL"
如下圖所示

三、實(shí)操步驟(分“備份源環(huán)境”和“恢復(fù)目標(biāo)環(huán)境”)
?? 第一階段:源環(huán)境備份(按順序執(zhí)行)
1. 備份前準(zhǔn)備
確保 OpenClaw 未運(yùn)行(避免文件被占用):
# 謹(jǐn)慎執(zhí)行!強(qiáng)制結(jié)束 OpenClaw 進(jìn)程(若有) pkill -f openclaw || echo "無(wú) OpenClaw 進(jìn)程運(yùn)行"
或者使用以下命令查看進(jìn)程:
ps -ef | grep openclaw
紅框中為openclaw進(jìn)程,如下圖所示:

定義備份路徑(建議帶日期,方便管理):
# 自定義備份目錄(可修改為你想存放的位置) BACKUP_DIR="$HOME/openclaw_backup_$(date +%Y%m%d)" mkdir -p "$BACKUP_DIR" echo "備份目錄: $BACKUP_DIR"
2. 執(zhí)行備份(復(fù)制所有核心文件)
# --- 1. 備份全局配置、模型、插件、技能 --- if [ -d "$OPENCLAW_GLOBAL" ]; then cp -a "$OPENCLAW_GLOBAL/config.json" "$BACKUP_DIR/" 2>/dev/null || echo "config.json 不存在,跳過(guò)" cp -a "$OPENCLAW_GLOBAL/models.json" "$BACKUP_DIR/" 2>/dev/null || echo "models.json 不存在,跳過(guò)" cp -a "$OPENCLAW_GLOBAL/plugins/" "$BACKUP_DIR/" 2>/dev/null || echo "plugins 目錄不存在,跳過(guò)" cp -a "$OPENCLAW_GLOBAL/skills/" "$BACKUP_DIR/" 2>/dev/null || echo "skills 目錄不存在,跳過(guò)" else echo "錯(cuò)誤: 未找到 OpenClaw 全局目錄 $OPENCLAW_GLOBAL" exit 1 fi # --- 2. 備份用戶(hù)工作空間 --- if [ -d "$OPENCLAW_WORKSPACE" ]; then cp -a "$OPENCLAW_WORKSPACE" "$BACKUP_DIR/workspace" else echo "警告: 未找到工作空間 $OPENCLAW_WORKSPACE,跳過(guò)" fi # --- 3. 備份 Shell 配置文件(環(huán)境變量) --- # 根據(jù)上面查到的 Shell 選擇對(duì)應(yīng)文件(以下以 bash 為例,zsh 請(qǐng)改為 ~/.zshrc) SHELL_CONFIG="$HOME/.bashrc" cp -a "$SHELL_CONFIG" "$BACKUP_DIR/$(basename $SHELL_CONFIG)" echo "? 備份完成!請(qǐng)檢查 $BACKUP_DIR 內(nèi)容:" ls -lah "$BACKUP_DIR"
?? 第二階段:目標(biāo)環(huán)境恢復(fù)
1. 目標(biāo)環(huán)境準(zhǔn)備
- 安裝 Node.js & npm:確保版本與源環(huán)境一致(可通過(guò)
node -v和npm -v查看源環(huán)境版本)。 - 安裝 OpenClaw:建議安裝與源環(huán)境相同版本(避免配置不兼容):
# 先查看源環(huán)境 OpenClaw 版本(在源環(huán)境執(zhí)行) openclaw --version # 目標(biāo)環(huán)境安裝對(duì)應(yīng)版本(假設(shè)源環(huán)境是3.2) npm install -g openclaw@3.2
如果能確認(rèn)都是最新版本,或者源環(huán)境是最新版本,則直接執(zhí)行如下命令安裝:
curl -fsSL https://openclaw.ai/install.sh | bash
- 確認(rèn)目標(biāo)環(huán)境路徑(和源環(huán)境一樣,先執(zhí)行“路徑查找方法”獲取
OPENCLAW_GLOBAL和OPENCLAW_WORKSPACE)。
2. 上傳備份文件到目標(biāo)環(huán)境
將源環(huán)境的 $BACKUP_DIR 文件夾(如 openclaw_backup_20260305)上傳到目標(biāo)環(huán)境的任意位置(如 ~/openclaw_backup_20260305)。
3. 執(zhí)行恢復(fù)(按順序!)
# --- 0. 定義變量(請(qǐng)根據(jù)實(shí)際情況修改?。?--- # 目標(biāo)環(huán)境的 OpenClaw 全局目錄(通過(guò) npm root -g 獲取) OPENCLAW_GLOBAL="$HOME/.npm-global/lib/node_modules/openclaw" # 目標(biāo)環(huán)境的工作空間目錄(通過(guò) openclaw config get workspace 獲?。? OPENCLAW_WORKSPACE="$HOME/.openclaw/workspace" # 上傳后的備份目錄路徑 BACKUP_DIR="$HOME/openclaw_backup_20260305" # 目標(biāo)環(huán)境的 Shell 配置文件 SHELL_CONFIG="$HOME/.bashrc" # --- 1. 停止 OpenClaw 進(jìn)程 --- pkill -f openclaw || echo "無(wú) OpenClaw 進(jìn)程運(yùn)行" # --- 2. 恢復(fù)全局配置、模型、插件、技能 --- if [ -d "$BACKUP_DIR" ]; then # 恢復(fù) config.json [ -f "$BACKUP_DIR/config.json" ] && cp -a "$BACKUP_DIR/config.json" "$OPENCLAW_GLOBAL/" # 恢復(fù) models.json [ -f "$BACKUP_DIR/models.json" ] && cp -a "$BACKUP_DIR/models.json" "$OPENCLAW_GLOBAL/" # 恢復(fù) plugins 目錄 [ -d "$BACKUP_DIR/plugins" ] && cp -a "$BACKUP_DIR/plugins/" "$OPENCLAW_GLOBAL/" # 恢復(fù) skills 目錄 [ -d "$BACKUP_DIR/skills" ] && cp -a "$BACKUP_DIR/skills/" "$OPENCLAW_GLOBAL/" else echo "錯(cuò)誤: 未找到備份目錄 $BACKUP_DIR" exit 1 fi # --- 3. 恢復(fù)工作空間 --- if [ -d "$BACKUP_DIR/workspace" ]; then mkdir -p "$(dirname $OPENCLAW_WORKSPACE)" # 確保父目錄存在 cp -a "$BACKUP_DIR/workspace" "$OPENCLAW_WORKSPACE" fi # --- 4. 恢復(fù)環(huán)境變量(謹(jǐn)慎!建議先備份目標(biāo)環(huán)境原配置) --- # 先備份目標(biāo)環(huán)境當(dāng)前的 Shell 配置 cp -a "$SHELL_CONFIG" "$SHELL_CONFIG.bak.$(date +%Y%m%d)" # 方法 A:直接覆蓋(僅當(dāng)目標(biāo)環(huán)境是全新環(huán)境時(shí)推薦) # cp -a "$BACKUP_DIR/$(basename $SHELL_CONFIG)" "$SHELL_CONFIG" # 方法 B:手動(dòng)合并(推薦!) # 打開(kāi)備份的 Shell 配置文件,將其中 OPENCLAW_* 開(kāi)頭的行復(fù)制到目標(biāo)環(huán)境的 $SHELL_CONFIG 末尾 echo "?? 請(qǐng)手動(dòng)合并環(huán)境變量:" echo " 1. 打開(kāi)備份文件: cat $BACKUP_DIR/$(basename $SHELL_CONFIG)" echo " 2. 將其中 OPENCLAW_* 開(kāi)頭的行復(fù)制到 $SHELL_CONFIG 末尾" echo " 3. 執(zhí)行: source $SHELL_CONFIG" # --- 5. 修復(fù)權(quán)限(如果全局目錄需要 sudo) --- # 若 OpenClaw 安裝在系統(tǒng)目錄(如 /usr/local/lib/node_modules),需加 sudo 執(zhí)行上述 cp 命令 # 例如: sudo cp -a "$BACKUP_DIR/config.json" "$OPENCLAW_GLOBAL/" echo "? 恢復(fù)操作完成!請(qǐng)繼續(xù)執(zhí)行“驗(yàn)證步驟”。"
四、驗(yàn)證遷移是否成功(必須做?。?/h2>
在目標(biāo)環(huán)境依次執(zhí)行以下命令,確認(rèn)所有組件正常:
# 1. 檢查 OpenClaw 版本 openclaw --version # 2. 檢查全局配置 openclaw config list # 3. 檢查模型列表 openclaw models list # 4. 檢查插件列表 openclaw plugins list # 5. 檢查技能列表 openclaw skills list # 6. 檢查工作空間文件 ls -lah "$(openclaw config get workspace)" # 7. 運(yùn)行簡(jiǎn)單測(cè)試(替換為你常用的命令) openclaw run "測(cè)試遷移是否成功"
五、常見(jiàn)問(wèn)題與注意事項(xiàng)
1. 版本兼容性
- 源環(huán)境和目標(biāo)環(huán)境的 OpenClaw 大版本必須一致(如 3.x → 3.x,不要跨 2.x 大版本直接遷移),否則可能出現(xiàn)配置解析錯(cuò)誤。
- 若必須跨版本,建議先在目標(biāo)環(huán)境安裝新版本,再手動(dòng)遷移
config.json和工作空間,插件重新安裝。
2. 插件依賴(lài)缺失
部分插件可能依賴(lài)系統(tǒng)庫(kù)或第三方工具(如 ffmpeg、python3、tensorflow 等)。遷移后若插件報(bào)錯(cuò),需在目標(biāo)環(huán)境手動(dòng)安裝依賴(lài):
# 以 Ubuntu 為例,安裝常見(jiàn)依賴(lài) sudo apt update && sudo apt install -y ffmpeg python3 python3-pip # 若插件要求特定 Python 包 pip3 install xxx
3. 權(quán)限問(wèn)題
若 OpenClaw 是通過(guò) sudo npm install -g 安裝的,全局目錄可能在 /usr/local/lib/node_modules/openclaw,此時(shí)備份和恢復(fù)需要加 sudo,且要注意文件所有者:
# 恢復(fù)后修復(fù)所有者(假設(shè)你的用戶(hù)名是 user) sudo chown -R user:user "$OPENCLAW_GLOBAL" sudo chown -R user:user "$OPENCLAW_WORKSPACE"
4. 環(huán)境變量沖突
- 若目標(biāo)環(huán)境已有
OPENCLAW_API_KEY等變量,手動(dòng)合并 Shell 配置時(shí)需注意覆蓋順序(后寫(xiě)的生效)。 - 建議使用
openclaw config set命令重新設(shè)置敏感信息,替代直接復(fù)制環(huán)境變量。
5. 工作空間軟鏈接
- 若工作空間中包含軟鏈接(
ln -s創(chuàng)建的文件),cp -a會(huì)保留軟鏈接。若軟鏈接指向的文件不在工作空間內(nèi),需單獨(dú)遷移這些文件,或修改軟鏈接為相對(duì)路徑。
六、快速參考(核心命令速查)
| 操作 | 命令示例 |
|---|---|
| 查找 npm 全局目錄 | npm root -g |
| 查看 OpenClaw 版本 | openclaw --version |
| 查看 OpenClaw 配置 | openclaw config list |
| 停止 OpenClaw 進(jìn)程 | pkill -f openclaw |
| 復(fù)制目錄(保留權(quán)限/軟鏈) | cp -a 源目錄 目標(biāo)目錄 |
七、一鍵打包腳本
1、用戶(hù)目錄替換成自己的。
#!/bin/bash
# OpenClaw 環(huán)境備份打包腳本
# 功能:將當(dāng)前 OpenClaw 配置、模型、插件、技能和工作空間打包成一個(gè) tarball
set -e
# 定義變量
USER_HOME="/home/tht"
OPENCLAW_NPM="$USER_HOME/.npm-global/lib/node_modules/openclaw"
WORKSPACE="$USER_HOME/.openclaw/workspace"
BACKUP_DIR="$WORKSPACE/backup_staging"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
ARCHIVE_NAME="openclaw_backup_$TIMESTAMP.tar.gz"
# 創(chuàng)建備份目錄
echo "正在創(chuàng)建備份目錄..."
rm -rf "$BACKUP_DIR"
mkdir -p "$BACKUP_DIR"
# 定義要備份的文件和目錄
echo "正在檢查并復(fù)制文件..."
# 配置文件
if [ -f "$OPENCLAW_NPM/config.json" ]; then
cp "$OPENCLAW_NPM/config.json" "$BACKUP_DIR/"
echo "? 已復(fù)制:config.json"
else
echo "? config.json 不存在 (跳過(guò))"
fi
if [ -f "$OPENCLAW_NPM/models.json" ]; then
cp "$OPENCLAW_NPM/models.json" "$BACKUP_DIR/"
echo "? 已復(fù)制:models.json"
else
echo "? models.json 不存在 (跳過(guò))"
fi
# 插件目錄
if [ -d "$OPENCLAW_NPM/plugins" ]; then
cp -r "$OPENCLAW_NPM/plugins" "$BACKUP_DIR/"
echo "? 已復(fù)制:plugins"
else
echo "? plugins 目錄不存在 (跳過(guò))"
fi
# 技能目錄
if [ -d "$OPENCLAW_NPM/skills" ]; then
cp -r "$OPENCLAW_NPM/skills" "$BACKUP_DIR/"
echo "? 已復(fù)制:skills"
else
echo "? skills 目錄不存在 (跳過(guò))"
fi
# 工作空間 (排除 backup_staging 目錄本身)
echo "正在處理工作空間..."
WORKSPACE_BACKUP_DIR="$BACKUP_DIR/workspace_content"
mkdir -p "$WORKSPACE_BACKUP_DIR"
# 復(fù)制工作空間中除備份目錄外的所有內(nèi)容
for item in "$WORKSPACE"/*; do
if [ -e "$item" ] && [ "$(basename "$item")" != "backup_staging" ] && [ "$(basename "$item")" != "archives" ]; then
cp -r "$item" "$WORKSPACE_BACKUP_DIR/"
echo "? 已復(fù)制工作空間項(xiàng):$(basename "$item")"
fi
done
# 創(chuàng)建工作空間中的歸檔目錄
echo ""
echo "正在創(chuàng)建壓縮包..."
ARCHIVE_WORKSPACE_DIR="$WORKSPACE/archives"
mkdir -p "$ARCHIVE_WORKSPACE_DIR"
# 創(chuàng)建壓縮包
cd "$BACKUP_DIR"
tar -czf "$ARCHIVE_WORKSPACE_DIR/$ARCHIVE_NAME" ./*
echo "? 壓縮包已創(chuàng)建:$ARCHIVE_WORKSPACE_DIR/$ARCHIVE_NAME"
# 顯示文件信息
echo ""
echo "=========================================="
echo "備份完成!"
echo "=========================================="
echo "壓縮包位置:$ARCHIVE_WORKSPACE_DIR/$ARCHIVE_NAME"
echo "文件大?。?(du -h "$ARCHIVE_WORKSPACE_DIR/$ARCHIVE_NAME" | cut -f1)"
echo ""
echo "解壓命令:"
echo " tar -xzf $ARCHIVE_WORKSPACE_DIR/$ARCHIVE_NAME -C /path/to/target"
echo ""
echo "=========================================="2. 給腳本添加執(zhí)行權(quán)限
chmod +x /home/tht/.openclaw/workspace/backup_openclaw.sh
3. 執(zhí)行備份腳本
sh /home/tht/.openclaw/workspace/backup_openclaw.sh
4. (可選)清理臨時(shí)目錄
rm -rf /home/tht/.openclaw/workspace/backup_staging
生成的壓縮包位置,比如今天這個(gè)包:
路徑: /home/tht/.openclaw/workspace/archives/openclaw_backup_20260305_160638.tar.gz
如下圖所示:

5.在目標(biāo)環(huán)境解壓命令
tar -xzf /path/to/openclaw_backup_xxxx.tar.gz -C /path/to/target
如果您想要手動(dòng)直接打包而不使用腳本,可以使用以下命令(記得換成你自己的目錄):
# 直接打包到工作空間 tar -czf /home/tht/.openclaw/workspace/archives/openclaw_manual_backup.tar.gz \ ~/.npm-global/lib/node_modules/openclaw/config.json \ ~/.npm-global/lib/node_modules/openclaw/skills \ /home/tht/.openclaw/workspace/AGENTS.md \ /home/tht/.openclaw/workspace/SOUL.md \ /home/tht/.openclaw/workspace/USER.md \ /home/tht/.openclaw/workspace/MEMORY.md \ /home/tht/.openclaw/workspace/memory/
到此這篇關(guān)于OpenClaw 環(huán)境完整遷移實(shí)操步驟的文章就介紹到這了,更多相關(guān)OpenClaw 環(huán)境遷移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

OpenClaw操控宿主機(jī)Win11本地環(huán)境完整實(shí)操
本文介紹了如何將Win11宿主機(jī)配置為OpenClaw的遠(yuǎn)程執(zhí)行節(jié)點(diǎn),通過(guò)SSH/WinRM協(xié)議建立虛擬機(jī)Ubuntu→Win11的可信通信通道,實(shí)現(xiàn)自動(dòng)化閉環(huán),內(nèi)容涵蓋了前置條件、網(wǎng)絡(luò)配置、Open2026-03-07
Linux環(huán)境下配置openclaw并連接到局域網(wǎng)ollama模型
本文介紹了如何在Linux環(huán)境下配置OpenClaw并連接到局域網(wǎng)內(nèi)的ollama模型,包括環(huán)境準(zhǔn)備、部署步驟、配置provider和model、飛書(shū)插件安裝與配置,以及消息測(cè)試和定時(shí)任務(wù)設(shè)置,2026-03-04
Ubuntu系統(tǒng)OpenClaw版本降級(jí)的實(shí)例操作
本文主要介紹了如何將OpenClaw從2026.3.2版本降級(jí)到2026.2.3版本,降級(jí)的核心動(dòng)因是新版本存在Bug、兼容性差或功能/性能不符合需求,文章詳細(xì)描述了命令行版本和桌面端版本的2026-03-07
OpenClaw使用Ollama本地模型的實(shí)現(xiàn)(支持工具調(diào)用))
Ollama 是一個(gè)本地 LLM 運(yùn)行時(shí),可以輕松在你的機(jī)器上運(yùn)行開(kāi)源模型,OpenClaw 通過(guò) Ollama 的 OpenAI 兼容 API 進(jìn)行集成,下面就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下2026-03-06
OpenClaw 本地安裝與配置十分鐘完成(附常用命令速查)
OpenClaw 是一個(gè)開(kāi)源的個(gè)人 AI 助手,支持系統(tǒng)操作、文件讀寫(xiě)、代碼執(zhí)行等,它可以通過(guò)配置文件進(jìn)行各種設(shè)置,這篇文章給大家介紹OpenClaw 快速入門(mén):10 分鐘完成本地安裝與配2026-03-06
這篇文章給大家介紹OpenClaw 使用教程跨平臺(tái)安裝部署、配置大模型 Provider、接入 Ollama、本地 Skills/插件、瀏覽器控制、搜索 API、Obsidian Skills的相關(guān)操作,感興趣的2026-03-05
零基礎(chǔ)入門(mén)OpenClaw 完整安裝配置實(shí)戰(zhàn)指南(完全流程)
OpenClaw就是一個(gè)可以讓 AI 住進(jìn)你的 Telegram、管理你的電腦或服務(wù)器、幫你寫(xiě)代碼的開(kāi)源框架,下面給大家分享整個(gè)安裝過(guò)程,感興趣的朋友跟隨小編一起看看吧2026-03-03








