Appearance
从 Claude Code 或 Claude Desktop 迁移到 OpenClaw?使用 OpenClaw 自带的 Claude 迁移提供程序,可导入项目 CLAUDE.md、MCP 服务器、技能和命令。迁移前先运行 openclaw migrate claude --dry-run 预览变更,apply 时自动创建并校验备份。注意:Onboarding 导入仅适用于全新 OpenClaw 安装;已有配置需直接使用 openclaw migrate apply claude --yes。部分状态如 hooks、权限、缓存仅归档到报告,不会自动载入。
OpenClaw 从 Claude 迁移:导入指令、MCP 服务器和技能
OpenClaw 通过内置的 Claude 迁移提供程序导入本地 Claude 状态。该提供程序在变更状态前预览每一项内容,在计划和报告中脱敏密钥(secrets),并在应用前创建可验证的备份。
INFO
Onboarding 导入需要全新的 OpenClaw 环境。如果你已有本地 OpenClaw 状态,请先重置配置、凭证、会话和工作区,或者在审查计划后使用 openclaw migrate 配合 --overwrite 直接运行。
两种导入方式
Onboarding 向导
当向导检测到本地 Claude 状态时,会提供 Claude 导入选项。
```bash
openclaw onboard --flow import
```
或指定具体的源路径:
```bash
openclaw onboard --import-from claude --import-source ~/.claude
```
CLI
使用 `openclaw migrate` 进行脚本化或可重复的运行。完整参考见 [`openclaw migrate`](/ai/ai-tools/openclaw/cli/migrate)。
```bash
openclaw migrate claude --dry-run
openclaw migrate apply claude --yes
```
添加 `--from <路径>` 导入特定的 Claude Code 家目录或项目根目录。
哪些内容会被导入
指令和记忆 (Instructions and memory)
- 项目中的 `CLAUDE.md` 和 `.claude/CLAUDE.md` 内容会被复制或追加到 OpenClaw 智能体工作区的 `AGENTS.md` 中。
- 用户的 `~/.claude/CLAUDE.md` 内容会被追加到工作区 `USER.md` 中。
MCP 服务器
当存在时,MCP 服务器定义会从项目的 `.mcp.json`、Claude Code 的 `~/.claude.json` 以及 Claude Desktop 的 `claude_desktop_config.json` 中导入。
技能和命令 (Skills and commands)
- 包含 `SKILL.md` 文件的 Claude 技能会被复制到 OpenClaw 工作区的技能目录。
- 位于 `.claude/commands/` 或 `~/.claude/commands/` 下的 Claude 命令 Markdown 文件会被转换为 OpenClaw 技能,并设置 `disable-model-invocation: true`。
哪些内容仅归档
以下内容会被复制到迁移报告中供人工审查,但不会加载到 OpenClaw 活动配置中:
- Claude hooks
- Claude 权限和宽泛的工具允许列表
- Claude 环境默认值
CLAUDE.local.md.claude/rules/.claude/agents/或~/.claude/agents/下的 Claude 子智能体- Claude Code 的缓存、计划和项目历史目录
- Claude Desktop 扩展和操作系统存储的凭证
OpenClaw 不会自动执行 hooks、信任权限允许列表,或解码不透明的 OAuth 和 Desktop 凭证状态。你需要审查归档后手动迁移所需内容。
源路径选择
如果不加 --from,OpenClaw 会检查默认的 Claude Code 家目录 ~/.claude、取样 ~/.claude.json 状态文件,以及 macOS 上的 Claude Desktop MCP 配置。
当 --from 指向一个项目根目录时,OpenClaw 只导入该项目相关的 Claude 文件,例如 CLAUDE.md、.claude/settings.json、.claude/commands/、.claude/skills/ 和 .mcp.json。项目根目录导入期间不会读取全局 Claude 家目录。
推荐流程
预览计划
```bash
openclaw migrate claude --dry-run
```
计划列出了所有将要变更的内容,包括冲突、跳过的项目,以及从嵌套 MCP `env` 或 `headers` 字段中脱敏的敏感值。
应用并创建备份
```bash
openclaw migrate apply claude --yes
```
OpenClaw 会在应用前创建并校验备份。
运行 doctor 检查
```bash
openclaw doctor
```
[Doctor](/ai/ai-tools/openclaw/gateway/doctor) 会检查导入后的配置或状态问题。
重启并验证
```bash
openclaw gateway restart
openclaw status
```
确认网关健康,且导入的指令、MCP 服务器和技能已加载。
冲突处理
当计划报告冲突(目标位置已存在文件或配置值)时,apply 会拒绝继续。
WARNING
仅当你有意替换现有目标时,才重新运行添加 --overwrite。提供程序仍可能为被覆盖的文件在迁移报告目录中写入单项备份。
对于全新 OpenClaw 安装,冲突很少发生。通常在你对已有用户编辑的配置上重新运行导入时出现。
JSON 输出用于自动化
bash
openclaw migrate claude --dry-run --json
openclaw migrate apply claude --json --yes使用 --json 且不加 --yes 时,apply 会打印计划但不会修改状态。这是 CI 和共享脚本中最安全的模式。
常见问题
迁移后 Claude 命令变成了什么?
Claude 命令(位于 .claude/commands/ 或 ~/.claude/commands/)会被导入为 OpenClaw 技能,且默认设置了 disable-model-invocation: true。这意味着智能体不会自动调用它们,你需要手动触发。如果你希望智能体自动调用,编辑每个技能的 frontmatter 去掉该设置即可。
我的 Claude Desktop MCP 服务器没有导入怎么办?
Claude Desktop 的 MCP 配置位于 claude_desktop_config.json,路径因操作系统而异。如果 OpenClaw 未自动检测到,请通过 --from 参数指向该配置文件所在的目录。例如:openclaw migrate claude --from ~/Library/Application\ Support/Claude/。
导入时报冲突,如何覆盖?
先运行 openclaw migrate claude --dry-run 查看冲突项。确认无误后,使用 openclaw migrate apply claude --yes --overwrite 强制覆盖。覆盖前 OpenClaw 仍会备份文件到迁移报告目录。
相关文档
openclaw migrate:完整 CLI 参考、插件合约和 JSON 格式。- 迁移指南:所有迁移路径。
- 从 Hermes 迁移:另一个跨系统导入路径。
- Onboarding:向导流程和非交互标志。
- Doctor:迁移后健康检查。
- Agent 工作区:
AGENTS.md、USER.md和技能的存放位置。