codecamp

迁移 OpenClaw 至 ArkClaw

通过迁移功能,您可以将已有 OpenClaw(下称 源端) 数据快速迁移至目标 ArkClaw(下称 目的端)。迁移完成后,ArkClaw 将使用 OpenClaw 积累的记忆、技能等数据,确保与您原有的使用习惯、操作逻辑一致,实现零学习成本、无服务中断的平滑切换。

注意事项

  • 支持迁移本地及各大云平台(如阿里云、华为云、腾讯云等)中部署的 OpenClaw。仅需确保 OpenClaw 部署在 Linux 操作系统中,且其版本处于 2026.2.132026.5.7 之间(含 2026.2.132026.5.7 版本)。

    您可以通过对话(例如:告诉我你现在 OpenClaw 的版本,以及部署环境的操作系统是 Linux 吗?)进行确认。

  • 导入至 ArkClaw 的数据范围详情,可查看 导入范围说明。

    • 单个文件大小超过 200 MB 时,将不会迁移该文件。
    • OpenClaw 全部文件大小超过 1 GB 时,将不会进行迁移。
    • 您在 OpenClaw 中配置的推理模型信息不会迁移至 ArkClaw,ArkClaw 默认使用方舟 Coding Plan 支持的模型,您可以按需 调整推理模型

  • 导入后,ArkClaw 中原有配置将被覆盖且无法找回,建议您在导入前对 ArkClaw 进行 备份 操作。

操作步骤

步骤一:在目的端获取 OpenClaw 导出命令

请在需要目的端 ArkClaw 中获取导出命令,否则将导致导入失败。

  1. 在 ArkClaw 对话页面中,单击设置图标。
  2. 单击“迁移 OpenClaw 至 ArkClaw”按钮。
  3. 单击复制按钮,获取导出命令。

    • 导出命令有效期为 1 小时,请在命令有效期内使用。若命令超过有效期,请重新打开该页面获取新命令。
    • 导出命令,会将您的 OpenClaw 打包上传至 ArkClaw 专属空间临时存放,不会对您原 OpenClaw 配置做任何操作。
    • 在您执行导入操作后(无论成功/失败),临时存放的 OpenClaw 将被立即删除。若您未进行导入操作,临时存放的 OpenClaw 将保留 24 小时并在超时后自动删除。

步骤二:在源端导出 OpenClaw 并获取导入地址

  1. 登录部署 OpenClaw 的服务器。
  2. 在终端中执行您在前文获取的导出命令,将 OpenClaw 快速导出至 ArkClaw 专属空间临时存放,并生成专属且安全的 OpenClaw 导入地址。
  3. 命令执行成功后,请复制回显信息中展示的 OpenClaw 导入地址。

步骤三:导入 OpenClaw

  1. 回到 ArkClaw 控制台,单击“设置 \> 迁移 OpenClaw 至 ArkClaw”按钮。

    请选择 步骤一 中获取导出命令的 ArkClaw,否则将导致导入失败。

  2. 填入您在 步骤二 中获取的导入地址,单击“导入并重启 ArkClaw”按钮。
  3. 在弹窗中确认风险后,单击“确定”按钮开始导入流程。

  4. 待导入成功后,您可以与 ArkClaw 进行对话,验证其所有配置是否与原有 OpenClaw 完全一致。
  5. 若导入失败,ArkClaw 将自动回滚至导入前的状态。您可以再次参考 步骤一步骤二 指引,重新导入 OpenClaw。

    若您的 ArkClaw 无法启动,且在迁移前进行了 备份,您可以使用备份将 ArkClaw 恢复至正常运行的状态。否则,您可以尝试 自动修复 ArkClaw恢复 ArkClaw 出厂设置

步骤四:配置消息渠道

迁移功能不会将您 OpenClaw 中配置的消息渠道信息迁移至 ArkClaw,您需要手动为 ArkClaw 配置消息渠道。

  • 建议您新建对应消息渠道的机器人,集成至 ArkClaw。 了解更多
  • 若您希望使用已有机器人,请确保已有机器人未在其它 OpenClaw 中使用。若其已在 OpenClaw 中配置、使用,您可以:

    1. 停止 OpenClaw 服务或禁用消息渠道。
      完全停止 OpenClaw 服务(推荐
      若您不再使用原 OpenClaw,可直接将其服务停止。

    1. 登录部署 OpenClaw 的服务器。
    2. 执行如下命令,停止 OpenClaw 服务的运行。
      sudo openclaw gateway stop 2>/dev/null
      sudo systemctl --user disable openclaw-gateway.service

仅禁用特定消息渠道
若您还想继续使用原 OpenClaw,可将其集成的消息渠道禁用,保留 OpenClaw 继续运行。

  
  1. 登录部署 OpenClaw 的服务器。
  2. 执行如下命令,禁用特定的消息渠道。
   ```Bash
   # 禁用飞书渠道
   openclaw config set channels.feishu.enabled false

   
   # 禁用企业微信渠道
   openclaw config set channels.wecom.enabled false

   
   # 禁用钉钉渠道
   openclaw config set channels.dingtalk-connector.enabled false

   
   # 禁用QQ渠道
   openclaw config set channels.qqbot.enabled false
   ```

  
  3. 执行如下命令重启 OpenClaw 网关,使配置生效。
   ```Bash
   openclaw gateway restart
   ```

  
  1. 参考 配置消息渠道 指引,按需为 ArkClaw 配置飞书、微信等消息渠道。

导入范围说明

本功能会将您的 OpenClaw 如下配置导入至 ArkClaw。

模块 导入 ArkClaw 的配置 说明
Identity(身份与人格) * SOUL.md:包含 OpenClaw 的灵魂/人格定义等信息。 这些文件定义了 OpenClaw 是谁,导入至 ArkClaw 可以保留其原有的角色与性格定义,确保迁移后依然是您熟悉的专属 AI 助手。 \
* IDENTITY.md:包含OpenClaw 的名字、形象、签名等信息。 \
* USER.md:包含 OpenClaw 对您的了解。 \
* AGENTS.md:工作区行为规范。 \
* TOOLS.md:环境特定的工具笔记。 \
* HEARTBEAT.md:心跳检查清单。 \
* VOICE_GUIDE.md:语音指南(仅文件存在时导入)。 \
* BOOT.md:启动引导(仅文件存在时导入)。
Memory(记忆) * MEMORY.md:该文件是 OpenClaw 的长期策展记忆。 这些文件包含了OpenClaw 的历史记忆,包含其长期积累的用户偏好、项目进展与历史决策等信息。导入至 ArkClaw 可以确保其原有的记忆不会丢失。 \
* memory/:该目录下为 OpenClaw 的日常笔记(文件格式为 YYYY-MM-DD.md)。 \
* Checkpoint:该文件为对话上下文检查点。 \
* 状态 JSON 文件,例如:heartbeat-state.json 等。
Skills(技能) workspace/skills/:工作区技能,即您本地安装的技能。 技能赋予了 OpenClaw 各种能力(例如:天气查询、股票分析、视频生成等)。导入至 ArkClaw 可以确保 AI 助手的工作本领不打折。
Plugins(插件与扩展) .openclaw/extensions/:工作区扩展。 插件扩展了 OpenClaw 的底层能力,包括消息渠道连接器(飞书、企业微信、钉钉等)、记忆引擎、浏览器控制等。 \
:::tip \
系统将尽可能为您迁移所有插件,但为保障 ArkClaw 的稳定运行,存在兼容性问题的插件将被自动跳过,不会迁移至 ArkClaw。 \
\
:::
Sessions(对话历史与定时任务) * sessions.json:每个 OpenClaw 的会话存储。 会话历史保存了 OpenClaw 和您之间的对话上下文,而定时任务则是 OpenClaw 的自动化行为(定时提醒、定期检查等)。导入至 ArkClaw 可以确保您原有的日常工作流不中断。 \
* 对话记录文件(.jsonl 格式的转录文件)。 \
* cron/jobs.json:定时任务配置。
Source(源码) 您在 workspace/src/ 目录下自定义的源码。 您在工作区编写的自定义脚本、工具等的源码文件,同样会被导入 ArkClaw ,确保您的个性化代码资产开箱即用。
ArkClaw 记忆管理
ArkClaw 使用云电脑
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

为 ArkClaw 组建 Agent 团队

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }