Langsung ke konten utama
Gateway menangani perintah yang dikirim sebagai pesan mandiri yang diawali dengan /. Perintah bash khusus host menggunakan ! <cmd> (dengan /bash <cmd> sebagai alias). Ketika percakapan terikat ke sesi ACP, teks biasa diarahkan ke harness ACP. Perintah manajemen Gateway tetap lokal: /acp ... selalu mencapai penangan perintah OpenClaw, dan /status serta /unfocus tetap lokal setiap kali penanganan perintah diaktifkan untuk surface tersebut.

Tiga jenis perintah

Perintah

Pesan /... mandiri yang ditangani oleh Gateway. Harus dikirim sebagai satu-satunya konten dalam pesan.

Direktif

/think, /fast, /verbose, /trace, /reasoning, /elevated, /exec, /model, /queue — dihapus dari pesan sebelum model melihatnya. Mempertahankan pengaturan sesi saat dikirim sendiri; bertindak sebagai petunjuk inline saat dikirim bersama teks lain.

Pintasan inline

/help, /commands, /status, /whoami — langsung dijalankan dan dihapus sebelum model melihat teks yang tersisa. Hanya pengirim berwenang.
  • Direktif dihapus dari pesan sebelum model melihatnya.
  • Dalam pesan hanya direktif (pesan hanya berisi direktif), direktif dipertahankan ke sesi dan membalas dengan pengakuan.
  • Dalam pesan obrolan normal dengan teks lain, direktif bertindak sebagai petunjuk inline dan tidak mempertahankan pengaturan sesi.
  • Direktif hanya berlaku untuk pengirim berwenang. Jika commands.allowFrom ditetapkan, itu adalah satu-satunya allowlist yang digunakan; jika tidak, otorisasi berasal dari allowlist/pairing channel plus commands.useAccessGroups. Pengirim yang tidak berwenang melihat direktif diperlakukan sebagai teks biasa.

Konfigurasi

{
  commands: {
    native: "auto",
    nativeSkills: "auto",
    text: true,
    bash: false,
    bashForegroundMs: 2000,
    config: false,
    mcp: false,
    plugins: false,
    debug: false,
    restart: true,
    ownerAllowFrom: ["discord:123456789012345678"],
    ownerDisplay: "raw",
    ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
    allowFrom: {
      "*": ["user1"],
      discord: ["user:123"],
    },
    useAccessGroups: true,
  },
}
commands.text
boolean
default:"true"
Mengaktifkan parsing /... dalam pesan obrolan. Pada surface tanpa perintah native (WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams), perintah teks tetap berfungsi meski ditetapkan ke false.
commands.native
boolean | "auto"
default:"\"auto\""
Mendaftarkan perintah native. Auto: aktif untuk Discord/Telegram; nonaktif untuk Slack; diabaikan untuk provider tanpa dukungan native. Timpa per channel dengan channels.<provider>.commands.native. Di Discord, false melewati pendaftaran slash-command; perintah yang sebelumnya terdaftar mungkin tetap terlihat sampai dihapus.
commands.nativeSkills
boolean | "auto"
default:"\"auto\""
Mendaftarkan perintah skill secara native saat didukung. Auto: aktif untuk Discord/Telegram; nonaktif untuk Slack. Timpa dengan channels.<provider>.commands.nativeSkills.
commands.bash
boolean
default:"false"
Mengaktifkan ! <cmd> untuk menjalankan perintah shell host (alias /bash <cmd>). Memerlukan allowlist tools.elevated.
commands.bashForegroundMs
number
default:"2000"
Berapa lama bash menunggu sebelum beralih ke mode latar belakang (0 langsung ke latar belakang).
commands.config
boolean
default:"false"
Mengaktifkan /config (membaca/menulis openclaw.json). Hanya owner.
commands.mcp
boolean
default:"false"
Mengaktifkan /mcp (membaca/menulis konfigurasi MCP yang dikelola OpenClaw di bawah mcp.servers). Hanya owner.
commands.plugins
boolean
default:"false"
Mengaktifkan /plugins (penemuan/status plugin plus instal + aktifkan/nonaktifkan). Hanya owner untuk penulisan.
commands.debug
boolean
default:"false"
Mengaktifkan /debug (override konfigurasi khusus runtime). Hanya owner.
commands.restart
boolean
default:"true"
Mengaktifkan /restart dan aksi alat restart gateway.
commands.ownerAllowFrom
string[]
Allowlist owner eksplisit untuk surface perintah khusus owner. Terpisah dari commands.allowFrom dan akses pairing DM.
channels.<channel>.commands.enforceOwnerForCommands
boolean
default:"false"
Per channel: memerlukan identitas owner untuk perintah khusus owner. Saat true, pengirim harus cocok dengan commands.ownerAllowFrom atau memiliki cakupan internal operator.admin. Entri wildcard allowFrom tidak cukup.
commands.ownerDisplay
"raw" | "hash"
Mengontrol bagaimana id owner muncul dalam prompt sistem.
commands.ownerDisplaySecret
string
Rahasia HMAC yang digunakan saat commands.ownerDisplay: "hash".
commands.allowFrom
object
Allowlist per provider untuk otorisasi perintah. Saat dikonfigurasi, ini adalah satu-satunya sumber otorisasi untuk perintah dan direktif. Gunakan "*" untuk default global; kunci khusus provider menimpanya.
commands.useAccessGroups
boolean
default:"true"
Menegakkan allowlist/kebijakan untuk perintah saat commands.allowFrom tidak ditetapkan.

Daftar perintah

Perintah berasal dari tiga sumber:
  • Bawaan inti: src/auto-reply/commands-registry.shared.ts
  • Perintah dock yang dihasilkan: src/auto-reply/commands-registry.data.ts
  • Perintah Plugin: panggilan registerCommand() plugin
Ketersediaan bergantung pada flag konfigurasi, surface channel, dan plugin yang terinstal/diaktifkan.

Perintah inti

PerintahDeskripsi
/new [model]Arsipkan sesi saat ini dan mulai yang baru
/reset [soft [message]]Reset sesi saat ini di tempat. soft mempertahankan transkrip, membuang id sesi backend CLI yang digunakan ulang, dan menjalankan ulang startup
/name <title>Beri nama atau ganti nama sesi saat ini. Hilangkan judul untuk melihat nama saat ini dan saran
/compact [instructions]Padatkan konteks sesi. Lihat Compaction
/stopBatalkan run saat ini
/session idle <duration|off>Kelola kedaluwarsa idle thread-binding
/session max-age <duration|off>Kelola kedaluwarsa usia maksimum thread-binding
/export-session [path]Ekspor sesi saat ini ke HTML. Alias: /export
/export-trajectory [path]Ekspor bundle trajectory JSONL untuk sesi saat ini. Alias: /trajectory
Control UI mencegat /new yang diketik untuk membuat dan beralih ke sesi dashboard baru, kecuali ketika session.dmScope: "main" dikonfigurasi dan parent saat ini adalah sesi utama agent — dalam kasus itu /new mereset sesi utama di tempat. /reset yang diketik tetap menjalankan reset di tempat milik Gateway. Gunakan /model default saat Anda ingin menghapus pilihan model sesi yang dipasang pin.
PerintahDeskripsi
/think <level|default>Tetapkan tingkat berpikir atau hapus override sesi. Alias: /thinking, /t
/verbose on|off|fullAktifkan/nonaktifkan output verbose. Alias: /v
/trace on|offAktifkan/nonaktifkan output trace plugin untuk sesi saat ini
/fast [status|auto|on|off|default]Tampilkan, tetapkan, atau hapus mode cepat
/reasoning [on|off|stream]Aktifkan/nonaktifkan visibilitas reasoning. Alias: /reason
/elevated [on|off|ask|full]Aktifkan/nonaktifkan mode elevated. Alias: /elev
/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>Tampilkan atau tetapkan default exec
/login [codex|openai|openai-codex]Pair login Codex/OpenAI dari obrolan privat atau sesi Web UI. Hanya owner/admin
/model [name|#|status]Tampilkan atau tetapkan model
/models [provider] [page] [limit=<n>|all]Cantumkan provider atau model yang dikonfigurasi/tersedia auth
/queue <mode>Kelola perilaku antrean run aktif. Lihat Antrean dan Pengarahan antrean
/steer <message>Injeksi panduan ke dalam run aktif. Alias: /tell. Lihat Steer
  • /verbose untuk debugging — biarkan nonaktif dalam penggunaan normal.
  • /trace hanya mengungkap baris trace/debug milik plugin; obrolan verbose normal tetap nonaktif.
  • /fast auto|on|off mempertahankan override sesi; gunakan opsi inherit di Sessions UI untuk menghapusnya.
  • /fast khusus provider: OpenAI/Codex memetakannya ke service_tier=priority; permintaan Anthropic langsung memetakannya ke service_tier=auto atau standard_only.
  • /reasoning, /verbose, dan /trace berisiko dalam pengaturan grup — ini dapat mengungkap reasoning internal atau diagnostik plugin. Biarkan nonaktif di obrolan grup.
  • /model segera mempertahankan model baru ke sesi.
  • Jika agent idle, run berikutnya langsung menggunakannya.
  • Jika run aktif, penggantian ditandai tertunda dan diterapkan pada titik retry bersih berikutnya.
PerintahDeskripsi
/helpTampilkan ringkasan bantuan singkat
/commandsTampilkan katalog perintah yang dihasilkan
/tools [compact|verbose]Tampilkan apa yang dapat digunakan agent saat ini sekarang
/statusTampilkan status eksekusi/runtime, waktu aktif Gateway dan sistem, kesehatan plugin, plus penggunaan/kuota provider
/status pluginsTampilkan kesehatan plugin terperinci: error pemuatan, karantina, kegagalan channel, masalah dependensi, pemberitahuan kompatibilitas
/goal [status|start|pause|resume|complete|block|clear] ...Kelola tujuan tahan lama sesi saat ini
/diagnostics [note]Alur laporan dukungan khusus owner. Meminta persetujuan exec setiap kali
/crestodian <request>Jalankan pembantu penyiapan dan perbaikan Crestodian dari DM owner
/tasksCantumkan tugas latar belakang aktif/terbaru untuk sesi saat ini
/context [list|detail|map|json]Jelaskan bagaimana konteks disusun
/whoamiTampilkan id pengirim Anda. Alias: /id
/usage off|tokens|full|reset|costKontrol footer penggunaan per respons (reset/inherit/clear/default menghapus override sesi untuk kembali mewarisi default yang dikonfigurasi) atau cetak ringkasan biaya lokal
PerintahDeskripsi
/skill <name> [input]Jalankan skill berdasarkan nama
/allowlist [list|add|remove] ...Kelola entri allowlist. Hanya teks
/approve <id> <decision>Selesaikan prompt persetujuan exec atau plugin
/btw <question>Ajukan pertanyaan sampingan tanpa mengubah konteks sesi. Alias: /side. Lihat BTW
PerintahDeskripsi
/subagents list|log|infoPeriksa proses subagen untuk sesi saat ini
/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|helpKelola sesi ACP dan opsi runtime. Kontrol runtime memerlukan pemilik eksternal atau identitas admin Gateway internal
/focus <target>Ikat thread Discord atau topik Telegram saat ini ke target sesi
/unfocusHapus ikatan thread saat ini
/agentsCantumkan agen yang terikat thread untuk sesi saat ini
PerintahMembutuhkanDeskripsi
/config show|get|set|unsetcommands.config: trueBaca atau tulis openclaw.json. Khusus pemilik
/mcp show|get|set|unsetcommands.mcp: trueBaca atau tulis konfigurasi server MCP yang dikelola OpenClaw. Khusus pemilik
/plugins list|inspect|show|get|install|enable|disablecommands.plugins: truePeriksa atau ubah status plugin. Khusus pemilik untuk penulisan. Alias: /plugin
/debug show|set|unset|resetcommands.debug: truePenggantian konfigurasi khusus runtime. Khusus pemilik
/restartcommands.restart: true (default)Mulai ulang OpenClaw
/send on|off|inheritpemilikAtur kebijakan pengiriman
PerintahDeskripsi
/tts on|off|status|chat|latest|provider|limit|summary|audio|helpKontrol TTS. Lihat TTS
/activation mention|alwaysAtur mode aktivasi grup
/bash <command>Jalankan perintah shell host. Alias: ! <command>. Memerlukan commands.bash: true
!poll [sessionId]Periksa pekerjaan bash latar belakang
!stop [sessionId]Hentikan pekerjaan bash latar belakang

Perintah dock

Perintah dock mengalihkan rute balasan sesi aktif ke saluran tertaut lain. Lihat Channel docking untuk penyiapan dan pemecahan masalah. Dihasilkan dari plugin saluran dengan dukungan perintah native:
  • /dock-discord (alias: /dock_discord)
  • /dock-mattermost (alias: /dock_mattermost)
  • /dock-slack (alias: /dock_slack)
  • /dock-telegram (alias: /dock_telegram)
Perintah dock memerlukan session.identityLinks. Pengirim sumber dan peer target harus berada dalam grup identitas yang sama.

Perintah plugin bawaan

PerintahDeskripsi
/dreaming [on|off|status|help]Aktifkan/nonaktifkan dreaming memori (pemilik atau admin Gateway). Lihat Dreaming
/pair [qr|status|pending|approve|cleanup|notify]Kelola pemasangan perangkat. Lihat Pemasangan
/phone status|arm ...|disarmAktifkan sementara perintah node ponsel berisiko tinggi
/voice status|list|set <voiceId>Kelola konfigurasi suara Talk. Nama native Discord: /talkvoice
/card ...Kirim preset kartu kaya LINE. Lihat LINE
/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skillsKontrol harness server aplikasi Codex. Lihat Harness Codex
Khusus QQBot: /bot-ping, /bot-version, /bot-help, /bot-upgrade, /bot-logs

Perintah Skill

Skill yang dapat dipanggil pengguna diekspos sebagai perintah slash:
  • /skill <name> [input] selalu berfungsi sebagai titik masuk generik.
  • Skills dapat mendaftar sebagai perintah langsung (misalnya /prose untuk OpenProse).
  • Pendaftaran perintah skill native dikontrol oleh commands.nativeSkills dan channels.<provider>.commands.nativeSkills.
  • Nama disanitasi menjadi a-z0-9_ (maks 32 karakter); tabrakan mendapat sufiks numerik.
Secara default, perintah skill dirutekan ke model sebagai permintaan normal.Skills dapat mendeklarasikan command-dispatch: tool untuk merutekan langsung ke alat (deterministik, tanpa keterlibatan model). Contoh: /prose (plugin OpenProse) — lihat OpenProse.
Discord menggunakan pelengkapan otomatis untuk opsi dinamis dan menu tombol saat argumen wajib dihilangkan. Telegram dan Slack menampilkan menu tombol untuk perintah dengan pilihan. Pilihan dinamis diselesaikan terhadap model sesi target, sehingga opsi spesifik model seperti level /think mengikuti penggantian /model milik sesi.

/tools — yang dapat digunakan agen sekarang

/tools menjawab pertanyaan runtime: apa yang dapat digunakan agen ini sekarang dalam percakapan ini — bukan katalog konfigurasi statis.
/tools         # compact view
/tools verbose # with short descriptions
Hasil dicakup per sesi. Mengubah agen, saluran, thread, otorisasi pengirim, atau model dapat mengubah keluaran. Untuk pengeditan profil dan penggantian, gunakan panel Tools di Control UI atau permukaan konfigurasi.

/model — pemilihan model

/model             # show model picker
/model list        # same
/model 3           # select by number from picker
/model openai/gpt-5.4
/model opus@anthropic:default
/model default     # clear the session model selection
/model status      # detailed view with endpoint and API mode
Di Discord, /model dan /models membuka pemilih interaktif dengan dropdown penyedia dan model. Pemilih mematuhi agents.defaults.models, termasuk entri provider/*.

/config — penulisan konfigurasi di disk

Khusus pemilik. Dinonaktifkan secara default — aktifkan dengan commands.config: true.
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
Konfigurasi divalidasi sebelum ditulis. Perubahan tidak valid ditolak. Pembaruan /config bertahan lintas mulai ulang.

/mcp — konfigurasi server MCP

Khusus pemilik. Dinonaktifkan secara default — aktifkan dengan commands.mcp: true.
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
/mcp menyimpan konfigurasi di konfigurasi OpenClaw, bukan di pengaturan proyek agen tersemat.

/debug — penggantian khusus runtime

Khusus pemilik. Dinonaktifkan secara default — aktifkan dengan commands.debug: true. Penggantian langsung berlaku pada pembacaan konfigurasi baru tetapi tidak menulis ke disk.
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

/plugins — manajemen plugin

Khusus pemilik untuk penulisan. Dinonaktifkan secara default — aktifkan dengan commands.plugins: true.
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
/plugins install ./path/to/plugin
/plugins enable|disable memperbarui konfigurasi plugin dan memuat ulang secara panas runtime plugin Gateway untuk giliran agen baru. /plugins install memulai ulang Gateway yang dikelola secara otomatis karena modul sumber plugin berubah.

/trace — keluaran trace plugin

/trace          # show current trace state
/trace on
/trace off
/trace mengungkap baris trace/debug plugin yang dicakup per sesi tanpa mode verbose penuh. Ini tidak menggantikan /debug (penggantian runtime) atau /verbose (keluaran alat normal).

/btw — pertanyaan sampingan

/btw adalah pertanyaan sampingan cepat tentang konteks sesi saat ini. Alias: /side.
/btw what are we doing right now?
/side what changed while the main run continued?
Tidak seperti pesan normal:
  • Menggunakan sesi saat ini sebagai konteks latar belakang.
  • Dalam sesi harness Codex, berjalan sebagai thread sampingan Codex sementara.
  • Tidak mengubah konteks sesi mendatang.
  • Tidak ditulis ke riwayat transkrip.
Lihat Pertanyaan sampingan BTW untuk perilaku lengkap.

Catatan permukaan

  • Perintah teks: berjalan dalam sesi chat normal (DM berbagi main, grup memiliki sesi sendiri).
  • Perintah native Discord: agent:<agentId>:discord:slash:<userId>
  • Perintah native Slack: agent:<agentId>:slack:slash:<userId> (prefiks dapat dikonfigurasi melalui channels.slack.slashCommand.sessionPrefix)
  • Perintah native Telegram: telegram:slash:<userId> (menargetkan sesi chat melalui CommandTargetSessionKey)
  • /login codex mengirim kode pemasangan perangkat hanya melalui chat pribadi atau jalur respons Web UI. Pemanggilan grup/topik Telegram meminta pemilik untuk mengirim DM ke bot sebagai gantinya.
  • /stop menargetkan sesi chat aktif untuk membatalkan proses saat ini.
channels.slack.slashCommand mendukung satu perintah bergaya /openclaw. Dengan commands.native: true, buat satu perintah slash Slack per perintah bawaan. Daftarkan /agentstatus (bukan /status) karena Slack mencadangkan /status. Teks /status tetap berfungsi di pesan Slack.
  • Pesan yang hanya berisi perintah dari pengirim dalam allowlist ditangani segera (melewati antrean + model).
  • Pintasan inline (/help, /commands, /status, /whoami) juga berfungsi saat disematkan dalam pesan normal dan dihapus sebelum model melihat teks sisanya.
  • Pesan yang hanya berisi perintah dari pengirim tanpa otorisasi diabaikan secara diam-diam; token inline /... diperlakukan sebagai teks biasa.
  • Perintah menerima : opsional antara perintah dan argumen (/think: high, /send: on).
  • /new <model> menerima alias model, provider/model, atau nama penyedia (pencocokan fuzzy); jika tidak ada kecocokan, teks diperlakukan sebagai isi pesan.
  • /allowlist add|remove memerlukan commands.config: true dan mematuhi configWrites saluran.

Penggunaan dan status penyedia

  • Penggunaan/kuota penyedia (misalnya, “Claude 80% left”) ditampilkan di /status untuk penyedia model saat ini ketika pelacakan penggunaan diaktifkan.
  • Baris token/cache di /status dapat fallback ke entri penggunaan transkrip terbaru saat snapshot sesi live jarang.
  • Eksekusi vs runtime: /status melaporkan Execution untuk jalur sandbox efektif dan Runtime untuk siapa yang menjalankan sesi: OpenClaw Default, OpenAI Codex, backend CLI, atau backend ACP.
  • Token/biaya per respons: dikontrol oleh /usage off|tokens|full.
  • /model status membahas model/auth/endpoint, bukan penggunaan.

Terkait

Skills

Cara perintah slash skill didaftarkan dan dibatasi.

Membuat skills

Bangun skill yang mendaftarkan perintah slash miliknya sendiri.

BTW

Pertanyaan sampingan tanpa mengubah konteks sesi.

Steer

Pandu agen di tengah proses dengan /steer.