CLI commands
Konfiguracja
Pomocnicze narzędzia konfiguracji do nieinteraktywnych edycji w OmeniaClaw.json: pobieranie/ustawianie/łatanie/usuwanie/plik/schemat/walidacja wartości według ścieżki oraz wypisywanie aktywnego pliku konfiguracji. Uruchom bez podkomendy, aby otworzyć kreator konfiguracji (tak samo jak OmeniaClaw configure).
Opcje główne
OmeniaClaw_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc2VjdGlvbiA8c2VjdGlvbg
" type="string">
Powtarzalny filtr sekcji konfiguracji prowadzonej, gdy uruchamiasz OmeniaClaw config bez podkomendy.
Obsługiwane sekcje konfiguracji prowadzonej: workspace, model, web, gateway, daemon, channels, plugins, skills, health.
Przykłady
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
Wypisz wygenerowany schemat JSON dla OmeniaClaw.json na stdout jako JSON.
Co zawiera
- Bieżący główny schemat konfiguracji oraz główne pole ciągu znaków
$schemadla narzędzi edytora. - Metadane dokumentacji pól
titleidescriptionużywane przez Control UI. - Zagnieżdżone obiekty, wildcard (
*) i węzły elementów tablicy ([]) dziedziczą te same metadanetitle/description, gdy istnieje pasująca dokumentacja pola. - Gałęzie
anyOf/oneOf/allOfrównież dziedziczą te same metadane dokumentacji, gdy istnieje pasująca dokumentacja pola. - Metadane schematu Plugin + kanału w trybie best-effort na żywo, gdy można wczytać manifesty środowiska uruchomieniowego.
- Czysty schemat awaryjny nawet wtedy, gdy bieżąca konfiguracja jest nieprawidłowa.
Powiązane RPC środowiska uruchomieniowego
config.schema.lookup zwraca jedną znormalizowaną ścieżkę konfiguracji z płytkim węzłem schematu (title, description, type, enum, const, typowe ograniczenia), dopasowanymi metadanymi wskazówek UI oraz podsumowaniami bezpośrednich elementów podrzędnych. Użyj go do zagłębiania się według ścieżki w Control UI lub klientach niestandardowych.
OmeniaClaw config schemaPrzekieruj wynik do pliku, gdy chcesz go sprawdzić lub zwalidować innymi narzędziami:
OmeniaClaw config schema > OmeniaClaw.schema.jsonŚcieżki
Ścieżki używają notacji kropkowej lub nawiasowej:
OmeniaClaw config get agents.defaults.workspaceOmeniaClaw config get agents.list[0].idUżyj indeksu listy agentów, aby wskazać konkretnego agenta:
OmeniaClaw config get agents.listOmeniaClaw config set agents.list[1].tools.exec.node "node-id-or-name"Wartości
Wartości są analizowane jako JSON5, gdy to możliwe; w przeciwnym razie są traktowane jako ciągi znaków. Użyj --strict-json, aby wymagać analizy JSON5. --json pozostaje obsługiwany jako starszy alias.
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 wypisuje surową wartość jako JSON zamiast tekstu formatowanego dla terminala.
Użyj --merge, gdy dodajesz wpisy do tych map:
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 --mergeUżyj --replace tylko wtedy, gdy celowo chcesz, aby podana wartość stała się pełną wartością docelową.
Tryby config set
OmeniaClaw config set obsługuje cztery style przypisania:
Tryb wartości
OmeniaClaw config set <path> <value>Tryb konstruktora SecretRef
OmeniaClaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKENTryb konstruktora dostawcy
Tryb konstruktora dostawcy celuje wyłącznie w ścieżki 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 5000Tryb wsadowy
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-runAnaliza wsadowa zawsze używa ładunku wsadowego (--batch-json/--batch-file) jako źródła prawdy. --strict-json / --json nie zmieniają zachowania analizy wsadowej.
config patch
Użyj config patch, gdy chcesz wkleić lub przesłać potokiem łatkę w kształcie konfiguracji zamiast uruchamiać wiele poleceń config set opartych na ścieżkach. Wejście jest obiektem JSON5. Obiekty są scalane rekurencyjnie, tablice i wartości skalarne zastępują wartość docelową, a null usuwa ścieżkę docelową.
OmeniaClaw config patch --file ./OmeniaClaw.patch.json5 --dry-runOmeniaClaw config patch --file ./OmeniaClaw.patch.json5Możesz też przesłać łatkę potokiem przez stdin, co jest przydatne w zdalnych skryptach konfiguracji:
ssh OmeniaClaw-host 'OmeniaClaw config patch --stdin --dry-run' < ./OmeniaClaw.patch.json5ssh OmeniaClaw-host 'OmeniaClaw config patch --stdin' < ./OmeniaClaw.patch.json5Przykładowa łatka:
{ 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 } }, }, }, },}Użyj --replace-path <path>, gdy jeden obiekt lub tablica musi stać się dokładnie podaną wartością zamiast być łatana rekurencyjnie:
OmeniaClaw config patch --file ./discord.patch.json5 --replace-path 'channels.discord.guilds["123"].channels'--dry-run uruchamia kontrole schematu i rozwiązywalności SecretRef bez zapisu. SecretRef oparte na exec są domyślnie pomijane podczas próby na sucho; dodaj --allow-exec, gdy celowo chcesz, aby próba na sucho wykonała polecenia dostawcy.
Tryb ścieżki/wartości JSON pozostaje obsługiwany zarówno dla SecretRef, jak i dostawców:
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-jsonFlagi konstruktora dostawcy
Cele konstruktora dostawcy muszą używać secrets.providers.<alias> jako ścieżki.
Typowe flagi
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Dostawca env (--provider-source env)
--provider-allowlist <ENV_VAR>(powtarzalne)
Dostawca plikowy (--provider-source file)
--provider-path <path>(wymagane)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
Dostawca exec (--provider-source exec)
--provider-command <path>(wymagane)--provider-arg <arg>(powtarzalne)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(powtarzalne)--provider-pass-env <ENV_VAR>(powtarzalne)--provider-trusted-dir <path>(powtarzalne)--provider-allow-insecure-path--provider-allow-symlink-command
Przykład wzmocnionego dostawcy exec:
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 5000Próba na sucho
Użyj --dry-run, aby zwalidować zmiany bez zapisywania 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-execZachowanie próby na sucho
- Tryb konstruktora: uruchamia kontrole rozwiązywalności SecretRef dla zmienionych referencji/dostawców.
- Tryb JSON (
--strict-json,--jsonlub tryb wsadowy): uruchamia walidację schematu oraz kontrole rozwiązywalności SecretRef. - Walidacja zasad działa również dla znanych nieobsługiwanych powierzchni docelowych SecretRef.
- Kontrole zasad oceniają pełną konfigurację po zmianie, więc zapisy obiektu nadrzędnego (na przykład ustawienie
hooksjako obiektu) nie mogą ominąć walidacji nieobsługiwanej powierzchni. - Kontrole SecretRef typu exec są domyślnie pomijane podczas próby na sucho, aby uniknąć skutków ubocznych poleceń.
- Użyj
--allow-execz--dry-run, aby włączyć kontrole SecretRef typu exec (może to wykonać polecenia dostawcy). --allow-execdziała tylko przy próbie na sucho i zgłasza błąd, jeśli zostanie użyte bez--dry-run.
Pola --dry-run --json
--dry-run --json wypisuje raport czytelny maszynowo:
ok: czy dry-run zakończył się powodzeniemoperations: liczba ocenionych przypisańchecks: czy uruchomiono kontrole schematu/rozwiązywalnościchecks.resolvabilityComplete: czy kontrole rozwiązywalności dobiegły końca (false, gdy odwołania exec są pomijane)refsChecked: liczba odwołań faktycznie rozwiązanych podczas dry-runskippedExecRefs: liczba odwołań exec pominiętych, ponieważ nie ustawiono--allow-execerrors: ustrukturyzowane błędy schematu/rozwiązywalności, gdyok=false
Kształt danych wyjściowych 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 }, ],}Przykład powodzenia
{ "ok": true, "operations": 1, "configPath": "~/.OmeniaClaw/OmeniaClaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0}Przykład niepowodzenia
{ "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" } ]}Jeśli dry-run się nie powiedzie
config schema validation failed: kształt konfiguracji po zmianie jest nieprawidłowy; popraw ścieżkę/wartość albo kształt obiektu provider/ref.Config policy validation failed: unsupported SecretRef usage: przenieś te dane uwierzytelniające z powrotem do wejścia zwykłym tekstem/ciągiem i pozostaw SecretRefs tylko na obsługiwanych powierzchniach.SecretRef assignment(s) could not be resolved: wskazany provider/ref nie może obecnie zostać rozwiązany (brakująca zmienna środowiskowa, nieprawidłowy wskaźnik pliku, awaria providera exec albo niezgodność providera/źródła).Dry run note: skipped <n> exec SecretRef resolvability check(s): dry-run pominął odwołania exec; uruchom ponownie z--allow-exec, jeśli potrzebujesz walidacji rozwiązywalności exec.- W trybie wsadowym popraw błędne wpisy i uruchom ponownie
--dry-runprzed zapisem.
Bezpieczeństwo zapisu
OmeniaClaw config set i inne narzędzia zapisujące konfigurację należące do OmeniaClaw walidują pełną konfigurację po zmianie przed zapisaniem jej na dysku. Jeśli nowy ładunek nie przejdzie walidacji schematu albo wygląda jak destrukcyjne nadpisanie, aktywna konfiguracja pozostaje bez zmian, a odrzucony ładunek zostaje zapisany obok niej jako OmeniaClaw.json.rejected.*.
Preferuj zapisy przez CLI przy małych zmianach:
OmeniaClaw config set gateway.reload.mode hybrid --dry-runOmeniaClaw config set gateway.reload.mode hybridOmeniaClaw config validateJeśli zapis zostanie odrzucony, sprawdź zapisany ładunek i popraw pełny kształt konfiguracji:
CONFIG="$(OmeniaClaw config file)"ls -lt "$CONFIG".rejected.* 2>/dev/null | headOmeniaClaw config validateBezpośrednie zapisy w edytorze nadal są dozwolone, ale uruchomiony Gateway traktuje je jako niezaufane, dopóki nie przejdą walidacji. Nieprawidłowe bezpośrednie edycje powodują błąd uruchamiania albo są pomijane przez przeładowanie na gorąco; Gateway nie przepisuje OmeniaClaw.json. Uruchom OmeniaClaw doctor --fix, aby naprawić konfigurację z prefiksem/nadpisaną albo przywrócić ostatnią znaną dobrą kopię. Zobacz rozwiązywanie problemów z Gateway.
Odzyskiwanie całego pliku jest zarezerwowane dla naprawy przez doctor. Zmiany schematu Plugin lub rozbieżność minHostVersion pozostają głośne zamiast wycofywać niepowiązane ustawienia użytkownika, takie jak modele, providerzy, profile uwierzytelniania, kanały, ekspozycja Gateway, narzędzia, pamięć, przeglądarka czy konfiguracja cron.
Podkomendy
config file: Wypisuje ścieżkę aktywnego pliku konfiguracji (rozwiązaną zOmeniaClaw_CONFIG_PATHalbo domyślnej lokalizacji). Ścieżka powinna wskazywać zwykły plik, a nie dowiązanie symboliczne.
Uruchom ponownie gateway po zmianach.
Walidacja
Zweryfikuj bieżącą konfigurację względem aktywnego schematu bez uruchamiania gateway.
OmeniaClaw config validateOmeniaClaw config validate --jsonGdy OmeniaClaw config validate przechodzi poprawnie, możesz użyć lokalnego TUI, aby osadzony agent porównał aktywną konfigurację z dokumentacją, podczas gdy walidujesz każdą zmianę z tego samego terminala:
OmeniaClaw chatNastępnie wewnątrz TUI:
!OmeniaClaw config file!OmeniaClaw docs gateway auth token secretref!OmeniaClaw config validate!OmeniaClaw doctorTypowa pętla naprawy:
Porównaj z dokumentacją
Poproś agenta o porównanie bieżącej konfiguracji z odpowiednią stroną dokumentacji i zaproponowanie najmniejszej poprawki.
Zastosuj ukierunkowane edycje
Zastosuj ukierunkowane edycje za pomocą OmeniaClaw config set albo OmeniaClaw configure.
Zweryfikuj ponownie
Uruchom ponownie OmeniaClaw config validate po każdej zmianie.
Doctor przy problemach w czasie działania
Jeśli walidacja przechodzi, ale środowisko wykonawcze nadal jest niezdrowe, uruchom OmeniaClaw doctor albo OmeniaClaw doctor --fix, aby uzyskać pomoc przy migracji i naprawie.