Fundamentals

Ruang kerja agen

Ruang kerja adalah rumah agen. Ini adalah satu-satunya direktori kerja yang digunakan untuk alat berkas dan konteks ruang kerja. Jaga agar tetap privat dan perlakukan sebagai memori.

Ini terpisah dari ~/.openclaw/, yang menyimpan konfigurasi, kredensial, dan sesi.

Lokasi default

  • Default: ~/.openclaw/workspace
  • Jika OPENCLAW_PROFILE diatur dan bukan "default", default menjadi ~/.openclaw/workspace-<profile>.
  • Timpa di ~/.openclaw/openclaw.json:
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}

openclaw onboard, openclaw configure, atau openclaw setup akan membuat ruang kerja dan menanam berkas bootstrap jika belum ada.

Jika Anda sudah mengelola berkas ruang kerja sendiri, Anda dapat menonaktifkan pembuatan berkas bootstrap:

{ agents: { defaults: { skipBootstrap: true } } }

Folder ruang kerja tambahan

Instalasi lama mungkin telah membuat ~/openclaw. Menyimpan beberapa direktori ruang kerja dapat menyebabkan drift autentikasi atau status yang membingungkan, karena hanya satu ruang kerja yang aktif pada satu waktu.

Peta berkas ruang kerja

Ini adalah berkas standar yang diharapkan OpenClaw ada di dalam ruang kerja:

AGENTS.md - instruksi operasi

Instruksi operasi untuk agen dan cara agen harus menggunakan memori. Dimuat pada awal setiap sesi. Tempat yang baik untuk aturan, prioritas, dan detail "cara berperilaku".

SOUL.md - persona dan nada

Persona, nada, dan batasan. Dimuat setiap sesi. Panduan: panduan kepribadian SOUL.md.

USER.md - siapa pengguna

Siapa pengguna dan cara menyapa mereka. Dimuat setiap sesi.

IDENTITY.md - nama, vibe, emoji

Nama, vibe, dan emoji agen. Dibuat/diperbarui selama ritual bootstrap.

TOOLS.md - konvensi alat lokal

Catatan tentang alat lokal dan konvensi Anda. Tidak mengontrol ketersediaan alat; ini hanya panduan.

HEARTBEAT.md - daftar periksa heartbeat

Daftar periksa kecil opsional untuk proses Heartbeat. Buat singkat untuk menghindari pemborosan token.

BOOT.md - daftar periksa startup

Daftar periksa startup opsional yang berjalan otomatis saat Gateway dimulai ulang (ketika hook internal diaktifkan). Buat singkat; gunakan alat pesan untuk pengiriman keluar.

BOOTSTRAP.md - ritual pertama kali dijalankan

Ritual satu kali saat pertama kali dijalankan. Hanya dibuat untuk ruang kerja yang benar-benar baru. Hapus setelah ritual selesai.

memory/YYYY-MM-DD.md - log memori harian

Log memori harian (satu berkas per hari). Disarankan membaca hari ini + kemarin saat sesi dimulai.

MEMORY.md - memori jangka panjang terkurasi (opsional)

Memori jangka panjang terkurasi. Hanya muat di sesi utama yang privat (bukan konteks bersama/grup). Lihat Memori untuk alur kerja dan flush memori otomatis.

skills/ - Skills ruang kerja (opsional)

Skills khusus ruang kerja. Lokasi skill dengan prioritas tertinggi untuk ruang kerja tersebut. Menimpa Skills agen proyek, Skills agen pribadi, Skills terkelola, Skills bawaan, dan skills.load.extraDirs ketika nama bertabrakan.

canvas/ - berkas UI Canvas (opsional)

Berkas UI Canvas untuk tampilan node (misalnya canvas/index.html).

Yang TIDAK ada di ruang kerja

Ini berada di bawah ~/.openclaw/ dan TIDAK boleh di-commit ke repo ruang kerja:

  • ~/.openclaw/openclaw.json (konfigurasi)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json (profil autentikasi model: OAuth + kunci API)
  • ~/.openclaw/agents/<agentId>/agent/codex-home/ (akun runtime Codex per agen, konfigurasi, Skills, plugins, dan status thread native)
  • ~/.openclaw/credentials/ (status kanal/penyedia ditambah data impor OAuth lama)
  • ~/.openclaw/agents/<agentId>/sessions/ (transkrip sesi + metadata)
  • ~/.openclaw/skills/ (Skills terkelola)

Jika Anda perlu memigrasikan sesi atau konfigurasi, salin secara terpisah dan jauhkan dari kontrol versi.

Cadangan Git (disarankan, privat)

Perlakukan ruang kerja sebagai memori privat. Letakkan di repo git privat agar dicadangkan dan dapat dipulihkan.

Jalankan langkah-langkah ini di mesin tempat Gateway berjalan (di situlah ruang kerja berada).

  • Inisialisasi repo

    Jika git terinstal, ruang kerja yang benar-benar baru diinisialisasi secara otomatis. Jika ruang kerja ini belum menjadi repo, jalankan:

    cd ~/.openclaw/workspace
    git init
    git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
    git commit -m "Add agent workspace"
    
  • Tambahkan remote privat

    UI web GitHub

    1. Buat repositori privat baru di GitHub.
    2. Jangan inisialisasi dengan README (menghindari konflik merge).
    3. Salin URL remote HTTPS.
    4. Tambahkan remote dan push:
    git branch -M main
    git remote add origin <https-url>
    git push -u origin main
    

    GitHub CLI (gh)

    gh auth login
    gh repo create openclaw-workspace --private --source . --remote origin --push
    

    UI web GitLab

    1. Buat repositori privat baru di GitLab.
    2. Jangan inisialisasi dengan README (menghindari konflik merge).
    3. Salin URL remote HTTPS.
    4. Tambahkan remote dan push:
    git branch -M main
    git remote add origin <https-url>
    git push -u origin main
    
  • Pembaruan berkelanjutan

    git status
    git add .
    git commit -m "Update memory"
    git push
    
  • Jangan commit rahasia

    Awalan .gitignore yang disarankan:

    .DS_Store
    .env
    **/*.key
    **/*.pem
    **/secrets*
    

    Memindahkan ruang kerja ke mesin baru

  • Clone repo

    Clone repo ke path yang diinginkan (default ~/.openclaw/workspace).

  • Perbarui konfigurasi

    Atur agents.defaults.workspace ke path tersebut di ~/.openclaw/openclaw.json.

  • Tanam berkas yang hilang

    Jalankan openclaw setup --workspace <path> untuk menanam berkas yang hilang.

  • Salin sesi (opsional)

    Jika Anda memerlukan sesi, salin ~/.openclaw/agents/<agentId>/sessions/ dari mesin lama secara terpisah.

  • Catatan lanjutan

    • Perutean multi-agen dapat menggunakan ruang kerja berbeda per agen. Lihat Perutean kanal untuk konfigurasi perutean.
    • Jika agents.defaults.sandbox diaktifkan, sesi non-utama dapat menggunakan ruang kerja sandbox per sesi di bawah agents.defaults.sandbox.workspaceRoot.

    Terkait