Langsung ke konten utama

openclaw migrate

Impor status dari sistem agen lain melalui penyedia migrasi milik Plugin. Penyedia bawaan mencakup status Codex CLI, Claude, dan Hermes; Plugin pihak ketiga dapat mendaftarkan penyedia tambahan.
Untuk panduan pengguna, lihat Migrasi dari Claude dan Migrasi dari Hermes. Pusat migrasi mencantumkan semua jalur.

Perintah

openclaw migrate list
openclaw migrate claude --dry-run
openclaw migrate codex --dry-run
openclaw migrate codex --skill gog-vault77-google-workspace
openclaw migrate codex --plugin google-calendar --dry-run
openclaw migrate codex --plugin google-calendar --verify-plugin-apps --dry-run
openclaw migrate hermes --dry-run
openclaw migrate hermes
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
openclaw migrate apply codex --yes --plugin google-calendar
openclaw migrate apply codex --yes
openclaw migrate apply claude --yes
openclaw migrate apply hermes --yes
openclaw migrate apply hermes --include-secrets --yes
openclaw onboard --flow import
openclaw onboard --import-from claude --import-source ~/.claude
openclaw onboard --import-from hermes --import-source ~/.hermes
<provider>
string
Nama penyedia migrasi terdaftar, misalnya hermes. Jalankan openclaw migrate list untuk melihat penyedia yang terpasang.
--dry-run
boolean
Buat rencana dan keluar tanpa mengubah status.
--from <path>
string
Timpa direktori status sumber. Hermes secara default menggunakan ~/.hermes.
--include-secrets
boolean
Impor kredensial yang didukung tanpa meminta konfirmasi. Apply interaktif bertanya sebelum mengimpor kredensial autentikasi yang terdeteksi, dengan ya dipilih secara default; --yes non-interaktif memerlukan --include-secrets untuk mengimpornya.
--no-auth-credentials
boolean
Lewati impor kredensial autentikasi, termasuk prompt interaktif.
--overwrite
boolean
Izinkan apply mengganti target yang sudah ada ketika rencana melaporkan konflik.
--yes
boolean
Lewati prompt konfirmasi. Wajib dalam mode non-interaktif.
--skill <name>
string
Pilih satu item salinan skill berdasarkan nama skill atau id item. Ulangi flag untuk memigrasikan beberapa skill. Jika dihilangkan, migrasi Codex interaktif menampilkan pemilih kotak centang dan migrasi non-interaktif mempertahankan semua skill yang direncanakan.
--plugin <name>
string
Pilih satu item pemasangan Plugin Codex berdasarkan nama Plugin atau id item. Ulangi flag untuk memigrasikan beberapa Plugin Codex. Jika dihilangkan, migrasi Codex interaktif menampilkan pemilih kotak centang Plugin Codex native dan migrasi non-interaktif mempertahankan semua Plugin yang direncanakan. Ini hanya berlaku untuk Plugin Codex openai-curated yang dipasang dari sumber dan ditemukan oleh inventaris server aplikasi Codex.
--verify-plugin-apps
boolean
Hanya Codex. Paksa traversal app/list server aplikasi Codex sumber yang baru sebelum merencanakan aktivasi Plugin native. Nonaktif secara default agar perencanaan migrasi tetap cepat.
--no-backup
boolean
Lewati cadangan pra-apply. Memerlukan --force ketika status OpenClaw lokal ada.
--force
boolean
Wajib bersama --no-backup ketika apply seharusnya menolak melewati cadangan.
--json
boolean
Cetak rencana atau hasil apply sebagai JSON. Dengan --json dan tanpa --yes, apply mencetak rencana dan tidak mengubah status.

Model keselamatan

openclaw migrate mengutamakan pratinjau.
Penyedia mengembalikan rencana terperinci sebelum apa pun berubah, termasuk konflik, item yang dilewati, dan item sensitif. Rencana JSON, output apply, dan laporan migrasi menyunting kunci bertingkat yang tampak seperti rahasia, seperti kunci API, token, header otorisasi, cookie, dan kata sandi.openclaw migrate apply <provider> menampilkan pratinjau rencana dan meminta konfirmasi sebelum mengubah status kecuali --yes ditetapkan. Dalam mode non-interaktif, apply memerlukan --yes.
Apply membuat dan memverifikasi cadangan OpenClaw sebelum menerapkan migrasi. Jika belum ada status OpenClaw lokal, langkah cadangan dilewati dan migrasi dapat berlanjut. Untuk melewati cadangan ketika status ada, berikan --no-backup dan --force.
Apply menolak melanjutkan ketika rencana memiliki konflik. Tinjau rencana, lalu jalankan ulang dengan --overwrite jika penggantian target yang ada memang disengaja. Penyedia masih dapat menulis cadangan tingkat item untuk file yang ditimpa di direktori laporan migrasi.
Apply interaktif bertanya apakah akan mengimpor kredensial autentikasi yang terdeteksi, dengan ya dipilih secara default. Gunakan --no-auth-credentials untuk melewatinya, atau gunakan --include-secrets untuk impor kredensial tanpa pengawasan dengan --yes.

Penyedia Claude

Penyedia Claude bawaan mendeteksi status Claude Code di ~/.claude secara default. Gunakan --from <path> untuk mengimpor home Claude Code atau root proyek tertentu.
Untuk panduan pengguna, lihat Migrasi dari Claude.

Apa yang diimpor Claude

  • CLAUDE.md proyek dan .claude/CLAUDE.md ke dalam workspace agen OpenClaw.
  • ~/.claude/CLAUDE.md pengguna ditambahkan ke USER.md workspace.
  • Definisi server MCP dari .mcp.json proyek, Claude Code ~/.claude.json, dan Claude Desktop claude_desktop_config.json.
  • Direktori skill Claude yang menyertakan SKILL.md.
  • File Markdown perintah Claude yang dikonversi menjadi skill OpenClaw dengan pemanggilan manual saja.

Status arsip dan tinjauan manual

Hook, izin, default lingkungan, memori lokal, aturan berbasis path, subagen, cache, rencana, dan riwayat proyek Claude dipertahankan dalam laporan migrasi atau dilaporkan sebagai item tinjauan manual. OpenClaw tidak menjalankan hook, menyalin allowlist luas, atau mengimpor status kredensial OAuth/Desktop secara otomatis.

Penyedia Codex

Penyedia Codex bawaan mendeteksi status Codex CLI di ~/.codex secara default, atau di CODEX_HOME ketika variabel lingkungan tersebut ditetapkan. Gunakan --from <path> untuk menginventarisasi home Codex tertentu. Gunakan penyedia ini saat berpindah ke harness Codex OpenClaw dan Anda ingin mempromosikan aset pribadi Codex CLI yang berguna secara sengaja. Peluncuran server aplikasi Codex lokal menggunakan CODEX_HOME per agen, sehingga tidak membaca ~/.codex pribadi Anda secara default. Proses normal HOME tetap diwariskan, sehingga Codex dapat melihat Skills/plugin marketplace bersama di $HOME/.agents/* dan subproses dapat menemukan konfigurasi serta token home pengguna. Menjalankan openclaw migrate codex di terminal interaktif menampilkan pratinjau rencana lengkap, lalu membuka pemilih kotak centang sebelum konfirmasi apply akhir. Item salinan skill diminta terlebih dahulu. Gunakan Toggle all on atau Toggle all off untuk pemilihan massal. Tekan Space untuk mengubah baris, atau tekan Enter untuk mengaktifkan baris yang disorot dan melanjutkan. Skill yang direncanakan mulai dalam keadaan dicentang, skill konflik mulai tidak dicentang, dan Skip for now melewati salinan skill untuk proses ini sambil tetap melanjutkan ke pemilihan Plugin. Ketika Plugin Codex curated yang dipasang dari sumber dapat dimigrasikan dan --plugin tidak diberikan, migrasi kemudian meminta aktivasi Plugin Codex native berdasarkan nama Plugin. Item Plugin mulai dicentang kecuali konfigurasi Plugin Codex OpenClaw target sudah memiliki Plugin tersebut. Plugin target yang sudah ada mulai tidak dicentang dan menampilkan petunjuk konflik seperti conflict: plugin exists; pilih Toggle all off untuk tidak memigrasikan Plugin Codex native dalam proses tersebut, atau Skip for now untuk berhenti sebelum menerapkan. Untuk proses skrip atau presisi, berikan --skill <name> sekali per skill, misalnya:
openclaw migrate codex --dry-run --skill gog-vault77-google-workspace
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
Gunakan --plugin <name> untuk membatasi migrasi Plugin Codex native secara non-interaktif ke satu atau beberapa Plugin curated yang dipasang dari sumber:
openclaw migrate codex --dry-run --plugin google-calendar
openclaw migrate apply codex --yes --plugin google-calendar

Apa yang diimpor Codex

  • Direktori skill Codex CLI di bawah $CODEX_HOME/skills, kecuali cache .system milik Codex.
  • AgentSkills pribadi di bawah $HOME/.agents/skills, disalin ke workspace agen OpenClaw saat Anda menginginkan kepemilikan per agen.
  • Plugin Codex openai-curated yang dipasang dari sumber dan ditemukan melalui plugin/list server aplikasi Codex. Perencanaan membaca plugin/read untuk setiap Plugin terpasang yang diaktifkan. Plugin berbasis aplikasi memerlukan respons akun server aplikasi Codex sumber berupa akun langganan ChatGPT; respons akun non-ChatGPT atau tidak ada dilewati dengan codex_subscription_required. Secara default, migrasi tidak memanggil app/list sumber, sehingga Plugin berbasis aplikasi yang lolos gerbang akun direncanakan tanpa verifikasi aksesibilitas aplikasi sumber, dan kegagalan transport pencarian akun dilewati dengan codex_account_unavailable. Berikan --verify-plugin-apps ketika Anda ingin migrasi memaksa snapshot app/list sumber yang baru dan mewajibkan setiap aplikasi yang dimiliki hadir, diaktifkan, dan dapat diakses sebelum merencanakan aktivasi native. Dalam mode tersebut, kegagalan transport pencarian akun diteruskan ke verifikasi inventaris aplikasi sumber. Snapshot inventaris aplikasi sumber disimpan dalam memori untuk proses saat ini; snapshot tersebut tidak ditulis ke output migrasi atau konfigurasi target. Plugin yang dinonaktifkan, detail Plugin yang tidak dapat dibaca, akun sumber yang dibatasi langganan, dan, ketika verifikasi diminta, aplikasi yang hilang, aplikasi yang dinonaktifkan, aplikasi yang tidak dapat diakses, atau kegagalan inventaris aplikasi sumber menjadi item manual yang dilewati dengan alasan bertipe alih-alih entri konfigurasi target. Apply memanggil plugin/install server aplikasi untuk setiap Plugin layak yang dipilih, bahkan jika server aplikasi target sudah melaporkan Plugin tersebut sebagai terpasang dan diaktifkan. Plugin Codex yang dimigrasikan hanya dapat digunakan dalam sesi yang memilih harness Codex native; Plugin tersebut tidak diekspos ke run penyedia OpenClaw, binding percakapan ACP, atau harness lain.

Status Codex tinjauan manual

Codex config.toml, hooks/hooks.json native, marketplace non-curated, bundle Plugin cache yang bukan Plugin curated yang dipasang dari sumber, dan Plugin yang dipasang dari sumber yang gagal melewati gerbang langganan sumber tidak diaktifkan secara otomatis. Ketika --verify-plugin-apps ditetapkan, Plugin yang gagal melewati gerbang inventaris aplikasi sumber juga dilewati. Semua itu disalin atau dilaporkan dalam laporan migrasi untuk tinjauan manual. Untuk Plugin curated yang dipasang dari sumber dan dimigrasikan, apply menulis:
  • plugins.entries.codex.enabled: true
  • plugins.entries.codex.config.codexPlugins.enabled: true
  • plugins.entries.codex.config.codexPlugins.allow_destructive_actions: true
  • satu entri Plugin eksplisit dengan marketplaceName: "openai-curated" dan pluginName untuk setiap Plugin yang dipilih
Migrasi tidak pernah menulis plugins["*"] dan tidak pernah menyimpan jalur cache marketplace lokal. Kegagalan langganan di sisi sumber dilaporkan pada item manual dengan alasan bertipe seperti codex_subscription_required, codex_account_unavailable, plugin_disabled, atau plugin_read_unavailable. Dengan --verify-plugin-apps, kegagalan inventaris aplikasi sumber juga dapat muncul sebagai app_inaccessible, app_disabled, app_missing, atau app_inventory_unavailable. Plugin yang dilewati tidak ditulis ke konfigurasi target. Instalasi di sisi target yang memerlukan autentikasi dilaporkan pada item plugin yang terdampak dengan status: "skipped", reason: "auth_required", dan pengenal aplikasi yang telah disanitasi. Entri konfigurasi eksplisitnya ditulis dalam keadaan nonaktif sampai Anda mengotorisasi ulang dan mengaktifkannya. Kegagalan instalasi lainnya adalah hasil error yang tercakup per item. Jika inventaris Plugin server aplikasi Codex tidak tersedia selama perencanaan, migrasi akan kembali ke item penasihat bundel yang di-cache alih-alih menggagalkan seluruh migrasi.

Penyedia Hermes

Penyedia Hermes bawaan mendeteksi status di ~/.hermes secara default. Gunakan --from <path> ketika Hermes berada di lokasi lain.

Yang diimpor Hermes

  • Konfigurasi model default dari config.yaml.
  • Penyedia model yang dikonfigurasi dan endpoint kustom yang kompatibel dengan OpenAI dari providers dan custom_providers.
  • Definisi server MCP dari mcp_servers atau mcp.servers.
  • SOUL.md dan AGENTS.md ke ruang kerja agen OpenClaw.
  • memories/MEMORY.md dan memories/USER.md ditambahkan ke file memori ruang kerja.
  • Default konfigurasi memori untuk memori file OpenClaw, ditambah item arsip atau peninjauan manual untuk penyedia memori eksternal seperti Honcho.
  • Skills yang menyertakan file SKILL.md di bawah skills/<name>/.
  • Nilai konfigurasi per Skills dari skills.config.
  • Kredensial OAuth OpenAI OpenCode dari OpenCode auth.json ketika migrasi kredensial interaktif diterima, atau ketika --include-secrets diatur. Entri OAuth Hermes auth.json adalah status lama yang dilaporkan untuk autentikasi ulang OpenAI manual atau perbaikan doctor.
  • Kunci API dan token yang didukung dari Hermes .env dan OpenCode auth.json ketika migrasi kredensial interaktif diterima, atau ketika --include-secrets diatur.

Kunci .env yang didukung

  • AI_GATEWAY_API_KEY
  • ALIBABA_API_KEY
  • ANTHROPIC_API_KEY
  • ARCEEAI_API_KEY
  • CEREBRAS_API_KEY
  • CHUTES_API_KEY
  • CLOUDFLARE_AI_GATEWAY_API_KEY
  • COPILOT_GITHUB_TOKEN
  • DASHSCOPE_API_KEY
  • DEEPINFRA_API_KEY
  • DEEPSEEK_API_KEY
  • FIREWORKS_API_KEY
  • GEMINI_API_KEY
  • GH_TOKEN
  • GITHUB_TOKEN
  • GLM_API_KEY
  • GOOGLE_API_KEY
  • GROQ_API_KEY
  • HF_TOKEN
  • HUGGINGFACE_HUB_TOKEN
  • KILOCODE_API_KEY
  • KIMICODE_API_KEY
  • KIMI_API_KEY
  • MINIMAX_API_KEY
  • MINIMAX_CODING_API_KEY
  • MISTRAL_API_KEY
  • MODELSTUDIO_API_KEY
  • MOONSHOT_API_KEY
  • NVIDIA_API_KEY
  • OPENAI_API_KEY
  • OPENCODE_API_KEY
  • OPENCODE_GO_API_KEY
  • OPENCODE_ZEN_API_KEY
  • OPENROUTER_API_KEY
  • QIANFAN_API_KEY
  • QWEN_API_KEY
  • TOGETHER_API_KEY
  • VENICE_API_KEY
  • XAI_API_KEY
  • XIAOMI_API_KEY
  • ZAI_API_KEY
  • Z_AI_API_KEY

Status khusus arsip

Status Hermes yang tidak dapat ditafsirkan dengan aman oleh OpenClaw disalin ke laporan migrasi untuk peninjauan manual, tetapi tidak dimuat ke konfigurasi atau kredensial OpenClaw aktif. Ini mempertahankan status yang buram atau tidak aman tanpa berpura-pura bahwa OpenClaw dapat mengeksekusi atau mempercayainya secara otomatis:
  • plugins/
  • sessions/
  • logs/
  • cron/
  • mcp-tokens/
  • state.db

Setelah menerapkan

openclaw doctor

Kontrak Plugin

Sumber migrasi adalah Plugin. Sebuah Plugin mendeklarasikan id penyedianya di openclaw.plugin.json:
{
  "contracts": {
    "migrationProviders": ["hermes"]
  }
}
Saat runtime, Plugin memanggil api.registerMigrationProvider(...). Penyedia mengimplementasikan detect, plan, dan apply. Core memiliki orkestrasi CLI, kebijakan pencadangan, prompt, output JSON, dan preflight konflik. Core meneruskan rencana yang telah ditinjau ke apply(ctx, plan), dan penyedia dapat membangun ulang rencana hanya ketika argumen tersebut tidak ada demi kompatibilitas. Plugin penyedia dapat menggunakan openclaw/plugin-sdk/migration untuk konstruksi item dan jumlah ringkasan, ditambah openclaw/plugin-sdk/migration-runtime untuk penyalinan file yang sadar konflik, salinan laporan khusus arsip, wrapper config-runtime yang di-cache, dan laporan migrasi.

Integrasi onboarding

Onboarding dapat menawarkan migrasi ketika penyedia mendeteksi sumber yang dikenal. Baik openclaw onboard --flow import maupun openclaw setup --wizard --import-from hermes menggunakan penyedia migrasi Plugin yang sama dan tetap menampilkan pratinjau sebelum menerapkan.
Impor onboarding memerlukan penyiapan OpenClaw yang baru. Reset konfigurasi, kredensial, sesi, dan ruang kerja terlebih dahulu jika Anda sudah memiliki status lokal. Impor dengan pencadangan-plus-timpa atau gabung dibatasi fitur untuk penyiapan yang sudah ada.

Terkait