核心思想
迁移不只是复制文件,关键是让程序在新的位置能找到它的配置文件、模型文件、数据库(如果使用)和环境依赖。

迁移前准备(在原环境)
-
备份关键配置和文件
- 项目代码目录:整个
OpenClaw或open-claw文件夹。 - 配置文件:通常是项目根目录下的
config.json、config.yaml或.env文件,里面可能包含模型路径、API密钥等设置。 - 自定义模型文件(如果使用本地模型):这是最重要的,找到配置文件中
model_path或类似配置项指向的目录,这个目录通常不在项目代码文件夹内,体积也很大(几个GB到几十GB)。这是需要单独迁移的大文件。 - 对话历史/数据库:如果项目使用
sqlite(conversations.db文件)或其它本地数据库存储历史,也需要备份这个文件。
- 项目代码目录:整个
-
记录原环境信息(可选但推荐)
- 在原环境运行
pip list > requirements_old.txt,导出Python包列表。 - 记录Python版本(
python --version)。
- 在原环境运行
迁移步骤(在新环境)
传输文件
将备份的所有文件(项目代码、配置文件、模型文件、数据库文件)传输到新机器的目标位置,建议保持模型文件路径和项目内配置文件的相对关系不变,这样可以最小化配置更改。
设置新环境
-
创建Python虚拟环境(强烈推荐)
# 在新机器上 python -m venv openclaw_venv # 激活环境 # Linux/macOS: source openclaw_venv/bin/activate # Windows: openclaw_venv\Scripts\activate
-
安装项目依赖
cd /path/to/your/new/openclaw_project # 如果项目有 requirements.txt pip install -r requirements.txt # 如果没有,但你有从旧环境导出的列表,可以尝试(注意版本冲突) # pip install -r requirements_old.txt # 或者,项目可能使用 poetry 或 conda,请根据其文档安装
更新配置文件
这是最关键的一步,用文本编辑器打开项目根目录的主配置文件。
- 模型路径:将
model_path或llm.model_path等字段的值,更新为新机器上模型文件存放的绝对路径。- 示例(Windows):
"model_path": "D:\\AI_Models\\openclaw-model" - 示例(Linux/macOS):
"model_path": "/home/username/models/openclaw-model"
- 示例(Windows):
- 数据库路径:如果使用文件数据库(如SQLite),更新
db_path或database_url到新位置。 - API密钥/网络设置:检查是否需要更新
api_base_url、api_key或服务器host/port。
处理路径相关代码(如果遇到问题)
如果项目启动时报错,提示找不到文件,可能需要检查代码中是否存在硬编码的路径,通常好的项目会将所有路径通过配置文件读取,如果发现硬编码,需要:
- 在配置文件中添加对应的配置项。
- 在代码中将硬编码路径改为从配置文件读取。
快速迁移脚本示例(假设项目结构清晰)
你可以创建一个简单的脚本来帮助设置,setup_new_machine.sh(Linux/macOS)或 setup_new_machine.bat(Windows)。
Linux/macOS 示例 (setup.sh):
python3 -m venv venv
source venv/bin/activate
# 2. 安装依赖
pip install -r requirements.txt
# 3. 创建模型和数据目录(根据你的实际结构修改)
mkdir -p ./models
mkdir -p ./data
echo "请务必手动修改 config.json 中的模型路径和数据库路径!"
echo "模型请放入 ./models 目录,数据库文件请放入 ./data 目录。"
echo "完成后,运行: python main.py 或 flask run 来启动。"
Windows 示例 (setup.bat):
@echo off REM 1. 创建虚拟环境 python -m venv venv call venv\Scripts\activate.bat REM 2. 安装依赖 pip install -r requirements.txt REM 3. 创建目录 mkdir models mkdir data echo 请务必手动修改 config.json 中的模型路径和数据库路径! echo 模型请放入 .\models 目录,数据库文件请放入 .\data 目录。 echo 完成后,运行: python main.py 来启动。 pause
启动与测试
- 激活虚拟环境。
- 根据项目说明启动应用,通常是:
python app.py # 或 python main.py # 或 uvicorn main:app --reload # 或 flask run
- 打开浏览器访问提示的地址(如
http://127.0.0.1:8000),测试对话功能是否正常。
常见问题排查
- ModuleNotFoundError: 依赖未安装完整,检查
requirements.txt或项目文档。 - 找不到模型文件: 配置文件中的
model_path设置错误,检查路径是否存在、权限是否足够。 - CUDA错误(如果使用GPU): 新环境的CUDA版本、PyTorch版本可能与原环境不匹配,需要根据新机器的CUDA版本重新安装对应版本的
torch。 - 端口占用: 更改配置文件中的
port设置。
路径迁移的核心就是“复制所有必要文件” -> “在新环境重建依赖” -> “更新配置文件中的绝对路径”。 只要模型文件、配置文件和数据库文件这三个关键要素的位置正确,迁移通常就能成功。