chore(i18n): refresh id translations
This commit is contained in:
parent
0fe59627b0
commit
a21f7c8cea
@ -1,21 +1,21 @@
|
||||
---
|
||||
read_when:
|
||||
- Anda mengalami masalah konektivitas/autentikasi dan menginginkan perbaikan terpandu
|
||||
- Anda telah memperbarui dan ingin pemeriksaan kewajaran
|
||||
- Anda telah melakukan pembaruan dan ingin pemeriksaan kewajaran
|
||||
summary: Referensi CLI untuk `openclaw doctor` (pemeriksaan kesehatan + perbaikan terpandu)
|
||||
title: Dokter
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T09:39:29Z"
|
||||
generated_at: "2026-04-30T20:05:34Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 9985c84d23861dd9468a4659ee00519573fe6d540c436548da0a68067dbabc4c
|
||||
source_hash: 265d82a10da086cf89687886e491be018a720b70021e0b26bd8f39b25a907e14
|
||||
source_path: cli/doctor.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# `openclaw doctor`
|
||||
|
||||
Pemeriksaan kesehatan + perbaikan cepat untuk Gateway dan kanal.
|
||||
Pemeriksaan kesehatan + perbaikan cepat untuk Gateway dan channel.
|
||||
|
||||
Terkait:
|
||||
|
||||
@ -34,39 +34,40 @@ openclaw doctor --generate-gateway-token
|
||||
|
||||
## Opsi
|
||||
|
||||
- `--no-workspace-suggestions`: nonaktifkan saran memori/pencarian workspace
|
||||
- `--yes`: terima nilai default tanpa meminta konfirmasi
|
||||
- `--no-workspace-suggestions`: nonaktifkan saran pencarian/memori workspace
|
||||
- `--yes`: terima default tanpa meminta konfirmasi
|
||||
- `--repair`: terapkan perbaikan yang direkomendasikan tanpa meminta konfirmasi
|
||||
- `--fix`: alias untuk `--repair`
|
||||
- `--force`: terapkan perbaikan agresif, termasuk menimpa konfigurasi layanan kustom bila diperlukan
|
||||
- `--force`: terapkan perbaikan agresif, termasuk menimpa konfigurasi layanan khusus bila diperlukan
|
||||
- `--non-interactive`: jalankan tanpa prompt; hanya migrasi aman
|
||||
- `--generate-gateway-token`: buat dan konfigurasikan token Gateway
|
||||
- `--deep`: pindai layanan sistem untuk instalasi Gateway tambahan
|
||||
|
||||
Catatan:
|
||||
|
||||
- Prompt interaktif (seperti perbaikan keychain/OAuth) hanya berjalan ketika stdin adalah TTY dan `--non-interactive` **tidak** disetel. Eksekusi tanpa terminal (cron, Telegram, tanpa terminal) akan melewati prompt.
|
||||
- Performa: eksekusi `doctor` noninteraktif melewati pemuatan Plugin secara eager agar pemeriksaan kesehatan tanpa terminal tetap cepat. Sesi interaktif tetap memuat Plugin secara penuh ketika suatu pemeriksaan membutuhkan kontribusinya.
|
||||
- `--fix` (alias untuk `--repair`) menulis cadangan ke `~/.openclaw/openclaw.json.bak` dan menghapus kunci konfigurasi yang tidak dikenal, dengan mencantumkan setiap penghapusan.
|
||||
- Pemeriksaan integritas status kini mendeteksi berkas transkrip yatim di direktori sesi. Mengarsipkannya sebagai `.deleted.<timestamp>` memerlukan konfirmasi interaktif; `--fix`, `--yes`, dan eksekusi tanpa terminal membiarkannya tetap di tempat.
|
||||
- Doctor juga memindai `~/.openclaw/cron/jobs.json` (atau `cron.store`) untuk bentuk pekerjaan Cron lama dan dapat menulis ulangnya langsung sebelum scheduler harus melakukan normalisasi otomatis saat runtime.
|
||||
- Doctor memperbaiki dependensi runtime Plugin bawaan yang hilang tanpa menulis ke instalasi global terpaket. Untuk instalasi npm milik root atau unit systemd yang diperkeras, setel `OPENCLAW_PLUGIN_STAGE_DIR` ke direktori yang dapat ditulis seperti `/var/lib/openclaw/plugin-runtime-deps`; ini juga dapat berupa daftar path seperti `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, dengan root awal sebagai lapisan pencarian baca-saja dan root terakhir sebagai target perbaikan.
|
||||
- Doctor memperbaiki konfigurasi Plugin basi dengan menghapus id Plugin yang hilang dari `plugins.allow`/`plugins.entries`, ditambah konfigurasi kanal menggantung yang cocok, target Heartbeat, dan override model kanal ketika penemuan Plugin sehat.
|
||||
- Doctor mengarantina konfigurasi Plugin yang tidak valid dengan menonaktifkan entri `plugins.entries.<id>` yang terdampak dan menghapus payload `config` yang tidak valid. Startup Gateway sudah hanya melewati Plugin bermasalah itu sehingga Plugin dan kanal lain dapat tetap berjalan.
|
||||
- Setel `OPENCLAW_SERVICE_REPAIR_POLICY=external` ketika supervisor lain memiliki siklus hidup Gateway. Doctor tetap melaporkan kesehatan Gateway/layanan dan menerapkan perbaikan non-layanan, tetapi melewati pemasangan/mulai/mulai ulang/bootstrap layanan dan pembersihan layanan lama.
|
||||
- Di Linux, doctor mengabaikan unit systemd tambahan mirip Gateway yang tidak aktif dan tidak menulis ulang metadata perintah/entrypoint untuk layanan Gateway systemd yang sedang berjalan selama perbaikan. Hentikan layanan terlebih dahulu atau gunakan `openclaw gateway install --force` ketika Anda sengaja ingin mengganti launcher aktif.
|
||||
- Doctor memigrasikan otomatis konfigurasi Talk flat lama (`talk.voiceId`, `talk.modelId`, dan sejenisnya) ke `talk.provider` + `talk.providers.<provider>`.
|
||||
- Prompt interaktif (seperti perbaikan keychain/OAuth) hanya berjalan ketika stdin adalah TTY dan `--non-interactive` **tidak** disetel. Eksekusi headless (cron, Telegram, tanpa terminal) akan melewati prompt.
|
||||
- Performa: eksekusi `doctor` non-interaktif melewati pemuatan Plugin secara eager agar pemeriksaan kesehatan headless tetap cepat. Sesi interaktif tetap memuat Plugin sepenuhnya ketika sebuah pemeriksaan membutuhkan kontribusinya.
|
||||
- `--fix` (alias untuk `--repair`) menulis cadangan ke `~/.openclaw/openclaw.json.bak` dan menghapus kunci konfigurasi yang tidak dikenal, sambil mencantumkan setiap penghapusan.
|
||||
- Pemeriksaan integritas state sekarang mendeteksi file transkrip yatim di direktori sesi. Mengarsipkannya sebagai `.deleted.<timestamp>` memerlukan konfirmasi interaktif; `--fix`, `--yes`, dan eksekusi headless membiarkannya tetap ada.
|
||||
- Doctor juga memindai `~/.openclaw/cron/jobs.json` (atau `cron.store`) untuk bentuk tugas cron lama dan dapat menulis ulang di tempat sebelum penjadwal harus menormalisasinya otomatis saat runtime.
|
||||
- Doctor memperbaiki dependensi runtime Plugin bawaan yang hilang tanpa menulis ke instalasi global terpaket. Untuk instalasi npm milik root atau unit systemd yang diperkeras, setel `OPENCLAW_PLUGIN_STAGE_DIR` ke direktori yang dapat ditulis seperti `/var/lib/openclaw/plugin-runtime-deps`; ini juga dapat berupa daftar path seperti `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, dengan root lebih awal sebagai lapisan lookup hanya-baca dan root terakhir sebagai target perbaikan.
|
||||
- Doctor memperbaiki konfigurasi Plugin usang dengan menghapus id Plugin yang hilang dari `plugins.allow`/`plugins.entries`, ditambah konfigurasi channel menggantung yang cocok, target Heartbeat, dan override model channel ketika penemuan Plugin sehat.
|
||||
- Doctor mengarantina konfigurasi Plugin yang tidak valid dengan menonaktifkan entri `plugins.entries.<id>` yang terdampak dan menghapus payload `config` yang tidak valid. Startup Gateway sudah hanya melewati Plugin buruk tersebut sehingga Plugin dan channel lain dapat tetap berjalan.
|
||||
- Setel `OPENCLAW_SERVICE_REPAIR_POLICY=external` ketika supervisor lain memiliki siklus hidup Gateway. Doctor tetap melaporkan kesehatan Gateway/layanan dan menerapkan perbaikan non-layanan, tetapi melewati instalasi/mulai/mulai ulang/bootstrap layanan dan pembersihan layanan lama.
|
||||
- Di Linux, doctor mengabaikan unit systemd mirip Gateway tambahan yang tidak aktif dan tidak menulis ulang metadata command/entrypoint untuk layanan Gateway systemd yang sedang berjalan selama perbaikan. Hentikan layanan terlebih dahulu atau gunakan `openclaw gateway install --force` ketika Anda memang ingin mengganti launcher aktif.
|
||||
- Doctor otomatis memigrasikan konfigurasi Talk flat lama (`talk.voiceId`, `talk.modelId`, dan sejenisnya) ke `talk.provider` + `talk.providers.<provider>`.
|
||||
- Eksekusi `doctor --fix` berulang tidak lagi melaporkan/menerapkan normalisasi Talk ketika satu-satunya perbedaan adalah urutan kunci objek.
|
||||
- Doctor menyertakan pemeriksaan kesiapan pencarian memori dan dapat merekomendasikan `openclaw configure --section model` ketika kredensial embedding hilang.
|
||||
- Doctor memperingatkan ketika tidak ada pemilik perintah yang dikonfigurasi. Pemilik perintah adalah akun operator manusia yang diizinkan menjalankan perintah khusus pemilik dan menyetujui tindakan berbahaya. Pemasangan DM hanya memungkinkan seseorang berbicara dengan bot; jika Anda menyetujui pengirim sebelum bootstrap pemilik pertama ada, setel `commands.ownerAllowFrom` secara eksplisit.
|
||||
- Jika mode sandbox diaktifkan tetapi Docker tidak tersedia, doctor melaporkan peringatan bernilai-sinyal tinggi dengan remediasi (`install Docker` atau `openclaw config set agents.defaults.sandbox.mode off`).
|
||||
- Jika `gateway.auth.token`/`gateway.auth.password` dikelola SecretRef dan tidak tersedia di jalur perintah saat ini, doctor melaporkan peringatan baca-saja dan tidak menulis kredensial fallback plaintext.
|
||||
- Jika inspeksi SecretRef kanal gagal di jalur perbaikan, doctor melanjutkan dan melaporkan peringatan alih-alih keluar lebih awal.
|
||||
- Resolusi otomatis username `allowFrom` Telegram (`doctor --fix`) memerlukan token Telegram yang dapat diresolusi di jalur perintah saat ini. Jika inspeksi token tidak tersedia, doctor melaporkan peringatan dan melewati resolusi otomatis untuk proses itu.
|
||||
- Doctor memperingatkan ketika tidak ada pemilik command yang dikonfigurasi. Pemilik command adalah akun operator manusia yang diizinkan menjalankan command khusus pemilik dan menyetujui tindakan berbahaya. Pairing DM hanya memungkinkan seseorang berbicara dengan bot; jika Anda menyetujui pengirim sebelum bootstrap pemilik pertama tersedia, setel `commands.ownerAllowFrom` secara eksplisit.
|
||||
- Doctor memperingatkan ketika agen mode Codex dikonfigurasi dan aset Codex CLI pribadi ada di home Codex operator. Peluncuran app-server Codex lokal menggunakan home terisolasi per agen, jadi gunakan `openclaw migrate codex --dry-run` untuk menginventarisasi aset yang sebaiknya dipromosikan secara sengaja.
|
||||
- Jika mode sandbox diaktifkan tetapi Docker tidak tersedia, doctor melaporkan peringatan bersinyal tinggi dengan remediasi (`install Docker` atau `openclaw config set agents.defaults.sandbox.mode off`).
|
||||
- Jika `gateway.auth.token`/`gateway.auth.password` dikelola SecretRef dan tidak tersedia di jalur command saat ini, doctor melaporkan peringatan hanya-baca dan tidak menulis kredensial fallback plaintext.
|
||||
- Jika inspeksi SecretRef channel gagal di jalur fix, doctor melanjutkan dan melaporkan peringatan alih-alih keluar lebih awal.
|
||||
- Resolusi otomatis username `allowFrom` Telegram (`doctor --fix`) memerlukan token Telegram yang dapat di-resolve di jalur command saat ini. Jika inspeksi token tidak tersedia, doctor melaporkan peringatan dan melewati resolusi otomatis untuk pass tersebut.
|
||||
|
||||
## macOS: override env `launchctl`
|
||||
|
||||
Jika sebelumnya Anda menjalankan `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (atau `...PASSWORD`), nilai itu menggantikan berkas konfigurasi Anda dan dapat menyebabkan galat “tidak sah” yang persisten.
|
||||
Jika sebelumnya Anda menjalankan `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (atau `...PASSWORD`), nilai tersebut menimpa file konfigurasi Anda dan dapat menyebabkan error “unauthorized” yang persisten.
|
||||
|
||||
```bash
|
||||
launchctl getenv OPENCLAW_GATEWAY_TOKEN
|
||||
@ -79,4 +80,4 @@ launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD
|
||||
## Terkait
|
||||
|
||||
- [Referensi CLI](/id/cli)
|
||||
- [Gateway doctor](/id/gateway/doctor)
|
||||
- [Doctor Gateway](/id/gateway/doctor)
|
||||
|
||||
@ -2,23 +2,23 @@
|
||||
read_when:
|
||||
- Anda ingin bermigrasi dari Hermes atau sistem agen lain ke OpenClaw
|
||||
- Anda sedang menambahkan penyedia migrasi milik Plugin
|
||||
summary: Referensi CLI untuk `openclaw migrate` (impor status dari sistem agen lain)
|
||||
summary: Referensi CLI untuk `openclaw migrate` (impor keadaan dari sistem agen lain)
|
||||
title: Migrasi
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T09:40:40Z"
|
||||
generated_at: "2026-04-30T20:05:32Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d3db14c16b8f9dcbf86a4f12558cf4e8555aa9a255637034fb804148996a225e
|
||||
source_hash: ffcd9e874bdaa0a5195e712d4fccd7b3d53034cb362c7f7462e9c7df72477b1a
|
||||
source_path: cli/migrate.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# `openclaw migrate`
|
||||
|
||||
Impor status dari sistem agen lain melalui penyedia migrasi milik plugin. Penyedia bawaan mencakup [Claude](/id/install/migrating-claude) dan [Hermes](/id/install/migrating-hermes); plugin pihak ketiga dapat mendaftarkan penyedia tambahan.
|
||||
Impor status dari sistem agen lain melalui penyedia migrasi milik Plugin. Penyedia bawaan mencakup status Codex CLI, [Claude](/id/install/migrating-claude), dan [Hermes](/id/install/migrating-hermes); Plugin pihak ketiga dapat mendaftarkan penyedia tambahan.
|
||||
|
||||
<Tip>
|
||||
Untuk panduan bagi pengguna, lihat [Bermigrasi dari Claude](/id/install/migrating-claude) dan [Bermigrasi dari Hermes](/id/install/migrating-hermes). [Hub migrasi](/id/install/migrating) mencantumkan semua jalur.
|
||||
Untuk panduan yang ditujukan bagi pengguna, lihat [Bermigrasi dari Claude](/id/install/migrating-claude) dan [Bermigrasi dari Hermes](/id/install/migrating-hermes). [Hub migrasi](/id/install/migrating) mencantumkan semua jalur.
|
||||
</Tip>
|
||||
|
||||
## Perintah
|
||||
@ -26,8 +26,12 @@ Untuk panduan bagi pengguna, lihat [Bermigrasi dari Claude](/id/install/migratin
|
||||
```bash
|
||||
openclaw migrate list
|
||||
openclaw migrate claude --dry-run
|
||||
openclaw migrate codex --dry-run
|
||||
openclaw migrate codex --skill gog-vault77-google-workspace
|
||||
openclaw migrate hermes --dry-run
|
||||
openclaw migrate hermes
|
||||
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
|
||||
openclaw migrate apply codex --yes
|
||||
openclaw migrate apply claude --yes
|
||||
openclaw migrate apply hermes --yes
|
||||
openclaw migrate apply hermes --include-secrets --yes
|
||||
@ -40,28 +44,31 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
Nama penyedia migrasi terdaftar, misalnya `hermes`. Jalankan `openclaw migrate list` untuk melihat penyedia yang terpasang.
|
||||
</ParamField>
|
||||
<ParamField path="--dry-run" type="boolean">
|
||||
Buat rencana lalu keluar tanpa mengubah status.
|
||||
Buat rencana dan keluar tanpa mengubah status.
|
||||
</ParamField>
|
||||
<ParamField path="--from <path>" type="string">
|
||||
Timpa direktori status sumber. Hermes menggunakan `~/.hermes` secara default.
|
||||
Timpa direktori status sumber. Default Hermes adalah `~/.hermes`.
|
||||
</ParamField>
|
||||
<ParamField path="--include-secrets" type="boolean">
|
||||
Impor kredensial yang didukung. Nonaktif secara default.
|
||||
</ParamField>
|
||||
<ParamField path="--overwrite" type="boolean">
|
||||
Izinkan penerapan untuk mengganti target yang ada saat rencana melaporkan konflik.
|
||||
Izinkan penerapan mengganti target yang sudah ada ketika rencana melaporkan konflik.
|
||||
</ParamField>
|
||||
<ParamField path="--yes" type="boolean">
|
||||
Lewati prompt konfirmasi. Wajib dalam mode non-interaktif.
|
||||
Lewati prompt konfirmasi. Wajib dalam mode noninteraktif.
|
||||
</ParamField>
|
||||
<ParamField path="--skill <name>" type="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 noninteraktif mempertahankan semua skill yang direncanakan.
|
||||
</ParamField>
|
||||
<ParamField path="--no-backup" type="boolean">
|
||||
Lewati pencadangan sebelum penerapan. Memerlukan `--force` saat status OpenClaw lokal ada.
|
||||
Lewati cadangan sebelum penerapan. Memerlukan `--force` ketika status OpenClaw lokal ada.
|
||||
</ParamField>
|
||||
<ParamField path="--force" type="boolean">
|
||||
Wajib bersama `--no-backup` saat penerapan seharusnya menolak melewati pencadangan.
|
||||
Wajib bersama `--no-backup` ketika penerapan seharusnya menolak melewati cadangan.
|
||||
</ParamField>
|
||||
<ParamField path="--json" type="boolean">
|
||||
Cetak rencana atau hasil penerapan sebagai JSON. Dengan `--json` dan tanpa `--yes`, penerapan mencetak rencana dan tidak mengubah status.
|
||||
Cetak rencana atau hasil penerapan sebagai JSON. Dengan `--json` dan tanpa `--yes`, penerapan mencetak rencana dan tidak memutasi status.
|
||||
</ParamField>
|
||||
|
||||
## Model keamanan
|
||||
@ -69,17 +76,17 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
`openclaw migrate` mengutamakan pratinjau.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Pratinjau sebelum menerapkan">
|
||||
<Accordion title="Pratinjau sebelum penerapan">
|
||||
Penyedia mengembalikan rencana terperinci sebelum apa pun berubah, termasuk konflik, item yang dilewati, dan item sensitif. Rencana JSON, output penerapan, dan laporan migrasi menyunting kunci bertingkat yang tampak seperti rahasia, seperti kunci API, token, header otorisasi, cookie, dan kata sandi.
|
||||
|
||||
`openclaw migrate apply <provider>` mempratinjau rencana dan meminta konfirmasi sebelum mengubah status kecuali `--yes` ditetapkan. Dalam mode non-interaktif, penerapan memerlukan `--yes`.
|
||||
`openclaw migrate apply <provider>` menampilkan pratinjau rencana dan meminta konfirmasi sebelum mengubah status kecuali `--yes` disetel. Dalam mode noninteraktif, penerapan memerlukan `--yes`.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Pencadangan">
|
||||
Penerapan membuat dan memverifikasi cadangan OpenClaw sebelum menerapkan migrasi. Jika belum ada status OpenClaw lokal, langkah pencadangan dilewati dan migrasi dapat berlanjut. Untuk melewati pencadangan saat status ada, berikan `--no-backup` dan `--force`.
|
||||
<Accordion title="Cadangan">
|
||||
Penerapan 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`.
|
||||
</Accordion>
|
||||
<Accordion title="Konflik">
|
||||
Penerapan menolak melanjutkan saat rencana memiliki konflik. Tinjau rencana, lalu jalankan ulang dengan `--overwrite` jika penggantian target yang ada memang disengaja. Penyedia mungkin tetap menulis cadangan tingkat item untuk file yang ditimpa di direktori laporan migrasi.
|
||||
Penerapan menolak melanjutkan ketika rencana memiliki konflik. Tinjau rencana, lalu jalankan ulang dengan `--overwrite` jika mengganti target yang sudah ada memang disengaja. Penyedia masih dapat menulis cadangan tingkat item untuk file yang ditimpa di direktori laporan migrasi.
|
||||
</Accordion>
|
||||
<Accordion title="Rahasia">
|
||||
Rahasia tidak pernah diimpor secara default. Gunakan `--include-secrets` untuk mengimpor kredensial yang didukung.
|
||||
@ -91,44 +98,81 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
Penyedia Claude bawaan mendeteksi status Claude Code di `~/.claude` secara default. Gunakan `--from <path>` untuk mengimpor home Claude Code atau root proyek tertentu.
|
||||
|
||||
<Tip>
|
||||
Untuk panduan bagi pengguna, lihat [Bermigrasi dari Claude](/id/install/migrating-claude).
|
||||
Untuk panduan yang ditujukan bagi pengguna, lihat [Bermigrasi dari Claude](/id/install/migrating-claude).
|
||||
</Tip>
|
||||
|
||||
### 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`.
|
||||
- `CLAUDE.md` proyek dan `.claude/CLAUDE.md` ke dalam ruang kerja agen OpenClaw.
|
||||
- `~/.claude/CLAUDE.md` pengguna ditambahkan ke `USER.md` ruang kerja.
|
||||
- Definisi server MCP dari `.mcp.json` proyek, `~/.claude.json` Claude Code, dan `claude_desktop_config.json` Claude Desktop.
|
||||
- Direktori skill Claude yang menyertakan `SKILL.md`.
|
||||
- File Markdown perintah Claude dikonversi menjadi skills OpenClaw dengan pemanggilan manual saja.
|
||||
- File Markdown perintah Claude yang dikonversi menjadi skill OpenClaw dengan pemanggilan manual saja.
|
||||
|
||||
### Status arsip dan peninjauan manual
|
||||
### Status arsip dan tinjauan manual
|
||||
|
||||
Hook Claude, izin, default lingkungan, memori lokal, aturan berbasis jalur, subagen, cache, rencana, dan riwayat proyek dipertahankan dalam laporan migrasi atau dilaporkan sebagai item peninjauan manual. OpenClaw tidak mengeksekusi hook, menyalin allowlist luas, atau mengimpor status kredensial OAuth/Desktop secara otomatis.
|
||||
Hook, izin, default lingkungan, memori lokal, aturan berbasis cakupan 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 itu disetel. Gunakan `--from <path>` untuk
|
||||
menginventarisasi home Codex tertentu.
|
||||
|
||||
Gunakan penyedia ini ketika berpindah ke harness Codex OpenClaw dan Anda ingin
|
||||
mempromosikan aset pribadi Codex CLI yang berguna secara sengaja. Peluncuran
|
||||
server aplikasi Codex lokal menggunakan direktori `CODEX_HOME` dan `HOME` per agen,
|
||||
sehingga peluncuran tersebut tidak membaca status pribadi Codex CLI Anda secara default.
|
||||
|
||||
Menjalankan `openclaw migrate codex` di terminal interaktif menampilkan pratinjau rencana
|
||||
lengkap, lalu membuka pemilih kotak centang untuk item salinan skill sebelum konfirmasi
|
||||
penerapan akhir. Semua skill dipilih di awal; hapus centang pada skill apa pun yang tidak ingin
|
||||
disalin ke agen ini. Untuk proses skrip atau eksekusi persis, berikan `--skill <name>` satu kali
|
||||
per skill, misalnya:
|
||||
|
||||
```bash
|
||||
openclaw migrate codex --dry-run --skill gog-vault77-google-workspace
|
||||
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
|
||||
```
|
||||
|
||||
### Yang diimpor Codex
|
||||
|
||||
- Direktori skill Codex CLI di bawah `$CODEX_HOME/skills`, tidak termasuk cache
|
||||
`.system` Codex.
|
||||
- AgentSkills pribadi di bawah `$HOME/.agents/skills`, disalin ke ruang kerja agen
|
||||
OpenClaw saat ini ketika Anda menginginkan kepemilikan per agen.
|
||||
|
||||
### Status Codex tinjauan manual
|
||||
|
||||
Plugin native Codex, `config.toml`, dan `hooks/hooks.json` native tidak
|
||||
diaktifkan secara otomatis. Plugin dapat mengekspos server MCP, aplikasi, hook, atau perilaku
|
||||
eksekusi lainnya, sehingga penyedia melaporkannya untuk ditinjau alih-alih memuatnya
|
||||
ke dalam OpenClaw. File config dan hook disalin ke laporan migrasi
|
||||
untuk tinjauan manual.
|
||||
|
||||
## Penyedia Hermes
|
||||
|
||||
Penyedia Hermes bawaan mendeteksi status di `~/.hermes` secara default. Gunakan `--from <path>` saat Hermes berada di tempat lain.
|
||||
Penyedia Hermes bawaan mendeteksi status di `~/.hermes` secara default. Gunakan `--from <path>` ketika Hermes berada di tempat 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 dalam workspace agen OpenClaw.
|
||||
- `memories/MEMORY.md` dan `memories/USER.md` ditambahkan ke file memori workspace.
|
||||
- Default konfigurasi memori untuk memori file OpenClaw, plus item arsip atau peninjauan manual untuk penyedia memori eksternal seperti Honcho.
|
||||
- `SOUL.md` dan `AGENTS.md` ke dalam 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 tinjauan manual untuk penyedia memori eksternal seperti Honcho.
|
||||
- Skills yang menyertakan file `SKILL.md` di bawah `skills/<name>/`.
|
||||
- Nilai konfigurasi per skill dari `skills.config`.
|
||||
- Nilai config per skill dari `skills.config`.
|
||||
- Kunci API yang didukung dari `.env`, hanya dengan `--include-secrets`.
|
||||
|
||||
### Kunci `.env` yang didukung
|
||||
|
||||
`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `OPENROUTER_API_KEY`, `GOOGLE_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `XAI_API_KEY`, `MISTRAL_API_KEY`, `DEEPSEEK_API_KEY`.
|
||||
|
||||
### Status hanya arsip
|
||||
### Status arsip saja
|
||||
|
||||
Status Hermes yang tidak dapat ditafsirkan dengan aman oleh OpenClaw disalin ke laporan migrasi untuk peninjauan manual, tetapi tidak dimuat ke dalam konfigurasi atau kredensial OpenClaw langsung. Ini mempertahankan status yang buram atau tidak aman tanpa berpura-pura OpenClaw dapat mengeksekusi atau memercayainya secara otomatis:
|
||||
Status Hermes yang tidak dapat ditafsirkan OpenClaw dengan aman disalin ke laporan migrasi untuk tinjauan manual, tetapi tidak dimuat ke config atau kredensial OpenClaw langsung. Ini mempertahankan status buram atau tidak aman tanpa berpura-pura bahwa OpenClaw dapat mengeksekusi atau mempercayainya secara otomatis:
|
||||
|
||||
- `plugins/`
|
||||
- `sessions/`
|
||||
@ -144,9 +188,9 @@ Status Hermes yang tidak dapat ditafsirkan dengan aman oleh OpenClaw disalin ke
|
||||
openclaw doctor
|
||||
```
|
||||
|
||||
## Kontrak plugin
|
||||
## Kontrak Plugin
|
||||
|
||||
Sumber migrasi adalah plugin. Plugin mendeklarasikan id penyedianya di `openclaw.plugin.json`:
|
||||
Sumber migrasi adalah Plugin. Sebuah Plugin mendeklarasikan id penyedianya di `openclaw.plugin.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -156,22 +200,22 @@ Sumber migrasi adalah plugin. Plugin mendeklarasikan id penyedianya di `openclaw
|
||||
}
|
||||
```
|
||||
|
||||
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 boleh membangun ulang rencana hanya saat argumen itu tidak ada demi kompatibilitas.
|
||||
Saat runtime, Plugin memanggil `api.registerMigrationProvider(...)`. Penyedia mengimplementasikan `detect`, `plan`, dan `apply`. Core memiliki orkestrasi CLI, kebijakan cadangan, 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, plus `openclaw/plugin-sdk/migration-runtime` untuk penyalinan file yang sadar konflik, penyalinan laporan hanya arsip, wrapper config-runtime yang di-cache, dan laporan migrasi.
|
||||
Plugin penyedia dapat menggunakan `openclaw/plugin-sdk/migration` untuk konstruksi item dan jumlah ringkasan, ditambah `openclaw/plugin-sdk/migration-runtime` untuk salinan file yang sadar konflik, salinan laporan khusus arsip, wrapper config-runtime yang di-cache, dan laporan migrasi.
|
||||
|
||||
## Integrasi onboarding
|
||||
|
||||
Onboarding dapat menawarkan migrasi saat 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.
|
||||
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.
|
||||
|
||||
<Note>
|
||||
Impor onboarding memerlukan penyiapan OpenClaw yang baru. Reset konfigurasi, kredensial, sesi, dan workspace terlebih dahulu jika Anda sudah memiliki status lokal. Impor cadangan-plus-timpa atau impor gabungan dibatasi fitur untuk penyiapan yang sudah ada.
|
||||
Impor onboarding memerlukan penyiapan OpenClaw yang baru. Reset config, kredensial, sesi, dan ruang kerja terlebih dahulu jika Anda sudah memiliki status lokal. Cadangan-plus-timpa atau impor gabungan dibatasi fitur untuk penyiapan yang sudah ada.
|
||||
</Note>
|
||||
|
||||
## Terkait
|
||||
|
||||
- [Bermigrasi dari Hermes](/id/install/migrating-hermes): panduan bagi pengguna.
|
||||
- [Bermigrasi dari Claude](/id/install/migrating-claude): panduan bagi pengguna.
|
||||
- [Bermigrasi dari Hermes](/id/install/migrating-hermes): panduan yang ditujukan bagi pengguna.
|
||||
- [Bermigrasi dari Claude](/id/install/migrating-claude): panduan yang ditujukan bagi pengguna.
|
||||
- [Bermigrasi](/id/install/migrating): pindahkan OpenClaw ke mesin baru.
|
||||
- [Doctor](/id/gateway/doctor): pemeriksaan kesehatan setelah menerapkan migrasi.
|
||||
- [Plugin](/id/tools/plugin): pemasangan dan pendaftaran plugin.
|
||||
- [Plugin](/id/tools/plugin): pemasangan dan pendaftaran Plugin.
|
||||
|
||||
@ -1,34 +1,34 @@
|
||||
---
|
||||
read_when:
|
||||
- Anda perlu menjelaskan workspace agen atau tata letak filenya
|
||||
- Anda ingin mencadangkan atau memigrasikan workspace agen
|
||||
- Anda perlu menjelaskan ruang kerja agen atau tata letak berkasnya
|
||||
- Anda ingin mencadangkan atau memigrasikan ruang kerja agen
|
||||
sidebarTitle: Agent workspace
|
||||
summary: 'Workspace agen: lokasi, tata letak, dan strategi cadangan'
|
||||
title: Workspace agen
|
||||
summary: 'Ruang kerja agen: lokasi, tata letak, dan strategi pencadangan'
|
||||
title: Ruang kerja agen
|
||||
x-i18n:
|
||||
generated_at: "2026-04-26T11:26:39Z"
|
||||
model: gpt-5.4
|
||||
generated_at: "2026-04-30T20:05:31Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 35d59d1f0dec05db30f9166a43bfa519d7299b08d093bbeb905d8f83e5cd022a
|
||||
source_hash: b1ccf74cbec3ff20f4c1c1ce52f099a7ca3365b2536b0aad6ff1d3a5fafcca0a
|
||||
source_path: concepts/agent-workspace.md
|
||||
workflow: 15
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
Workspace adalah rumah agen. Ini adalah satu-satunya direktori kerja yang digunakan untuk tool file dan untuk konteks workspace. Jaga agar tetap privat dan perlakukan sebagai memori.
|
||||
Ruang kerja adalah rumah agen. Ini adalah satu-satunya direktori kerja yang digunakan untuk alat file dan konteks ruang kerja. Jaga agar tetap privat dan perlakukan sebagai memori.
|
||||
|
||||
Ini terpisah dari `~/.openclaw/`, yang menyimpan config, kredensial, dan sesi.
|
||||
Ini terpisah dari `~/.openclaw/`, yang menyimpan konfigurasi, kredensial, dan sesi.
|
||||
|
||||
<Warning>
|
||||
Workspace adalah **cwd default**, bukan sandbox keras. Tool me-resolve path relatif terhadap workspace, tetapi path absolut tetap dapat menjangkau lokasi lain di host kecuali sandboxing diaktifkan. Jika Anda memerlukan isolasi, gunakan [`agents.defaults.sandbox`](/id/gateway/sandboxing) (dan/atau config sandbox per agen).
|
||||
Ruang kerja adalah **cwd default**, bukan sandbox ketat. Alat menyelesaikan path relatif terhadap ruang kerja, tetapi path absolut tetap dapat menjangkau tempat lain di host kecuali sandboxing diaktifkan. Jika Anda memerlukan isolasi, gunakan [`agents.defaults.sandbox`](/id/gateway/sandboxing) (dan/atau konfigurasi sandbox per agen).
|
||||
|
||||
Saat sandboxing diaktifkan dan `workspaceAccess` bukan `"rw"`, tool beroperasi di dalam workspace sandbox di bawah `~/.openclaw/sandboxes`, bukan workspace host Anda.
|
||||
Saat sandboxing diaktifkan dan `workspaceAccess` bukan `"rw"`, alat beroperasi di dalam ruang kerja sandbox di bawah `~/.openclaw/sandboxes`, bukan ruang kerja host Anda.
|
||||
</Warning>
|
||||
|
||||
## Lokasi default
|
||||
|
||||
- Default: `~/.openclaw/workspace`
|
||||
- Jika `OPENCLAW_PROFILE` diatur dan bukan `"default"`, default menjadi `~/.openclaw/workspace-<profile>`.
|
||||
- Override di `~/.openclaw/openclaw.json`:
|
||||
- Jika `OPENCLAW_PROFILE` disetel dan bukan `"default"`, default menjadi `~/.openclaw/workspace-<profile>`.
|
||||
- Timpa di `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -40,65 +40,65 @@ Saat sandboxing diaktifkan dan `workspaceAccess` bukan `"rw"`, tool beroperasi d
|
||||
}
|
||||
```
|
||||
|
||||
`openclaw onboard`, `openclaw configure`, atau `openclaw setup` akan membuat workspace dan mengisi file bootstrap jika belum ada.
|
||||
`openclaw onboard`, `openclaw configure`, atau `openclaw setup` akan membuat ruang kerja dan mengisi file bootstrap jika belum ada.
|
||||
|
||||
<Note>
|
||||
Salinan seed sandbox hanya menerima file biasa di dalam workspace; alias symlink/hardlink yang di-resolve ke luar workspace sumber akan diabaikan.
|
||||
Salinan seed sandbox hanya menerima file reguler di dalam ruang kerja; alias symlink/hardlink yang mengarah ke luar ruang kerja sumber akan diabaikan.
|
||||
</Note>
|
||||
|
||||
Jika Anda sudah mengelola sendiri file workspace, Anda dapat menonaktifkan pembuatan file bootstrap:
|
||||
Jika Anda sudah mengelola file ruang kerja sendiri, Anda dapat menonaktifkan pembuatan file bootstrap:
|
||||
|
||||
```json5
|
||||
{ agents: { defaults: { skipBootstrap: true } } }
|
||||
```
|
||||
|
||||
## Folder workspace tambahan
|
||||
## Folder ruang kerja tambahan
|
||||
|
||||
Instalasi lama mungkin telah membuat `~/openclaw`. Menyimpan beberapa direktori workspace sekaligus dapat menyebabkan drift auth atau status yang membingungkan, karena hanya satu workspace yang aktif pada satu waktu.
|
||||
Instalasi lama mungkin telah membuat `~/openclaw`. Menyimpan beberapa direktori ruang kerja dapat menyebabkan kebingungan auth atau drift status, karena hanya satu ruang kerja yang aktif pada satu waktu.
|
||||
|
||||
<Note>
|
||||
**Rekomendasi:** pertahankan satu workspace aktif. Jika Anda tidak lagi menggunakan folder tambahan tersebut, arsipkan atau pindahkan ke Trash (misalnya `trash ~/openclaw`). Jika Anda sengaja menyimpan beberapa workspace, pastikan `agents.defaults.workspace` menunjuk ke workspace yang aktif.
|
||||
**Rekomendasi:** pertahankan satu ruang kerja aktif. Jika Anda tidak lagi menggunakan folder tambahan, arsipkan atau pindahkan ke Trash (misalnya `trash ~/openclaw`). Jika Anda sengaja mempertahankan beberapa ruang kerja, pastikan `agents.defaults.workspace` menunjuk ke yang aktif.
|
||||
|
||||
`openclaw doctor` akan memberi peringatan saat mendeteksi direktori workspace tambahan.
|
||||
`openclaw doctor` memperingatkan saat mendeteksi direktori ruang kerja tambahan.
|
||||
</Note>
|
||||
|
||||
## Peta file workspace
|
||||
## Peta file ruang kerja
|
||||
|
||||
Ini adalah file standar yang diharapkan OpenClaw di dalam workspace:
|
||||
Berikut adalah file standar yang diharapkan OpenClaw di dalam ruang kerja:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="AGENTS.md — instruksi operasional">
|
||||
Instruksi operasional untuk agen dan cara agen harus menggunakan memori. Dimuat pada awal setiap sesi. Tempat yang baik untuk aturan, prioritas, dan detail "bagaimana harus bersikap".
|
||||
<Accordion title="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".
|
||||
</Accordion>
|
||||
<Accordion title="SOUL.md — persona dan nada">
|
||||
Persona, nada, dan batasan. Dimuat di setiap sesi. Panduan: [panduan kepribadian SOUL.md](/id/concepts/soul).
|
||||
Persona, nada, dan batasan. Dimuat setiap sesi. Panduan: [panduan kepribadian SOUL.md](/id/concepts/soul).
|
||||
</Accordion>
|
||||
<Accordion title="USER.md — siapa pengguna">
|
||||
Siapa pengguna dan bagaimana menyapanya. Dimuat di setiap sesi.
|
||||
Siapa pengguna dan cara menyapa mereka. Dimuat setiap sesi.
|
||||
</Accordion>
|
||||
<Accordion title="IDENTITY.md — nama, vibe, emoji">
|
||||
Nama, vibe, dan emoji agen. Dibuat/diperbarui selama ritual bootstrap.
|
||||
</Accordion>
|
||||
<Accordion title="TOOLS.md — konvensi tool lokal">
|
||||
Catatan tentang tool dan konvensi lokal Anda. Tidak mengendalikan ketersediaan tool; ini hanya panduan.
|
||||
<Accordion title="TOOLS.md — konvensi alat lokal">
|
||||
Catatan tentang alat dan konvensi lokal Anda. Tidak mengontrol ketersediaan alat; ini hanya panduan.
|
||||
</Accordion>
|
||||
<Accordion title="HEARTBEAT.md — checklist heartbeat">
|
||||
Checklist kecil opsional untuk run heartbeat. Buat tetap singkat agar tidak boros token.
|
||||
<Accordion title="HEARTBEAT.md — daftar periksa Heartbeat">
|
||||
Daftar periksa kecil opsional untuk run Heartbeat. Buat singkat untuk menghindari pemborosan token.
|
||||
</Accordion>
|
||||
<Accordion title="BOOT.md — checklist startup">
|
||||
Checklist startup opsional yang dijalankan otomatis saat gateway restart (ketika [hook internal](/id/automation/hooks) diaktifkan). Buat tetap singkat; gunakan tool pesan untuk pengiriman keluar.
|
||||
<Accordion title="BOOT.md — daftar periksa startup">
|
||||
Daftar periksa startup opsional yang dijalankan otomatis saat Gateway dimulai ulang (saat [hook internal](/id/automation/hooks) diaktifkan). Buat singkat; gunakan alat pesan untuk pengiriman keluar.
|
||||
</Accordion>
|
||||
<Accordion title="BOOTSTRAP.md — ritual pertama kali">
|
||||
Ritual sekali jalan saat pertama kali. Hanya dibuat untuk workspace yang benar-benar baru. Hapus setelah ritual selesai.
|
||||
Ritual pertama kali satu kali. Hanya dibuat untuk ruang kerja yang benar-benar baru. Hapus setelah ritual selesai.
|
||||
</Accordion>
|
||||
<Accordion title="memory/YYYY-MM-DD.md — log memori harian">
|
||||
Log memori harian (satu file per hari). Direkomendasikan untuk membaca hari ini + kemarin saat sesi dimulai.
|
||||
Log memori harian (satu file per hari). Disarankan membaca hari ini + kemarin saat sesi dimulai.
|
||||
</Accordion>
|
||||
<Accordion title="MEMORY.md — memori jangka panjang yang dikurasi (opsional)">
|
||||
Memori jangka panjang yang dikurasi. Hanya dimuat di sesi utama yang privat (bukan konteks bersama/grup). Lihat [Memori](/id/concepts/memory) untuk alur kerja dan flush memori otomatis.
|
||||
<Accordion title="MEMORY.md — memori jangka panjang terkurasi (opsional)">
|
||||
Memori jangka panjang terkurasi. Hanya muat di sesi utama yang privat (bukan konteks bersama/grup). Lihat [Memori](/id/concepts/memory) untuk workflow dan flush memori otomatis.
|
||||
</Accordion>
|
||||
<Accordion title="skills/ — Skills workspace (opsional)">
|
||||
Skills khusus workspace. Lokasi Skills dengan prioritas tertinggi untuk workspace tersebut. Mengoverride skills agen proyek, skills agen pribadi, Skills terkelola, Skills bawaan, dan `skills.load.extraDirs` saat nama bertabrakan.
|
||||
<Accordion title="skills/ — Skills ruang kerja (opsional)">
|
||||
Skills khusus ruang kerja. Lokasi skill dengan prioritas tertinggi untuk ruang kerja tersebut. Menimpa skill agen proyek, skill agen pribadi, skill terkelola, skill bawaan, dan `skills.load.extraDirs` saat nama bertabrakan.
|
||||
</Accordion>
|
||||
<Accordion title="canvas/ — file UI Canvas (opsional)">
|
||||
File UI Canvas untuk tampilan node (misalnya `canvas/index.html`).
|
||||
@ -106,43 +106,44 @@ Ini adalah file standar yang diharapkan OpenClaw di dalam workspace:
|
||||
</AccordionGroup>
|
||||
|
||||
<Note>
|
||||
Jika ada file bootstrap yang hilang, OpenClaw menyuntikkan penanda "file hilang" ke dalam sesi dan melanjutkan. File bootstrap yang besar akan dipotong saat disuntikkan; sesuaikan batas dengan `agents.defaults.bootstrapMaxChars` (default: 12000) dan `agents.defaults.bootstrapTotalMaxChars` (default: 60000). `openclaw setup` dapat membuat ulang default yang hilang tanpa menimpa file yang sudah ada.
|
||||
Jika ada file bootstrap yang hilang, OpenClaw menyuntikkan penanda "file hilang" ke dalam sesi dan melanjutkan. File bootstrap besar dipotong saat disuntikkan; sesuaikan batas dengan `agents.defaults.bootstrapMaxChars` (default: 12000) dan `agents.defaults.bootstrapTotalMaxChars` (default: 60000). `openclaw setup` dapat membuat ulang default yang hilang tanpa menimpa file yang sudah ada.
|
||||
</Note>
|
||||
|
||||
## Apa yang TIDAK ada di workspace
|
||||
## Yang TIDAK ada di ruang kerja
|
||||
|
||||
Semua ini berada di bawah `~/.openclaw/` dan TIDAK boleh di-commit ke repo workspace:
|
||||
Ini berada di bawah `~/.openclaw/` dan TIDAK boleh di-commit ke repo ruang kerja:
|
||||
|
||||
- `~/.openclaw/openclaw.json` (config)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (profil auth model: OAuth + API key)
|
||||
- `~/.openclaw/credentials/` (status channel/provider ditambah data impor OAuth lama)
|
||||
- `~/.openclaw/openclaw.json` (konfigurasi)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (profil auth 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 channel/provider plus data impor OAuth lama)
|
||||
- `~/.openclaw/agents/<agentId>/sessions/` (transkrip sesi + metadata)
|
||||
- `~/.openclaw/skills/` (Skills terkelola)
|
||||
- `~/.openclaw/skills/` (skills terkelola)
|
||||
|
||||
Jika Anda perlu memigrasikan sesi atau config, salin secara terpisah dan jangan masukkan ke version control.
|
||||
Jika Anda perlu memigrasikan sesi atau konfigurasi, salin secara terpisah dan jauhkan dari kontrol versi.
|
||||
|
||||
## Cadangan Git (direkomendasikan, privat)
|
||||
## Cadangan Git (disarankan, privat)
|
||||
|
||||
Perlakukan workspace sebagai memori privat. Simpan di repo git **privat** agar dapat dicadangkan dan dipulihkan.
|
||||
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 workspace berada).
|
||||
Jalankan langkah-langkah ini di mesin tempat Gateway berjalan (di situlah ruang kerja berada).
|
||||
|
||||
<Steps>
|
||||
<Step title="Inisialisasi repo">
|
||||
Jika git terpasang, workspace yang benar-benar baru akan diinisialisasi secara otomatis. Jika workspace ini belum menjadi repo, jalankan:
|
||||
Jika git terinstal, ruang kerja yang benar-benar baru diinisialisasi otomatis. Jika ruang kerja ini belum menjadi repo, jalankan:
|
||||
|
||||
```bash
|
||||
cd ~/.openclaw/workspace
|
||||
git init
|
||||
git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
|
||||
git commit -m "Tambahkan workspace agen"
|
||||
git commit -m "Add agent workspace"
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="Tambahkan remote privat">
|
||||
<Tabs>
|
||||
<Tab title="GitHub web UI">
|
||||
1. Buat repository **privat** baru di GitHub.
|
||||
<Tab title="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:
|
||||
@ -159,8 +160,8 @@ Jalankan langkah-langkah ini di mesin tempat Gateway berjalan (di situlah worksp
|
||||
gh repo create openclaw-workspace --private --source . --remote origin --push
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="GitLab web UI">
|
||||
1. Buat repository **privat** baru di GitLab.
|
||||
<Tab title="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:
|
||||
@ -178,25 +179,25 @@ Jalankan langkah-langkah ini di mesin tempat Gateway berjalan (di situlah worksp
|
||||
```bash
|
||||
git status
|
||||
git add .
|
||||
git commit -m "Perbarui memori"
|
||||
git commit -m "Update memory"
|
||||
git push
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Jangan commit secret
|
||||
## Jangan commit rahasia
|
||||
|
||||
<Warning>
|
||||
Bahkan di repo privat, hindari menyimpan secret di workspace:
|
||||
Bahkan di repo privat, hindari menyimpan rahasia di ruang kerja:
|
||||
|
||||
- API key, token OAuth, kata sandi, atau kredensial privat.
|
||||
- Kunci API, token OAuth, kata sandi, atau kredensial privat.
|
||||
- Apa pun di bawah `~/.openclaw/`.
|
||||
- Dump mentah chat atau lampiran sensitif.
|
||||
|
||||
Jika Anda harus menyimpan referensi sensitif, gunakan placeholder dan simpan secret sebenarnya di tempat lain (password manager, environment variable, atau `~/.openclaw/`).
|
||||
Jika Anda harus menyimpan referensi sensitif, gunakan placeholder dan simpan rahasia asli di tempat lain (pengelola kata sandi, variabel lingkungan, atau `~/.openclaw/`).
|
||||
</Warning>
|
||||
|
||||
Contoh awal `.gitignore` yang disarankan:
|
||||
Starter `.gitignore` yang disarankan:
|
||||
|
||||
```gitignore
|
||||
.DS_Store
|
||||
@ -206,16 +207,16 @@ Contoh awal `.gitignore` yang disarankan:
|
||||
**/secrets*
|
||||
```
|
||||
|
||||
## Memindahkan workspace ke mesin baru
|
||||
## Memindahkan ruang kerja ke mesin baru
|
||||
|
||||
<Steps>
|
||||
<Step title="Clone repo">
|
||||
Clone repo ke path yang diinginkan (default `~/.openclaw/workspace`).
|
||||
</Step>
|
||||
<Step title="Perbarui config">
|
||||
Atur `agents.defaults.workspace` ke path tersebut di `~/.openclaw/openclaw.json`.
|
||||
<Step title="Perbarui konfigurasi">
|
||||
Setel `agents.defaults.workspace` ke path tersebut di `~/.openclaw/openclaw.json`.
|
||||
</Step>
|
||||
<Step title="Isi file yang hilang">
|
||||
<Step title="Seed file yang hilang">
|
||||
Jalankan `openclaw setup --workspace <path>` untuk mengisi file yang hilang.
|
||||
</Step>
|
||||
<Step title="Salin sesi (opsional)">
|
||||
@ -225,12 +226,12 @@ Contoh awal `.gitignore` yang disarankan:
|
||||
|
||||
## Catatan lanjutan
|
||||
|
||||
- Routing multi-agen dapat menggunakan workspace yang berbeda per agen. Lihat [Routing channel](/id/channels/channel-routing) untuk konfigurasi routing.
|
||||
- Jika `agents.defaults.sandbox` diaktifkan, sesi non-utama dapat menggunakan workspace sandbox per-sesi di bawah `agents.defaults.sandbox.workspaceRoot`.
|
||||
- Routing multi-agen dapat menggunakan ruang kerja berbeda per agen. Lihat [Routing channel](/id/channels/channel-routing) untuk konfigurasi routing.
|
||||
- Jika `agents.defaults.sandbox` diaktifkan, sesi non-utama dapat menggunakan ruang kerja sandbox per sesi di bawah `agents.defaults.sandbox.workspaceRoot`.
|
||||
|
||||
## Terkait
|
||||
|
||||
- [Heartbeat](/id/gateway/heartbeat) — file workspace HEARTBEAT.md
|
||||
- [Sandboxing](/id/gateway/sandboxing) — akses workspace di lingkungan sandbox
|
||||
- [Heartbeat](/id/gateway/heartbeat) — file ruang kerja HEARTBEAT.md
|
||||
- [Sandboxing](/id/gateway/sandboxing) — akses ruang kerja di lingkungan sandbox
|
||||
- [Sesi](/id/concepts/session) — path penyimpanan sesi
|
||||
- [Standing orders](/id/automation/standing-orders) — instruksi persisten dalam file workspace
|
||||
- [Standing orders](/id/automation/standing-orders) — instruksi persisten dalam file ruang kerja
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -2,53 +2,55 @@
|
||||
read_when:
|
||||
- Menambahkan atau memodifikasi Skills
|
||||
- Mengubah pembatasan Skills, daftar izin, atau aturan pemuatan
|
||||
- Memahami prioritas Skills dan perilaku cuplikan
|
||||
- Memahami presedensi Skills dan perilaku cuplikan
|
||||
sidebarTitle: Skills
|
||||
summary: 'Skills: terkelola vs ruang kerja, aturan pembatasan, daftar izin agen, dan pengkabelan konfigurasi'
|
||||
summary: 'Skills: terkelola vs ruang kerja, aturan pembatasan, daftar izin agen, dan pengaitan konfigurasi'
|
||||
title: Skills
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T10:17:12Z"
|
||||
generated_at: "2026-04-30T20:05:47Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d7dd17f52119bf0a0bb197025070abb68f7667a7d22c3d5fa6ef2f666110a45a
|
||||
source_hash: b58d690786756bd3539940aae9f2abcb8a497798ed7b6afeb5e6d6e255fcf257
|
||||
source_path: tools/skills.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
OpenClaw menggunakan folder keterampilan yang **kompatibel dengan [AgentSkills](https://agentskills.io)** untuk mengajarkan agen cara menggunakan alat. Setiap keterampilan adalah direktori yang berisi `SKILL.md` dengan frontmatter YAML dan instruksi. OpenClaw memuat keterampilan bawaan serta override lokal opsional, lalu memfilternya saat pemuatan berdasarkan lingkungan, konfigurasi, dan keberadaan biner.
|
||||
OpenClaw menggunakan folder skill yang **kompatibel dengan [AgentSkills](https://agentskills.io)** untuk mengajarkan agen cara menggunakan alat. Setiap skill adalah direktori yang berisi `SKILL.md` dengan frontmatter YAML dan instruksi. OpenClaw memuat skill bawaan ditambah override lokal opsional, lalu memfilternya saat pemuatan berdasarkan lingkungan, konfigurasi, dan keberadaan biner.
|
||||
|
||||
## Lokasi dan presedensi
|
||||
## Lokasi dan prioritas
|
||||
|
||||
OpenClaw memuat keterampilan dari sumber berikut, **presedensi tertinggi terlebih dahulu**:
|
||||
OpenClaw memuat skill dari sumber-sumber ini, **prioritas tertinggi lebih dulu**:
|
||||
|
||||
| # | Sumber | Path |
|
||||
| --- | ------------------------- | -------------------------------- |
|
||||
| 1 | Keterampilan ruang kerja | `<workspace>/skills` |
|
||||
| 2 | Keterampilan agen proyek | `<workspace>/.agents/skills` |
|
||||
| 3 | Keterampilan agen pribadi | `~/.agents/skills` |
|
||||
| 4 | Keterampilan terkelola/lokal | `~/.openclaw/skills` |
|
||||
| 5 | Keterampilan bawaan | dikirim bersama instalasi |
|
||||
| 6 | Folder keterampilan tambahan | `skills.load.extraDirs` (konfigurasi) |
|
||||
| # | Sumber | Jalur |
|
||||
| --- | --------------------- | -------------------------------- |
|
||||
| 1 | Skill workspace | `<workspace>/skills` |
|
||||
| 2 | Skill agen proyek | `<workspace>/.agents/skills` |
|
||||
| 3 | Skill agen pribadi | `~/.agents/skills` |
|
||||
| 4 | Skill terkelola/lokal | `~/.openclaw/skills` |
|
||||
| 5 | Skill bawaan | dikirim bersama instalasi |
|
||||
| 6 | Folder skill ekstra | `skills.load.extraDirs` (config) |
|
||||
|
||||
Jika nama keterampilan bentrok, sumber tertinggi yang menang.
|
||||
Jika nama skill bertentangan, sumber tertinggi yang menang.
|
||||
|
||||
## Keterampilan per agen vs bersama
|
||||
Direktori native `$CODEX_HOME/skills` milik Codex CLI bukan salah satu root skill OpenClaw ini. Dalam mode harness Codex, peluncuran app-server lokal menggunakan home Codex terisolasi per agen, sehingga skill Codex CLI pribadi tidak dimuat secara implisit. Gunakan `openclaw migrate codex --dry-run` untuk menginventarisasinya dan `openclaw migrate codex` untuk memilih direktori skill dengan prompt kotak centang interaktif sebelum menyalinnya ke workspace agen OpenClaw saat ini. Untuk proses non-interaktif, ulangi `--skill <name>` untuk skill persis yang akan disalin.
|
||||
|
||||
Dalam penyiapan **multi-agen**, setiap agen memiliki ruang kerjanya sendiri:
|
||||
## Skill per agen vs bersama
|
||||
|
||||
| Cakupan | Path | Terlihat oleh |
|
||||
Dalam setup **multi-agen**, setiap agen memiliki workspace sendiri:
|
||||
|
||||
| Cakupan | Jalur | Terlihat oleh |
|
||||
| -------------------- | ------------------------------------------- | ----------------------------- |
|
||||
| Per agen | `<workspace>/skills` | Hanya agen tersebut |
|
||||
| Agen proyek | `<workspace>/.agents/skills` | Hanya agen ruang kerja itu |
|
||||
| Agen proyek | `<workspace>/.agents/skills` | Hanya agen workspace tersebut |
|
||||
| Agen pribadi | `~/.agents/skills` | Semua agen di mesin itu |
|
||||
| Bersama terkelola/lokal | `~/.openclaw/skills` | Semua agen di mesin itu |
|
||||
| Direktori tambahan bersama | `skills.load.extraDirs` (presedensi terendah) | Semua agen di mesin itu |
|
||||
| Terkelola/lokal bersama | `~/.openclaw/skills` | Semua agen di mesin itu |
|
||||
| Direktori ekstra bersama | `skills.load.extraDirs` (prioritas terendah) | Semua agen di mesin itu |
|
||||
|
||||
Nama yang sama di beberapa tempat → sumber tertinggi yang menang. Ruang kerja mengalahkan agen proyek, mengalahkan agen pribadi, mengalahkan terkelola/lokal, mengalahkan bawaan, mengalahkan direktori tambahan.
|
||||
Nama yang sama di beberapa tempat → sumber tertinggi yang menang. Workspace mengalahkan agen proyek, mengalahkan agen pribadi, mengalahkan terkelola/lokal, mengalahkan bawaan, mengalahkan direktori ekstra.
|
||||
|
||||
## Daftar izin keterampilan agen
|
||||
## Daftar izin skill agen
|
||||
|
||||
**Lokasi** keterampilan dan **visibilitas** keterampilan adalah kontrol yang terpisah. Lokasi/presedensi menentukan salinan mana dari keterampilan bernama sama yang menang; daftar izin agen menentukan keterampilan mana yang benar-benar dapat digunakan agen.
|
||||
**Lokasi** skill dan **visibilitas** skill adalah kontrol yang terpisah. Lokasi/prioritas menentukan salinan mana dari skill bernama sama yang menang; daftar izin agen menentukan skill mana yang benar-benar dapat digunakan agen.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -67,55 +69,54 @@ Nama yang sama di beberapa tempat → sumber tertinggi yang menang. Ruang kerja
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Aturan daftar izin">
|
||||
- Hilangkan `agents.defaults.skills` agar keterampilan tidak dibatasi secara default.
|
||||
- Hilangkan `agents.defaults.skills` agar skill tidak dibatasi secara default.
|
||||
- Hilangkan `agents.list[].skills` untuk mewarisi `agents.defaults.skills`.
|
||||
- Tetapkan `agents.list[].skills: []` agar tidak ada keterampilan.
|
||||
- Daftar `agents.list[].skills` yang tidak kosong adalah set **final** untuk agen tersebut — daftar ini tidak digabungkan dengan default.
|
||||
- Daftar izin efektif berlaku di seluruh pembuatan prompt, penemuan perintah slash keterampilan, sinkronisasi sandbox, dan snapshot keterampilan.
|
||||
|
||||
- Tetapkan `agents.list[].skills: []` agar tidak ada skill.
|
||||
- Daftar `agents.list[].skills` yang tidak kosong adalah set **final** untuk agen tersebut — daftar itu tidak digabungkan dengan default.
|
||||
- Daftar izin efektif berlaku di seluruh pembuatan prompt, penemuan perintah slash skill, sinkronisasi sandbox, dan snapshot skill.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Plugin dan keterampilan
|
||||
## Plugin dan skill
|
||||
|
||||
Plugin dapat mengirimkan keterampilannya sendiri dengan mencantumkan direktori `skills` di `openclaw.plugin.json` (path relatif terhadap root Plugin). Keterampilan Plugin dimuat saat Plugin diaktifkan. Ini adalah tempat yang tepat untuk panduan operasi khusus alat yang terlalu panjang untuk deskripsi alat tetapi harus tersedia kapan pun Plugin diinstal — misalnya, Plugin browser mengirimkan keterampilan `browser-automation` untuk kontrol browser multi-langkah.
|
||||
Plugin dapat mengirim skill mereka sendiri dengan mencantumkan direktori `skills` di `openclaw.plugin.json` (jalur relatif terhadap root plugin). Skill plugin dimuat saat plugin diaktifkan. Ini adalah tempat yang tepat untuk panduan operasi khusus alat yang terlalu panjang untuk deskripsi alat tetapi harus tersedia kapan pun plugin terinstal — misalnya, plugin browser mengirim skill `browser-automation` untuk kontrol browser multi-langkah.
|
||||
|
||||
Direktori keterampilan Plugin digabungkan ke path berpresedensi rendah yang sama seperti `skills.load.extraDirs`, jadi keterampilan bawaan, terkelola, agen, atau ruang kerja dengan nama sama akan menimpanya. Anda dapat membatasinya melalui `metadata.openclaw.requires.config` pada entri konfigurasi Plugin.
|
||||
Direktori skill plugin digabungkan ke jalur berprioritas rendah yang sama seperti `skills.load.extraDirs`, sehingga skill bawaan, terkelola, agen, atau workspace dengan nama yang sama akan menimpanya. Anda dapat membatasinya melalui `metadata.openclaw.requires.config` pada entri konfigurasi plugin.
|
||||
|
||||
Lihat [Plugin](/id/tools/plugin) untuk penemuan/konfigurasi dan [Alat](/id/tools) untuk permukaan alat yang diajarkan oleh keterampilan tersebut.
|
||||
Lihat [Plugin](/id/tools/plugin) untuk penemuan/konfigurasi dan [Alat](/id/tools) untuk permukaan alat yang diajarkan skill tersebut.
|
||||
|
||||
## Lokakarya Keterampilan
|
||||
## Skill Workshop
|
||||
|
||||
Plugin **Lokakarya Keterampilan** yang opsional dan eksperimental dapat membuat atau memperbarui keterampilan ruang kerja dari prosedur pakai ulang yang diamati selama kerja agen. Plugin ini dinonaktifkan secara default dan harus diaktifkan secara eksplisit melalui `plugins.entries.skill-workshop`.
|
||||
Plugin eksperimental opsional **Skill Workshop** dapat membuat atau memperbarui skill workspace dari prosedur pakai ulang yang diamati selama pekerjaan agen. Plugin ini dinonaktifkan secara default dan harus diaktifkan secara eksplisit melalui `plugins.entries.skill-workshop`.
|
||||
|
||||
Lokakarya Keterampilan hanya menulis ke `<workspace>/skills`, memindai konten yang dihasilkan, mendukung persetujuan tertunda atau penulisan aman otomatis, mengarantina proposal yang tidak aman, dan menyegarkan snapshot keterampilan setelah penulisan berhasil sehingga keterampilan baru tersedia tanpa memulai ulang Gateway.
|
||||
Skill Workshop hanya menulis ke `<workspace>/skills`, memindai konten yang dihasilkan, mendukung persetujuan tertunda atau penulisan aman otomatis, mengarantina proposal yang tidak aman, dan menyegarkan snapshot skill setelah penulisan berhasil sehingga skill baru tersedia tanpa restart Gateway.
|
||||
|
||||
Gunakan untuk koreksi seperti _"lain kali, verifikasi atribusi GIF"_ atau alur kerja yang diperoleh dengan susah payah seperti daftar periksa QA media. Mulailah dengan persetujuan tertunda; gunakan penulisan otomatis hanya di ruang kerja tepercaya setelah meninjau proposalnya. Panduan lengkap: [Plugin Lokakarya Keterampilan](/id/plugins/skill-workshop).
|
||||
Gunakan untuk koreksi seperti _"lain kali, verifikasi atribusi GIF"_ atau alur kerja yang diperoleh dengan susah payah seperti daftar periksa QA media. Mulailah dengan persetujuan tertunda; gunakan penulisan otomatis hanya di workspace tepercaya setelah meninjau proposalnya. Panduan lengkap: [Plugin Skill Workshop](/id/plugins/skill-workshop).
|
||||
|
||||
## ClawHub (instal dan sinkronkan)
|
||||
## ClawHub (instal dan sinkronisasi)
|
||||
|
||||
[ClawHub](https://clawhub.ai) adalah registri keterampilan publik untuk OpenClaw. Gunakan perintah native `openclaw skills` untuk menemukan/menginstal/memperbarui, atau CLI `clawhub` terpisah untuk alur kerja publikasi/sinkronisasi. Panduan lengkap: [ClawHub](/id/tools/clawhub).
|
||||
[ClawHub](https://clawhub.ai) adalah registri skill publik untuk OpenClaw. Gunakan perintah native `openclaw skills` untuk menemukan/menginstal/memperbarui, atau CLI `clawhub` terpisah untuk alur kerja publikasi/sinkronisasi. Panduan lengkap: [ClawHub](/id/tools/clawhub).
|
||||
|
||||
| Tindakan | Perintah |
|
||||
| --------------------------------- | ------------------------------------- |
|
||||
| Instal keterampilan ke ruang kerja | `openclaw skills install <skill-slug>` |
|
||||
| Perbarui semua keterampilan terinstal | `openclaw skills update --all` |
|
||||
| Sinkronkan (pindai + publikasikan pembaruan) | `clawhub sync --all` |
|
||||
| --------------------------------- | -------------------------------------- |
|
||||
| Instal skill ke workspace | `openclaw skills install <skill-slug>` |
|
||||
| Perbarui semua skill terinstal | `openclaw skills update --all` |
|
||||
| Sinkronisasi (pindai + publikasikan pembaruan) | `clawhub sync --all` |
|
||||
|
||||
`openclaw skills install` native menginstal ke direktori `skills/` ruang kerja aktif. CLI `clawhub` terpisah juga menginstal ke `./skills` di bawah direktori kerja Anda saat ini (atau fallback ke ruang kerja OpenClaw yang dikonfigurasi). OpenClaw mengambilnya sebagai `<workspace>/skills` pada sesi berikutnya.
|
||||
Root keterampilan yang dikonfigurasi juga mendukung satu level pengelompokan, seperti `skills/<group>/<skill>/SKILL.md`, sehingga keterampilan pihak ketiga yang terkait dapat disimpan di bawah folder bersama tanpa pemindaian rekursif yang luas.
|
||||
`openclaw skills install` native menginstal ke direktori `skills/` workspace aktif. CLI `clawhub` terpisah juga menginstal ke `./skills` di bawah direktori kerja Anda saat ini (atau fallback ke workspace OpenClaw yang dikonfigurasi). OpenClaw mengambilnya sebagai `<workspace>/skills` pada sesi berikutnya.
|
||||
Root skill yang dikonfigurasi juga mendukung satu tingkat pengelompokan, seperti `skills/<group>/<skill>/SKILL.md`, sehingga skill pihak ketiga terkait dapat disimpan di bawah folder bersama tanpa pemindaian rekursif yang luas.
|
||||
|
||||
Halaman keterampilan ClawHub menampilkan status pemindaian keamanan terbaru sebelum instalasi, dengan halaman detail pemindai untuk VirusTotal, ClawScan, dan analisis statis. `openclaw skills install <slug>` tetap hanya sebagai jalur instalasi; penerbit memulihkan positif palsu melalui dasbor ClawHub atau `clawhub skill rescan <slug>`.
|
||||
Halaman skill ClawHub menampilkan status pemindaian keamanan terbaru sebelum instalasi, dengan halaman detail pemindai untuk VirusTotal, ClawScan, dan analisis statis. `openclaw skills install <slug>` tetap hanya jalur instalasi; penerbit memulihkan positif palsu melalui dasbor ClawHub atau `clawhub skill rescan <slug>`.
|
||||
|
||||
## Keamanan
|
||||
|
||||
<Warning>
|
||||
Perlakukan keterampilan pihak ketiga sebagai **kode tidak tepercaya**. Baca sebelum mengaktifkannya. Utamakan eksekusi bersandbox untuk input tidak tepercaya dan alat berisiko. Lihat [Sandboxing](/id/gateway/sandboxing) untuk kontrol sisi agen.
|
||||
Perlakukan skill pihak ketiga sebagai **kode tidak tepercaya**. Baca sebelum mengaktifkannya. Pilih proses bersandbox untuk input tidak tepercaya dan alat berisiko. Lihat [Sandboxing](/id/gateway/sandboxing) untuk kontrol sisi agen.
|
||||
</Warning>
|
||||
|
||||
- Penemuan keterampilan ruang kerja dan direktori tambahan hanya menerima root keterampilan dan file `SKILL.md` yang realpath terselesaikannya tetap berada di dalam root yang dikonfigurasi.
|
||||
- Instalasi dependensi keterampilan berbasis Gateway (`skills.install`, onboarding, dan UI pengaturan Skills) menjalankan pemindai kode berbahaya bawaan sebelum mengeksekusi metadata penginstal. Temuan `critical` memblokir secara default kecuali pemanggil secara eksplisit menetapkan override berbahaya; temuan mencurigakan tetap hanya memberi peringatan.
|
||||
- `openclaw skills install <slug>` berbeda — perintah ini mengunduh folder keterampilan ClawHub ke ruang kerja dan tidak menggunakan jalur metadata penginstal di atas.
|
||||
- Penemuan skill workspace dan direktori ekstra hanya menerima root skill dan file `SKILL.md` yang realpath terselesaikannya tetap berada di dalam root yang dikonfigurasi.
|
||||
- Instalasi dependensi skill yang didukung Gateway (`skills.install`, onboarding, dan UI pengaturan Skills) menjalankan pemindai kode berbahaya bawaan sebelum mengeksekusi metadata installer. Temuan `critical` memblokir secara default kecuali pemanggil secara eksplisit menetapkan override berbahaya; temuan mencurigakan tetap hanya memperingatkan.
|
||||
- `openclaw skills install <slug>` berbeda — perintah itu mengunduh folder skill ClawHub ke workspace dan tidak menggunakan jalur metadata installer di atas.
|
||||
- `skills.entries.*.env` dan `skills.entries.*.apiKey` menyuntikkan rahasia ke proses **host** untuk giliran agen tersebut (bukan sandbox). Jauhkan rahasia dari prompt dan log.
|
||||
|
||||
Untuk model ancaman dan daftar periksa yang lebih luas, lihat [Keamanan](/id/gateway/security).
|
||||
@ -131,7 +132,7 @@ description: Generate or edit images via a provider-backed image workflow
|
||||
---
|
||||
```
|
||||
|
||||
OpenClaw mengikuti spesifikasi AgentSkills untuk tata letak/tujuan. Parser yang digunakan oleh agen tertanam hanya mendukung kunci frontmatter **satu baris**; `metadata` harus berupa **objek JSON satu baris**. Gunakan `{baseDir}` dalam instruksi untuk merujuk ke path folder keterampilan.
|
||||
OpenClaw mengikuti spesifikasi AgentSkills untuk tata letak/niat. Parser yang digunakan oleh agen tertanam hanya mendukung kunci frontmatter **satu baris**; `metadata` harus berupa **objek JSON satu baris**. Gunakan `{baseDir}` dalam instruksi untuk merujuk jalur folder skill.
|
||||
|
||||
### Kunci frontmatter opsional
|
||||
|
||||
@ -139,24 +140,24 @@ OpenClaw mengikuti spesifikasi AgentSkills untuk tata letak/tujuan. Parser yang
|
||||
URL yang ditampilkan sebagai "Situs web" di UI Skills macOS. Juga didukung melalui `metadata.openclaw.homepage`.
|
||||
</ParamField>
|
||||
<ParamField path="user-invocable" type="boolean" default="true">
|
||||
Saat `true`, keterampilan ditampilkan sebagai perintah slash pengguna.
|
||||
Saat `true`, skill ditampilkan sebagai perintah slash pengguna.
|
||||
</ParamField>
|
||||
<ParamField path="disable-model-invocation" type="boolean" default="false">
|
||||
Saat `true`, keterampilan dikecualikan dari prompt model (tetap tersedia melalui pemanggilan pengguna).
|
||||
Saat `true`, skill dikecualikan dari prompt model (tetap tersedia melalui pemanggilan pengguna).
|
||||
</ParamField>
|
||||
<ParamField path="command-dispatch" type='"tool"'>
|
||||
Saat diatur ke `tool`, perintah slash melewati model dan dikirim langsung ke alat.
|
||||
</ParamField>
|
||||
<ParamField path="command-tool" type="string">
|
||||
Nama alat yang akan dipanggil saat `command-dispatch: tool` diatur.
|
||||
Nama alat yang akan dipanggil saat `command-dispatch: tool` ditetapkan.
|
||||
</ParamField>
|
||||
<ParamField path="command-arg-mode" type='"raw"' default="raw">
|
||||
Untuk pengiriman alat, meneruskan string argumen mentah ke alat (tanpa parsing inti). Alat dipanggil dengan `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
||||
Untuk pengiriman alat, meneruskan string arg mentah ke alat (tanpa parsing core). Alat dipanggil dengan `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
||||
</ParamField>
|
||||
|
||||
## Pembatasan (filter saat pemuatan)
|
||||
|
||||
OpenClaw memfilter keterampilan saat pemuatan menggunakan `metadata` (JSON satu baris):
|
||||
OpenClaw memfilter skill saat pemuatan menggunakan `metadata` (JSON satu baris):
|
||||
|
||||
```markdown
|
||||
---
|
||||
@ -173,10 +174,10 @@ metadata:
|
||||
---
|
||||
```
|
||||
|
||||
Bidang di bawah `metadata.openclaw`:
|
||||
Kolom di bawah `metadata.openclaw`:
|
||||
|
||||
<ParamField path="always" type="boolean">
|
||||
Saat `true`, selalu sertakan keterampilan (lewati pembatas lain).
|
||||
Saat `true`, selalu sertakan skill (lewati gate lain).
|
||||
</ParamField>
|
||||
<ParamField path="emoji" type="string">
|
||||
Emoji opsional yang digunakan oleh UI Skills macOS.
|
||||
@ -185,7 +186,7 @@ Bidang di bawah `metadata.openclaw`:
|
||||
URL opsional yang ditampilkan sebagai "Situs web" di UI Skills macOS.
|
||||
</ParamField>
|
||||
<ParamField path="os" type='"darwin" | "linux" | "win32"' >
|
||||
Daftar platform opsional. Jika diatur, keterampilan hanya memenuhi syarat pada OS tersebut.
|
||||
Daftar platform opsional. Jika ditetapkan, skill hanya memenuhi syarat pada OS tersebut.
|
||||
</ParamField>
|
||||
<ParamField path="requires.bins" type="string[]">
|
||||
Masing-masing harus ada di `PATH`.
|
||||
@ -194,31 +195,31 @@ Bidang di bawah `metadata.openclaw`:
|
||||
Setidaknya satu harus ada di `PATH`.
|
||||
</ParamField>
|
||||
<ParamField path="requires.env" type="string[]">
|
||||
Variabel lingkungan harus ada atau disediakan dalam konfigurasi.
|
||||
Variabel env harus ada atau disediakan dalam config.
|
||||
</ParamField>
|
||||
<ParamField path="requires.config" type="string[]">
|
||||
Daftar path `openclaw.json` yang harus bernilai truthy.
|
||||
Daftar jalur `openclaw.json` yang harus bernilai truthy.
|
||||
</ParamField>
|
||||
<ParamField path="primaryEnv" type="string">
|
||||
Nama variabel lingkungan yang terkait dengan `skills.entries.<name>.apiKey`.
|
||||
Nama variabel env yang terkait dengan `skills.entries.<name>.apiKey`.
|
||||
</ParamField>
|
||||
<ParamField path="install" type="object[]">
|
||||
Spesifikasi penginstal opsional yang digunakan oleh UI Skills macOS (brew/node/go/uv/download).
|
||||
Spesifikasi installer opsional yang digunakan oleh UI Skills macOS (brew/node/go/uv/download).
|
||||
</ParamField>
|
||||
|
||||
Jika tidak ada `metadata.openclaw`, keterampilan selalu memenuhi syarat (kecuali dinonaktifkan dalam konfigurasi atau diblokir oleh `skills.allowBundled` untuk keterampilan bawaan).
|
||||
Jika tidak ada `metadata.openclaw`, skill selalu memenuhi syarat (kecuali dinonaktifkan dalam config atau diblokir oleh `skills.allowBundled` untuk skill bawaan).
|
||||
|
||||
<Note>
|
||||
Blok `metadata.clawdbot` lama masih diterima saat `metadata.openclaw` tidak ada, sehingga keterampilan lama yang terinstal tetap mempertahankan pembatas dependensi dan petunjuk penginstalnya. Keterampilan baru dan yang diperbarui harus menggunakan `metadata.openclaw`.
|
||||
Blok lama `metadata.clawdbot` masih diterima saat `metadata.openclaw` tidak ada, sehingga skill lama yang terinstal tetap mempertahankan gate dependensi dan petunjuk installernya. Skill baru dan yang diperbarui harus menggunakan `metadata.openclaw`.
|
||||
</Note>
|
||||
|
||||
### Catatan sandboxing
|
||||
|
||||
- `requires.bins` diperiksa pada **host** saat pemuatan keterampilan.
|
||||
- Jika agen disandbox, biner juga harus ada **di dalam kontainer**. Instal melalui `agents.defaults.sandbox.docker.setupCommand` (atau image kustom). `setupCommand` berjalan sekali setelah kontainer dibuat. Instalasi paket juga memerlukan egress jaringan, FS root yang dapat ditulis, dan pengguna root di sandbox.
|
||||
- Contoh: keterampilan `summarize` (`skills/summarize/SKILL.md`) memerlukan CLI `summarize` di kontainer sandbox untuk berjalan di sana.
|
||||
- `requires.bins` diperiksa pada **host** saat pemuatan skill.
|
||||
- Jika agen disandbox, biner juga harus ada **di dalam container**. Instal melalui `agents.defaults.sandbox.docker.setupCommand` (atau image kustom). `setupCommand` berjalan sekali setelah container dibuat. Instalasi paket juga memerlukan egress jaringan, root FS yang dapat ditulis, dan pengguna root di sandbox.
|
||||
- Contoh: skill `summarize` (`skills/summarize/SKILL.md`) memerlukan CLI `summarize` di container sandbox agar dapat berjalan di sana.
|
||||
|
||||
### Spesifikasi penginstal
|
||||
### Spesifikasi installer
|
||||
|
||||
```markdown
|
||||
---
|
||||
@ -246,25 +247,25 @@ metadata:
|
||||
```
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Aturan pemilihan penginstal">
|
||||
- Jika beberapa penginstal dicantumkan, Gateway memilih satu opsi yang diutamakan (brew jika tersedia, jika tidak node).
|
||||
<Accordion title="Installer selection rules">
|
||||
- Jika beberapa penginstal dicantumkan, gateway memilih satu opsi pilihan (brew jika tersedia, jika tidak node).
|
||||
- Jika semua penginstal adalah `download`, OpenClaw mencantumkan setiap entri agar Anda dapat melihat artefak yang tersedia.
|
||||
- Spesifikasi penginstal dapat menyertakan `os: ["darwin"|"linux"|"win32"]` untuk memfilter opsi berdasarkan platform.
|
||||
- Instalasi Node mematuhi `skills.install.nodeManager` di `openclaw.json` (default: npm; opsi: npm/pnpm/yarn/bun). Ini hanya memengaruhi instalasi skill; runtime Gateway tetap sebaiknya Node — Bun tidak disarankan untuk WhatsApp/Telegram.
|
||||
- Pemilihan penginstal yang didukung Gateway digerakkan oleh preferensi: ketika spesifikasi instalasi mencampur beberapa jenis, OpenClaw mengutamakan Homebrew saat `skills.install.preferBrew` diaktifkan dan `brew` ada, lalu `uv`, lalu manajer node yang dikonfigurasi, lalu fallback lain seperti `go` atau `download`.
|
||||
- Jika setiap spesifikasi instalasi adalah `download`, OpenClaw menampilkan semua opsi unduhan alih-alih meringkasnya menjadi satu penginstal yang diutamakan.
|
||||
- Instalasi Node mengikuti `skills.install.nodeManager` di `openclaw.json` (default: npm; opsi: npm/pnpm/yarn/bun). Ini hanya memengaruhi instalasi skill; runtime Gateway tetap harus berupa Node — Bun tidak direkomendasikan untuk WhatsApp/Telegram.
|
||||
- Pemilihan penginstal yang didukung Gateway digerakkan oleh preferensi: ketika spesifikasi instalasi mencampur beberapa jenis, OpenClaw lebih memilih Homebrew saat `skills.install.preferBrew` diaktifkan dan `brew` ada, lalu `uv`, lalu manajer node yang dikonfigurasi, lalu fallback lain seperti `go` atau `download`.
|
||||
- Jika setiap spesifikasi instalasi adalah `download`, OpenClaw menampilkan semua opsi unduhan alih-alih meringkasnya menjadi satu penginstal pilihan.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="Detail per penginstal">
|
||||
- **Instalasi Go:** jika `go` tidak ada dan `brew` tersedia, gateway menginstal Go melalui Homebrew terlebih dahulu dan mengatur `GOBIN` ke `bin` Homebrew jika memungkinkan.
|
||||
<Accordion title="Per-installer details">
|
||||
- **Instalasi Go:** jika `go` tidak ada dan `brew` tersedia, gateway menginstal Go melalui Homebrew terlebih dahulu dan mengatur `GOBIN` ke `bin` milik Homebrew jika memungkinkan.
|
||||
- **Instalasi unduhan:** `url` (wajib), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (default: otomatis saat arsip terdeteksi), `stripComponents`, `targetDir` (default: `~/.openclaw/tools/<skillKey>`).
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Penimpaan konfigurasi
|
||||
## Override konfigurasi
|
||||
|
||||
Skill bawaan dan terkelola dapat diaktifkan/nonaktifkan dan diberi nilai env
|
||||
Skill bawaan dan terkelola dapat diaktifkan/nonaktifkan serta diberi nilai env
|
||||
di bawah `skills.entries` dalam `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json5
|
||||
@ -292,35 +293,35 @@ di bawah `skills.entries` dalam `~/.openclaw/openclaw.json`:
|
||||
<ParamField path="enabled" type="boolean">
|
||||
`false` menonaktifkan skill meskipun skill tersebut dibundel atau diinstal.
|
||||
Skill `coding-agent` bawaan bersifat opt-in: atur
|
||||
`skills.entries.coding-agent.enabled: true` sebelum menampilkannya kepada agen,
|
||||
lalu pastikan salah satu dari `claude`, `codex`, `opencode`, atau `pi` terinstal dan
|
||||
terautentikasi untuk CLI-nya sendiri.
|
||||
`skills.entries.coding-agent.enabled: true` sebelum menampilkannya ke agen,
|
||||
lalu pastikan salah satu dari `claude`, `codex`, `opencode`, atau `pi` telah diinstal dan
|
||||
diautentikasi untuk CLI-nya sendiri.
|
||||
</ParamField>
|
||||
<ParamField path="apiKey" type='string | { source, provider, id }'>
|
||||
Kemudahan untuk skill yang mendeklarasikan `metadata.openclaw.primaryEnv`. Mendukung teks polos atau SecretRef.
|
||||
Kemudahan untuk skill yang mendeklarasikan `metadata.openclaw.primaryEnv`. Mendukung plaintext atau SecretRef.
|
||||
</ParamField>
|
||||
<ParamField path="env" type="Record<string, string>">
|
||||
Diinjeksikan hanya jika variabel belum diatur dalam proses.
|
||||
Diinjeksi hanya jika variabel belum diatur dalam proses.
|
||||
</ParamField>
|
||||
<ParamField path="config" type="object">
|
||||
Wadah opsional untuk bidang kustom per skill. Kunci kustom harus berada di sini.
|
||||
Wadah opsional untuk field per-skill kustom. Key kustom harus berada di sini.
|
||||
</ParamField>
|
||||
<ParamField path="allowBundled" type="string[]">
|
||||
Allowlist opsional hanya untuk skill **bawaan**. Jika diatur, hanya skill bawaan dalam daftar yang memenuhi syarat (skill terkelola/workspace tidak terpengaruh).
|
||||
</ParamField>
|
||||
|
||||
Jika nama skill berisi tanda hubung, kutip kuncinya (JSON5 mengizinkan kunci
|
||||
yang dikutip). Kunci konfigurasi secara default cocok dengan **nama skill** — jika sebuah skill
|
||||
mendefinisikan `metadata.openclaw.skillKey`, gunakan kunci tersebut di bawah `skills.entries`.
|
||||
Jika nama skill berisi tanda hubung, beri tanda kutip pada key (JSON5 mengizinkan
|
||||
key yang dikutip). Key konfigurasi cocok dengan **nama skill** secara default — jika sebuah skill
|
||||
mendefinisikan `metadata.openclaw.skillKey`, gunakan key tersebut di bawah `skills.entries`.
|
||||
|
||||
<Note>
|
||||
Untuk pembuatan/penyuntingan gambar stok di dalam OpenClaw, gunakan tool inti
|
||||
Untuk pembuatan/pengeditan gambar stok di dalam OpenClaw, gunakan tool inti
|
||||
`image_generate` dengan `agents.defaults.imageGenerationModel` alih-alih
|
||||
skill bawaan. Contoh skill di sini ditujukan untuk alur kerja kustom atau pihak ketiga.
|
||||
skill bawaan. Contoh skill di sini ditujukan untuk workflow kustom atau pihak ketiga.
|
||||
Untuk analisis gambar native, gunakan tool `image` dengan
|
||||
`agents.defaults.imageModel`. Jika Anda memilih `openai/*`, `google/*`,
|
||||
`fal/*`, atau model gambar khusus penyedia lain, tambahkan juga
|
||||
auth/kunci API penyedia tersebut.
|
||||
`fal/*`, atau model gambar khusus provider lainnya, tambahkan juga
|
||||
auth/key API provider tersebut.
|
||||
</Note>
|
||||
|
||||
## Injeksi lingkungan
|
||||
@ -329,33 +330,33 @@ Saat sebuah run agen dimulai, OpenClaw:
|
||||
|
||||
1. Membaca metadata skill.
|
||||
2. Menerapkan `skills.entries.<key>.env` dan `skills.entries.<key>.apiKey` ke `process.env`.
|
||||
3. Membangun prompt sistem dengan skill yang **memenuhi syarat**.
|
||||
3. Membuat system prompt dengan skill yang **memenuhi syarat**.
|
||||
4. Memulihkan lingkungan asli setelah run berakhir.
|
||||
|
||||
Injeksi lingkungan **bercakupan pada run agen**, bukan lingkungan shell
|
||||
Injeksi lingkungan **tercakup pada run agen**, bukan lingkungan shell
|
||||
global.
|
||||
|
||||
Untuk backend `claude-cli` bawaan, OpenClaw juga mewujudkan snapshot
|
||||
Untuk backend `claude-cli` bawaan, OpenClaw juga merealisasikan snapshot
|
||||
memenuhi syarat yang sama sebagai Plugin Claude Code sementara dan meneruskannya dengan
|
||||
`--plugin-dir`. Claude Code kemudian dapat menggunakan resolver skill native-nya sementara
|
||||
OpenClaw tetap mengelola prioritas, allowlist per agen, gating, dan
|
||||
injeksi env/kunci API `skills.entries.*`. Backend CLI lain hanya menggunakan
|
||||
OpenClaw tetap mengelola presedensi, allowlist per agen, gating, dan
|
||||
injeksi env/key API `skills.entries.*`. Backend CLI lain hanya menggunakan
|
||||
katalog prompt.
|
||||
|
||||
## Snapshot dan refresh
|
||||
## Snapshot dan penyegaran
|
||||
|
||||
OpenClaw membuat snapshot skill yang memenuhi syarat **saat sesi dimulai** dan
|
||||
menggunakan kembali daftar itu untuk giliran berikutnya dalam sesi yang sama. Perubahan pada
|
||||
skill atau konfigurasi mulai berlaku pada sesi baru berikutnya.
|
||||
OpenClaw mengambil snapshot skill yang memenuhi syarat **saat sesi dimulai** dan
|
||||
menggunakan kembali daftar tersebut untuk giliran berikutnya dalam sesi yang sama. Perubahan pada
|
||||
skill atau konfigurasi berlaku pada sesi baru berikutnya.
|
||||
|
||||
Skills dapat di-refresh di tengah sesi dalam dua kasus:
|
||||
Skills dapat disegarkan di tengah sesi dalam dua kasus:
|
||||
|
||||
- Watcher skills diaktifkan.
|
||||
- Node jarak jauh baru yang memenuhi syarat muncul.
|
||||
|
||||
Anggap ini sebagai **hot reload**: daftar yang di-refresh digunakan pada
|
||||
Anggap ini sebagai **hot reload**: daftar yang disegarkan digunakan pada
|
||||
giliran agen berikutnya. Jika allowlist skill agen efektif berubah untuk
|
||||
sesi tersebut, OpenClaw me-refresh snapshot agar skill yang terlihat tetap selaras
|
||||
sesi tersebut, OpenClaw menyegarkan snapshot agar skill yang terlihat tetap selaras
|
||||
dengan agen saat ini.
|
||||
|
||||
### Watcher Skills
|
||||
@ -378,20 +379,20 @@ saat file `SKILL.md` berubah. Konfigurasikan di bawah `skills.load`:
|
||||
|
||||
Jika Gateway berjalan di Linux tetapi sebuah **node macOS** terhubung dengan
|
||||
`system.run` diizinkan (keamanan persetujuan Exec tidak diatur ke `deny`),
|
||||
OpenClaw dapat memperlakukan skill khusus macOS sebagai memenuhi syarat ketika biner yang diperlukan
|
||||
ada pada node tersebut. Agen harus menjalankan skill tersebut
|
||||
OpenClaw dapat memperlakukan skill khusus macOS sebagai memenuhi syarat ketika
|
||||
binary yang diperlukan ada pada node tersebut. Agen harus menjalankan skill tersebut
|
||||
melalui tool `exec` dengan `host=node`.
|
||||
|
||||
Ini bergantung pada node yang melaporkan dukungan perintahnya dan pada probe bin
|
||||
melalui `system.which` atau `system.run`. Node offline **tidak** membuat
|
||||
skill khusus jarak jauh terlihat. Jika node yang terhubung berhenti menjawab probe bin,
|
||||
OpenClaw menghapus kecocokan bin yang di-cache sehingga agen tidak lagi melihat
|
||||
skill khusus jarak jauh terlihat. Jika node yang terhubung berhenti menjawab probe
|
||||
bin, OpenClaw menghapus kecocokan bin yang di-cache agar agen tidak lagi melihat
|
||||
skill yang saat ini tidak dapat dijalankan di sana.
|
||||
|
||||
## Dampak token
|
||||
|
||||
Saat skill memenuhi syarat, OpenClaw menginjeksikan daftar XML ringkas berisi skill yang tersedia
|
||||
ke dalam prompt sistem (melalui `formatSkillsForPrompt` di
|
||||
Ketika skill memenuhi syarat, OpenClaw menginjeksi daftar XML ringkas dari skill yang tersedia
|
||||
ke dalam system prompt (melalui `formatSkillsForPrompt` di
|
||||
`pi-coding-agent`). Biayanya deterministik:
|
||||
|
||||
- **Overhead dasar** (hanya saat ≥1 skill): 195 karakter.
|
||||
@ -403,18 +404,18 @@ Rumus (karakter):
|
||||
total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))
|
||||
```
|
||||
|
||||
Escaping XML memperluas `& < > " '` menjadi entitas (`&`, `<`, dll.),
|
||||
Escape XML memperluas `& < > " '` menjadi entitas (`&`, `<`, dll.),
|
||||
sehingga menambah panjang. Jumlah token bervariasi menurut tokenizer model. Perkiraan kasar
|
||||
gaya OpenAI adalah ~4 karakter/token, jadi **97 karakter ≈ 24 token** per
|
||||
skill ditambah panjang bidang Anda yang sebenarnya.
|
||||
skill ditambah panjang field aktual Anda.
|
||||
|
||||
## Siklus hidup skill terkelola
|
||||
|
||||
OpenClaw mengirimkan set dasar skill sebagai **skill bawaan** bersama
|
||||
instalasi (paket npm atau OpenClaw.app). `~/.openclaw/skills` ada untuk
|
||||
penimpaan lokal — misalnya, menyematkan atau menambal skill tanpa
|
||||
mengubah salinan bawaan. Skill workspace dimiliki pengguna dan menimpa
|
||||
keduanya saat terjadi konflik nama.
|
||||
OpenClaw menyertakan satu set dasar skill sebagai **skill bawaan** bersama
|
||||
instalasi (paket npm atau OpenClaw.app). `~/.openclaw/skills` tersedia untuk
|
||||
override lokal — misalnya, melakukan pin atau patch pada skill tanpa
|
||||
mengubah salinan bawaan. Skill workspace dimiliki pengguna dan mengoverride
|
||||
keduanya saat ada konflik nama.
|
||||
|
||||
## Mencari lebih banyak skill?
|
||||
|
||||
@ -425,7 +426,7 @@ Jelajahi [https://clawhub.ai](https://clawhub.ai). Skema konfigurasi lengkap:
|
||||
|
||||
- [ClawHub](/id/tools/clawhub) — registri skill publik
|
||||
- [Membuat skill](/id/tools/creating-skills) — membangun skill kustom
|
||||
- [Plugin](/id/tools/plugin) — ikhtisar sistem plugin
|
||||
- [Plugin Skill Workshop](/id/plugins/skill-workshop) — menghasilkan skill dari pekerjaan agen
|
||||
- [Plugins](/id/tools/plugin) — ikhtisar sistem plugin
|
||||
- [Plugin Skill Workshop](/id/plugins/skill-workshop) — hasilkan skill dari pekerjaan agen
|
||||
- [Konfigurasi Skills](/id/tools/skills-config) — referensi konfigurasi skill
|
||||
- [Perintah slash](/id/tools/slash-commands) — semua perintah slash yang tersedia
|
||||
|
||||
Loading…
Reference in New Issue
Block a user