CLI commands
Konfigurasi
Pembantu konfigurasi untuk edit non-interaktif di OmeniaClaw.json: get/set/patch/unset/file/schema/validate nilai berdasarkan path dan mencetak file konfigurasi aktif. Jalankan tanpa subperintah untuk membuka wizard konfigurasi (sama seperti OmeniaClaw configure).
Opsi root
OmeniaClaw_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc2VjdGlvbiA8c2VjdGlvbg
" type="string">
Filter bagian penyiapan terpandu yang dapat diulang saat Anda menjalankan OmeniaClaw config tanpa subperintah.
Bagian terpandu yang didukung: workspace, model, web, gateway, daemon, channels, plugins, skills, health.
Contoh
OmeniaClaw config fileOmeniaClaw config --section modelOmeniaClaw config --section gateway --section daemonOmeniaClaw config schemaOmeniaClaw config get browser.executablePathOmeniaClaw config set browser.executablePath "/usr/bin/google-chrome"OmeniaClaw config set browser.profiles.work.executablePath "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"OmeniaClaw config set agents.defaults.heartbeat.every "2h"OmeniaClaw config set agents.list[0].tools.exec.node "node-id-or-name"OmeniaClaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeOmeniaClaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKENOmeniaClaw config set secrets.providers.vaultfile --provider-source file --provider-path /etc/OmeniaClaw/secrets.json --provider-mode jsonOmeniaClaw config patch --file ./OmeniaClaw.patch.json5 --dry-runOmeniaClaw config unset plugins.entries.brave.config.webSearch.apiKeyOmeniaClaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-runOmeniaClaw config validateOmeniaClaw config validate --jsonconfig schema
Cetak skema JSON yang dihasilkan untuk OmeniaClaw.json ke stdout sebagai JSON.
Yang disertakan
- Skema konfigurasi root saat ini, ditambah field string
$schemaroot untuk tooling editor. - Metadata dokumentasi field
titledandescriptionyang digunakan oleh Control UI. - Node objek bersarang, wildcard (
*), dan item array ([]) mewarisi metadatatitle/descriptionyang sama saat dokumentasi field yang cocok ada. - Cabang
anyOf/oneOf/allOfjuga mewarisi metadata dokumentasi yang sama saat dokumentasi field yang cocok ada. - Metadata skema Plugin + channel live secara best-effort saat manifes runtime dapat dimuat.
- Skema fallback yang bersih bahkan saat konfigurasi saat ini tidak valid.
RPC runtime terkait
config.schema.lookup mengembalikan satu path konfigurasi ternormalisasi dengan node skema dangkal (title, description, type, enum, const, batas umum), metadata petunjuk UI yang cocok, dan ringkasan child langsung. Gunakan ini untuk penelusuran mendalam berbasis path di Control UI atau klien khusus.
OmeniaClaw config schemaPipe ke file saat Anda ingin memeriksa atau memvalidasinya dengan alat lain:
OmeniaClaw config schema > OmeniaClaw.schema.jsonPath
Path menggunakan notasi titik atau kurung siku:
OmeniaClaw config get agents.defaults.workspaceOmeniaClaw config get agents.list[0].idGunakan indeks daftar agent untuk menargetkan agent tertentu:
OmeniaClaw config get agents.listOmeniaClaw config set agents.list[1].tools.exec.node "node-id-or-name"Nilai
Nilai diparse sebagai JSON5 jika memungkinkan; jika tidak, nilai diperlakukan sebagai string. Gunakan --strict-json untuk mewajibkan parsing JSON5. --json tetap didukung sebagai alias lama.
OmeniaClaw config set agents.defaults.heartbeat.every "0m"OmeniaClaw config set gateway.port 19001 --strict-jsonOmeniaClaw config set channels.whatsapp.groups '["*"]' --strict-jsonconfig get <path> --json mencetak nilai mentah sebagai JSON, bukan teks berformat terminal.
Gunakan --merge saat menambahkan entri ke map tersebut:
OmeniaClaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeOmeniaClaw config set models.providers.ollama.models '[{"id":"llama3.2","name":"Llama 3.2"}]' --strict-json --mergeGunakan --replace hanya saat Anda sengaja ingin nilai yang diberikan menjadi nilai target lengkap.
Mode config set
OmeniaClaw config set mendukung empat gaya penetapan:
Mode nilai
OmeniaClaw config set <path> <value>Mode pembuat SecretRef
OmeniaClaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKENMode pembuat provider
Mode pembuat provider hanya menargetkan path secrets.providers.<alias>:
OmeniaClaw config set secrets.providers.vault \ --provider-source exec \ --provider-command /usr/local/bin/OmeniaClaw-vault \ --provider-arg read \ --provider-arg openai/api-key \ --provider-timeout-ms 5000Mode batch
OmeniaClaw config set --batch-json '[ { "path": "secrets.providers.default", "provider": { "source": "env" } }, { "path": "channels.discord.token", "ref": { "source": "env", "provider": "default", "id": "DISCORD_BOT_TOKEN" } }]'OmeniaClaw config set --batch-file ./config-set.batch.json --dry-runParsing batch selalu menggunakan payload batch (--batch-json/--batch-file) sebagai sumber kebenaran. --strict-json / --json tidak mengubah perilaku parsing batch.
config patch
Gunakan config patch saat Anda ingin menempelkan atau melakukan pipe patch berbentuk konfigurasi, bukan menjalankan banyak perintah config set berbasis path. Input berupa objek JSON5. Objek digabungkan secara rekursif, array dan nilai skalar menggantikan nilai target, dan null menghapus path target.
OmeniaClaw config patch --file ./OmeniaClaw.patch.json5 --dry-runOmeniaClaw config patch --file ./OmeniaClaw.patch.json5Anda juga dapat melakukan pipe patch melalui stdin, yang berguna untuk skrip penyiapan jarak jauh:
ssh OmeniaClaw-host 'OmeniaClaw config patch --stdin --dry-run' < ./OmeniaClaw.patch.json5ssh OmeniaClaw-host 'OmeniaClaw config patch --stdin' < ./OmeniaClaw.patch.json5Contoh patch:
{ channels: { slack: { enabled: true, mode: "socket", botToken: { source: "env", provider: "default", id: "SLACK_BOT_TOKEN" }, appToken: { source: "env", provider: "default", id: "SLACK_APP_TOKEN" }, groupPolicy: "open", requireMention: false, }, discord: { enabled: true, token: { source: "env", provider: "default", id: "DISCORD_BOT_TOKEN" }, dmPolicy: "disabled", dm: { enabled: false }, groupPolicy: "allowlist", }, }, agents: { defaults: { model: { primary: "openai/gpt-5.5" }, models: { "openai/gpt-5.5": { params: { fastMode: true } }, }, }, },}Gunakan --replace-path <path> saat satu objek atau array harus menjadi persis nilai yang diberikan, bukan dipatch secara rekursif:
OmeniaClaw config patch --file ./discord.patch.json5 --replace-path 'channels.discord.guilds["123"].channels'--dry-run menjalankan pemeriksaan skema dan keterpecahan SecretRef tanpa menulis. SecretRef berbasis exec dilewati secara default selama dry-run; tambahkan --allow-exec saat Anda sengaja ingin dry-run menjalankan perintah provider.
Mode path/nilai JSON tetap didukung untuk SecretRef dan provider:
OmeniaClaw config set channels.discord.token \ '{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}' \ --strict-json OmeniaClaw config set secrets.providers.vaultfile \ '{"source":"file","path":"/etc/OmeniaClaw/secrets.json","mode":"json"}' \ --strict-jsonFlag pembuat provider
Target pembuat provider harus menggunakan secrets.providers.<alias> sebagai path.
Flag umum
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Provider env (--provider-source env)
--provider-allowlist <ENV_VAR>(dapat diulang)
Provider file (--provider-source file)
--provider-path <path>(wajib)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
Provider exec (--provider-source exec)
--provider-command <path>(wajib)--provider-arg <arg>(dapat diulang)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(dapat diulang)--provider-pass-env <ENV_VAR>(dapat diulang)--provider-trusted-dir <path>(dapat diulang)--provider-allow-insecure-path--provider-allow-symlink-command
Contoh provider exec yang diperkeras:
OmeniaClaw config set secrets.providers.vault \ --provider-source exec \ --provider-command /usr/local/bin/OmeniaClaw-vault \ --provider-arg read \ --provider-arg openai/api-key \ --provider-json-only \ --provider-pass-env VAULT_TOKEN \ --provider-trusted-dir /usr/local/bin \ --provider-timeout-ms 5000Dry run
Gunakan --dry-run untuk memvalidasi perubahan tanpa menulis OmeniaClaw.json.
OmeniaClaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKEN \ --dry-run OmeniaClaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKEN \ --dry-run \ --json OmeniaClaw config set channels.discord.token \ --ref-provider vault \ --ref-source exec \ --ref-id discord/token \ --dry-run \ --allow-execPerilaku dry-run
- Mode pembuat: menjalankan pemeriksaan keterpecahan SecretRef untuk ref/provider yang berubah.
- Mode JSON (
--strict-json,--json, atau mode batch): menjalankan validasi skema plus pemeriksaan keterpecahan SecretRef. - Validasi kebijakan juga berjalan untuk surface target SecretRef yang diketahui tidak didukung.
- Pemeriksaan kebijakan mengevaluasi konfigurasi penuh setelah perubahan, sehingga penulisan objek induk (misalnya menetapkan
hookssebagai objek) tidak dapat melewati validasi surface yang tidak didukung. - Pemeriksaan SecretRef exec dilewati secara default selama dry-run untuk menghindari efek samping perintah.
- Gunakan
--allow-execdengan--dry-rununtuk memilih ikut pemeriksaan SecretRef exec (ini dapat mengeksekusi perintah provider). --allow-exechanya untuk dry-run dan error jika digunakan tanpa--dry-run.
Field --dry-run --json
--dry-run --json mencetak laporan yang dapat dibaca mesin:
ok: apakah dry-run berhasiloperations: jumlah penetapan yang dievaluasichecks: apakah pemeriksaan skema/resolvability dijalankanchecks.resolvabilityComplete: apakah pemeriksaan resolvability berjalan sampai selesai (false ketika ref exec dilewati)refsChecked: jumlah ref yang benar-benar diselesaikan selama dry-runskippedExecRefs: jumlah ref exec yang dilewati karena--allow-exectidak ditetapkanerrors: kegagalan skema/resolvability terstruktur ketikaok=false
Bentuk keluaran JSON
{ ok: boolean, operations: number, configPath: string, inputModes: ["value" | "json" | "builder", ...], checks: { schema: boolean, resolvability: boolean, resolvabilityComplete: boolean, }, refsChecked: number, skippedExecRefs: number, errors?: [ { kind: "schema" | "resolvability", message: string, ref?: string, // present for resolvability errors }, ],}Contoh berhasil
{ "ok": true, "operations": 1, "configPath": "~/.OmeniaClaw/OmeniaClaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0}Contoh gagal
{ "ok": false, "operations": 1, "configPath": "~/.OmeniaClaw/OmeniaClaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0, "errors": [ { "kind": "resolvability", "message": "Error: Environment variable \"MISSING_TEST_SECRET\" is not set.", "ref": "env:default:MISSING_TEST_SECRET" } ]}Jika dry-run gagal
config schema validation failed: bentuk config setelah perubahan tidak valid; perbaiki jalur/nilai atau bentuk objek provider/ref.Config policy validation failed: unsupported SecretRef usage: pindahkan kredensial itu kembali ke input teks biasa/string dan pertahankan SecretRef hanya pada permukaan yang didukung.SecretRef assignment(s) could not be resolved: provider/ref yang direferensikan saat ini tidak dapat diselesaikan (env var hilang, pointer file tidak valid, kegagalan provider exec, atau ketidakcocokan provider/sumber).Dry run note: skipped <n> exec SecretRef resolvability check(s): dry-run melewati ref exec; jalankan ulang dengan--allow-execjika Anda memerlukan validasi resolvability exec.- Untuk mode batch, perbaiki entri yang gagal dan jalankan ulang
--dry-runsebelum menulis.
Keamanan tulis
OmeniaClaw config set dan penulis config milik OmeniaClaw lainnya memvalidasi seluruh config setelah perubahan sebelum mengirimkannya ke disk. Jika payload baru gagal validasi skema atau terlihat seperti penimpaan yang destruktif, config aktif dibiarkan tetap ada dan payload yang ditolak disimpan di sampingnya sebagai OmeniaClaw.json.rejected.*.
Utamakan penulisan CLI untuk edit kecil:
OmeniaClaw config set gateway.reload.mode hybrid --dry-runOmeniaClaw config set gateway.reload.mode hybridOmeniaClaw config validateJika penulisan ditolak, periksa payload yang disimpan dan perbaiki bentuk config lengkapnya:
CONFIG="$(OmeniaClaw config file)"ls -lt "$CONFIG".rejected.* 2>/dev/null | headOmeniaClaw config validatePenulisan langsung dengan editor tetap diizinkan, tetapi Gateway yang berjalan memperlakukannya sebagai tidak tepercaya sampai tervalidasi. Edit langsung yang tidak valid menggagalkan startup atau dilewati oleh hot reload; Gateway tidak menulis ulang OmeniaClaw.json. Jalankan OmeniaClaw doctor --fix untuk memperbaiki config yang berprefiks/tertimpah atau memulihkan salinan terakhir yang diketahui baik. Lihat Pemecahan masalah Gateway.
Pemulihan seluruh file dikhususkan untuk perbaikan doctor. Perubahan skema Plugin atau ketidaksesuaian minHostVersion tetap ditampilkan jelas alih-alih mengembalikan pengaturan pengguna yang tidak terkait seperti model, provider, profil auth, channel, paparan gateway, tool, memory, browser, atau config cron.
Subperintah
config file: Cetak jalur file config aktif (diselesaikan dariOmeniaClaw_CONFIG_PATHatau lokasi default). Jalur tersebut harus menunjuk ke file reguler, bukan symlink.
Mulai ulang gateway setelah pengeditan.
Validasi
Validasi config saat ini terhadap skema aktif tanpa memulai gateway.
OmeniaClaw config validateOmeniaClaw config validate --jsonSetelah OmeniaClaw config validate berhasil, Anda dapat menggunakan TUI lokal agar agen tertanam membandingkan config aktif dengan dokumen saat Anda memvalidasi setiap perubahan dari terminal yang sama:
OmeniaClaw chatLalu di dalam TUI:
!OmeniaClaw config file!OmeniaClaw docs gateway auth token secretref!OmeniaClaw config validate!OmeniaClaw doctorLoop perbaikan umum:
Bandingkan dengan dokumen
Minta agen membandingkan config Anda saat ini dengan halaman dokumen yang relevan dan menyarankan perbaikan terkecil.
Terapkan edit tertarget
Terapkan edit tertarget dengan OmeniaClaw config set atau OmeniaClaw configure.
Validasi ulang
Jalankan ulang OmeniaClaw config validate setelah setiap perubahan.
Doctor untuk masalah runtime
Jika validasi berhasil tetapi runtime masih tidak sehat, jalankan OmeniaClaw doctor atau OmeniaClaw doctor --fix untuk bantuan migrasi dan perbaikan.