CLI commands

การกำหนดค่า

ตัวช่วยการกำหนดค่าสำหรับการแก้ไขแบบไม่โต้ตอบใน OmeniaClaw.json: get/set/patch/unset/file/schema/validate ค่าตามพาธ และแสดงไฟล์ config ที่ใช้งานอยู่ เรียกใช้โดยไม่มีคำสั่งย่อยเพื่อเปิดตัวช่วยกำหนดค่า (เหมือนกับ OmeniaClaw configure)

ตัวเลือกระดับราก

OmeniaClaw_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc2VjdGlvbiA8c2VjdGlvbg " type="string"> ตัวกรองส่วนของการตั้งค่าแบบมีคำแนะนำที่ระบุซ้ำได้ เมื่อคุณเรียกใช้ OmeniaClaw config โดยไม่มีคำสั่งย่อย

ส่วนแบบมีคำแนะนำที่รองรับ: workspace, model, web, gateway, daemon, channels, plugins, skills, health

ตัวอย่าง

bash
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 --json

config schema

แสดง JSON schema ที่สร้างขึ้นสำหรับ OmeniaClaw.json ไปยัง stdout เป็น JSON

สิ่งที่รวมอยู่
  • สคีมา config ระดับรากปัจจุบัน พร้อมฟิลด์สตริง $schema ระดับรากสำหรับเครื่องมือแก้ไข
  • เมตาดาทาเอกสาร title และ description ของฟิลด์ที่ Control UI ใช้
  • โหนดออบเจ็กต์ซ้อน, wildcard (*) และรายการอาร์เรย์ ([]) จะสืบทอดเมตาดาทา title / description เดียวกันเมื่อมีเอกสารฟิลด์ที่ตรงกัน
  • สาขา anyOf / oneOf / allOf จะสืบทอดเมตาดาทาเอกสารเดียวกันด้วยเมื่อมีเอกสารฟิลด์ที่ตรงกัน
  • เมตาดาทาสคีมาของ Plugin + ช่องทางแบบสดเท่าที่ทำได้ เมื่อสามารถโหลด manifest ของ runtime ได้
  • สคีมาสำรองที่สะอาด แม้ config ปัจจุบันจะไม่ถูกต้อง
RPC ของ runtime ที่เกี่ยวข้อง

config.schema.lookup คืนพาธ config ที่ทำให้เป็นรูปแบบมาตรฐานแล้วหนึ่งพาธ พร้อมโหนดสคีมาแบบตื้น (title, description, type, enum, const, ขอบเขตทั่วไป), เมตาดาทาคำใบ้ UI ที่ตรงกัน และสรุปลูกโดยตรง ใช้สำหรับการเจาะลึกแบบจำกัดตามพาธใน Control UI หรือไคลเอนต์กำหนดเอง

bash
OmeniaClaw config schema

ส่งผ่าน pipe ไปยังไฟล์เมื่อคุณต้องการตรวจสอบหรือตรวจสอบความถูกต้องด้วยเครื่องมืออื่น:

bash
OmeniaClaw config schema > OmeniaClaw.schema.json

พาธ

พาธใช้รูปแบบ dot หรือ bracket:

bash
OmeniaClaw config get agents.defaults.workspaceOmeniaClaw config get agents.list[0].id

ใช้ดัชนีรายการเอเจนต์เพื่อเจาะจงเอเจนต์ตัวใดตัวหนึ่ง:

bash
OmeniaClaw config get agents.listOmeniaClaw config set agents.list[1].tools.exec.node "node-id-or-name"

ค่า

ค่าจะถูกแยกวิเคราะห์เป็น JSON5 เมื่อทำได้ มิฉะนั้นจะถือว่าเป็นสตริง ใช้ --strict-json เพื่อบังคับให้ต้องแยกวิเคราะห์ JSON5 --json ยังรองรับอยู่ในฐานะนามแฝงแบบเดิม

bash
OmeniaClaw config set agents.defaults.heartbeat.every "0m"OmeniaClaw config set gateway.port 19001 --strict-jsonOmeniaClaw config set channels.whatsapp.groups '["*"]' --strict-json

config get <path> --json แสดงค่าดิบเป็น JSON แทนข้อความที่จัดรูปแบบสำหรับเทอร์มินัล

ใช้ --merge เมื่อเพิ่มรายการลงใน map เหล่านั้น:

bash
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 --merge

ใช้ --replace เฉพาะเมื่อคุณตั้งใจให้ค่าที่ระบุกลายเป็นค่าเป้าหมายทั้งหมด

โหมดของ config set

OmeniaClaw config set รองรับรูปแบบการกำหนดค่าสี่แบบ:

โหมดค่า

bash
OmeniaClaw config set <path> <value>

โหมดตัวสร้าง SecretRef

bash
OmeniaClaw config set channels.discord.token \  --ref-provider default \  --ref-source env \  --ref-id DISCORD_BOT_TOKEN

โหมดตัวสร้างผู้ให้บริการ

โหมดตัวสร้างผู้ให้บริการเจาะจงเฉพาะพาธ secrets.providers.<alias> เท่านั้น:

bash
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 5000

โหมดแบตช์

bash
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" }  }]'
bash
OmeniaClaw config set --batch-file ./config-set.batch.json --dry-run

การแยกวิเคราะห์แบบแบตช์จะใช้ payload แบตช์ (--batch-json/--batch-file) เป็นแหล่งข้อมูลอ้างอิงหลักเสมอ --strict-json / --json ไม่เปลี่ยนพฤติกรรมการแยกวิเคราะห์แบบแบตช์

config patch

ใช้ config patch เมื่อคุณต้องการวางหรือ pipe แพตช์ที่มีโครงสร้างแบบ config แทนการเรียกใช้คำสั่ง config set แบบอิงพาธจำนวนมาก อินพุตเป็นออบเจ็กต์ JSON5 ออบเจ็กต์จะ merge แบบ recursive ส่วนอาร์เรย์และค่าสเกลาร์จะแทนที่ค่าเป้าหมาย และ null จะลบพาธเป้าหมาย

bash
OmeniaClaw config patch --file ./OmeniaClaw.patch.json5 --dry-runOmeniaClaw config patch --file ./OmeniaClaw.patch.json5

คุณยังสามารถ pipe แพตช์ผ่าน stdin ได้ ซึ่งมีประโยชน์สำหรับสคริปต์ตั้งค่าระยะไกล:

bash
ssh OmeniaClaw-host 'OmeniaClaw config patch --stdin --dry-run' < ./OmeniaClaw.patch.json5ssh OmeniaClaw-host 'OmeniaClaw config patch --stdin' < ./OmeniaClaw.patch.json5

ตัวอย่างแพตช์:

json5
{  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 } },      },    },  },}

ใช้ --replace-path <path> เมื่อออบเจ็กต์หรืออาร์เรย์หนึ่งต้องกลายเป็นค่าที่ระบุแบบตรงทั้งหมด แทนที่จะถูกแพตช์แบบ recursive:

bash
OmeniaClaw config patch --file ./discord.patch.json5 --replace-path 'channels.discord.guilds["123"].channels'

--dry-run รันการตรวจสอบสคีมาและการตรวจสอบว่า SecretRef สามารถ resolve ได้โดยไม่เขียนข้อมูล SecretRef ที่อิง exec จะถูกข้ามโดยค่าเริ่มต้นระหว่างการรันแบบทดลอง เพิ่ม --allow-exec เมื่อคุณตั้งใจให้การรันแบบทดลองเรียกใช้คำสั่งของผู้ให้บริการ

โหมดพาธ/ค่าแบบ JSON ยังคงรองรับทั้ง SecretRef และผู้ให้บริการ:

bash
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-json

แฟล็กของตัวสร้างผู้ให้บริการ

เป้าหมายของตัวสร้างผู้ให้บริการต้องใช้ secrets.providers.<alias> เป็นพาธ

แฟล็กทั่วไป
  • --provider-source <env|file|exec>
  • --provider-timeout-ms <ms> (file, exec)
ผู้ให้บริการ env (--provider-source env)
  • --provider-allowlist &lt;ENV_VAR&gt; (ระบุซ้ำได้)
ผู้ให้บริการไฟล์ (--provider-source file)
  • --provider-path <path> (จำเป็น)
  • --provider-mode <singleValue|json>
  • --provider-max-bytes <bytes>
  • --provider-allow-insecure-path
ผู้ให้บริการ exec (--provider-source exec)
  • --provider-command <path> (จำเป็น)
  • --provider-arg <arg> (ระบุซ้ำได้)
  • --provider-no-output-timeout-ms <ms>
  • --provider-max-output-bytes <bytes>
  • --provider-json-only
  • --provider-env &lt;KEY=VALUE&gt; (ระบุซ้ำได้)
  • --provider-pass-env &lt;ENV_VAR&gt; (ระบุซ้ำได้)
  • --provider-trusted-dir <path> (ระบุซ้ำได้)
  • --provider-allow-insecure-path
  • --provider-allow-symlink-command

ตัวอย่างผู้ให้บริการ exec ที่เสริมความปลอดภัย:

bash
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 5000

การรันแบบทดลอง

ใช้ --dry-run เพื่อตรวจสอบความถูกต้องของการเปลี่ยนแปลงโดยไม่เขียน OmeniaClaw.json

bash
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-exec
พฤติกรรมของการรันแบบทดลอง
  • โหมดตัวสร้าง: รันการตรวจสอบว่า SecretRef สามารถ resolve ได้สำหรับ refs/providers ที่เปลี่ยน
  • โหมด JSON (--strict-json, --json หรือโหมดแบตช์): รันการตรวจสอบสคีมา พร้อมการตรวจสอบว่า SecretRef สามารถ resolve ได้
  • การตรวจสอบนโยบายจะรันสำหรับพื้นผิวเป้าหมาย SecretRef ที่ทราบว่าไม่รองรับด้วย
  • การตรวจสอบนโยบายจะประเมิน config ทั้งหมดหลังการเปลี่ยนแปลง ดังนั้นการเขียนออบเจ็กต์แม่ (เช่น การตั้งค่า hooks เป็นออบเจ็กต์) จึงไม่สามารถเลี่ยงการตรวจสอบพื้นผิวที่ไม่รองรับได้
  • การตรวจสอบ SecretRef แบบ exec จะถูกข้ามโดยค่าเริ่มต้นระหว่างการรันแบบทดลองเพื่อหลีกเลี่ยงผลข้างเคียงของคำสั่ง
  • ใช้ --allow-exec ร่วมกับ --dry-run เพื่อเลือกเปิดใช้การตรวจสอบ SecretRef แบบ exec (อาจเรียกใช้คำสั่งของผู้ให้บริการ)
  • --allow-exec ใช้ได้เฉพาะการรันแบบทดลองเท่านั้น และจะเกิดข้อผิดพลาดหากใช้โดยไม่มี --dry-run
ฟิลด์ของ --dry-run --json

--dry-run --json แสดงรายงานที่เครื่องอ่านได้:

  • ok: ระบุว่าการทดลองรันผ่านหรือไม่
  • operations: จำนวนการกำหนดค่าที่ประเมิน
  • checks: ระบุว่ามีการตรวจสอบสคีมา/การ resolve หรือไม่
  • checks.resolvabilityComplete: ระบุว่าการตรวจสอบการ resolve ทำงานจนเสร็จสมบูรณ์หรือไม่ (เป็น false เมื่อข้าม refs แบบ exec)
  • refsChecked: จำนวน refs ที่ resolve จริงระหว่างการทดลองรัน
  • skippedExecRefs: จำนวน refs แบบ exec ที่ข้ามเพราะไม่ได้ตั้งค่า --allow-exec
  • errors: ความล้มเหลวของสคีมา/การ resolve แบบมีโครงสร้างเมื่อ ok=false

รูปแบบเอาต์พุต JSON

json5
{  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    },  ],}

ตัวอย่างสำเร็จ

json
{  "ok": true,  "operations": 1,  "configPath": "~/.OmeniaClaw/OmeniaClaw.json",  "inputModes": ["builder"],  "checks": {    "schema": false,    "resolvability": true,    "resolvabilityComplete": true  },  "refsChecked": 1,  "skippedExecRefs": 0}

ตัวอย่างล้มเหลว

json
{  "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"    }  ]}
หากการทดลองรันล้มเหลว
  • config schema validation failed: รูปแบบคอนฟิกหลังการเปลี่ยนแปลงของคุณไม่ถูกต้อง ให้แก้พาธ/ค่า หรือรูปแบบออบเจ็กต์ provider/ref
  • Config policy validation failed: unsupported SecretRef usage: ย้าย credential นั้นกลับไปเป็นอินพุตแบบข้อความธรรมดา/string และใช้ SecretRefs เฉพาะบนพื้นผิวที่รองรับเท่านั้น
  • SecretRef assignment(s) could not be resolved: provider/ref ที่อ้างอิงอยู่ไม่สามารถ resolve ได้ในขณะนี้ (env var หายไป, ตัวชี้ไฟล์ไม่ถูกต้อง, provider แบบ exec ล้มเหลว หรือ provider/source ไม่ตรงกัน)
  • Dry run note: skipped <n> exec SecretRef resolvability check(s): การทดลองรันข้าม refs แบบ exec ให้รันซ้ำพร้อม --allow-exec หากคุณต้องตรวจสอบการ resolve แบบ exec
  • สำหรับโหมด batch ให้แก้รายการที่ล้มเหลวแล้วรัน --dry-run อีกครั้งก่อนเขียน

ความปลอดภัยในการเขียน

OmeniaClaw config set และตัวเขียนคอนฟิกอื่นที่ OmeniaClaw เป็นเจ้าของจะตรวจสอบคอนฟิกเต็มรูปแบบหลังการเปลี่ยนแปลงก่อนบันทึกลงดิสก์ หาก payload ใหม่ไม่ผ่านการตรวจสอบสคีมาหรือดูเหมือนเป็นการเขียนทับที่ทำลายข้อมูล คอนฟิกที่ใช้งานอยู่จะถูกปล่อยไว้เหมือนเดิม และ payload ที่ถูกปฏิเสธจะถูกบันทึกไว้ข้างกันเป็น OmeniaClaw.json.rejected.*

ควรใช้ CLI เขียนสำหรับการแก้ไขขนาดเล็ก:

bash
OmeniaClaw config set gateway.reload.mode hybrid --dry-runOmeniaClaw config set gateway.reload.mode hybridOmeniaClaw config validate

หากการเขียนถูกปฏิเสธ ให้ตรวจสอบ payload ที่บันทึกไว้และแก้รูปแบบคอนฟิกทั้งหมด:

bash
CONFIG="$(OmeniaClaw config file)"ls -lt "$CONFIG".rejected.* 2>/dev/null | headOmeniaClaw config validate

ยังอนุญาตให้เขียนโดยตรงด้วย editor ได้ แต่ Gateway ที่กำลังทำงานจะถือว่าไม่เชื่อถือจนกว่าจะตรวจสอบผ่าน การแก้ไขโดยตรงที่ไม่ถูกต้องจะทำให้การเริ่มต้นล้มเหลวหรือถูกข้ามโดย hot reload; Gateway จะไม่เขียน OmeniaClaw.json ใหม่ รัน OmeniaClaw doctor --fix เพื่อซ่อมคอนฟิกที่มี prefix/ถูกเขียนทับ หรือกู้คืนสำเนาที่ทราบว่าดีล่าสุด ดู การแก้ปัญหา Gateway

การกู้คืนทั้งไฟล์สงวนไว้สำหรับการซ่อมด้วย doctor การเปลี่ยนแปลงสคีมาของ Plugin หรือความคลาดเคลื่อนของ minHostVersion จะยังแสดงข้อผิดพลาดอย่างชัดเจนแทนที่จะย้อนกลับการตั้งค่าของผู้ใช้ที่ไม่เกี่ยวข้อง เช่น models, providers, auth profiles, channels, gateway exposure, tools, memory, browser หรือ cron config

คำสั่งย่อย

  • config file: พิมพ์พาธไฟล์คอนฟิกที่ใช้งานอยู่ (resolve จาก OmeniaClaw_CONFIG_PATH หรือตำแหน่งเริ่มต้น) พาธควรระบุไฟล์ปกติ ไม่ใช่ symlink

รีสตาร์ท gateway หลังการแก้ไข

ตรวจสอบ

ตรวจสอบคอนฟิกปัจจุบันกับสคีมาที่ใช้งานอยู่โดยไม่เริ่ม gateway

bash
OmeniaClaw config validateOmeniaClaw config validate --json

หลังจาก OmeniaClaw config validate ผ่านแล้ว คุณสามารถใช้ TUI ภายในเครื่องเพื่อให้เอเจนต์แบบฝังตัวเปรียบเทียบคอนฟิกที่ใช้งานอยู่กับเอกสาร ขณะที่คุณตรวจสอบแต่ละการเปลี่ยนแปลงจากเทอร์มินัลเดียวกัน:

bash
OmeniaClaw chat

จากนั้นภายใน TUI:

text
!OmeniaClaw config file!OmeniaClaw docs gateway auth token secretref!OmeniaClaw config validate!OmeniaClaw doctor

ลูปการซ่อมทั่วไป:

  • เปรียบเทียบกับเอกสาร

    ขอให้เอเจนต์เปรียบเทียบคอนฟิกปัจจุบันของคุณกับหน้าเอกสารที่เกี่ยวข้อง และแนะนำการแก้ไขที่เล็กที่สุด

  • ใช้การแก้ไขแบบเจาะจง

    ใช้การแก้ไขแบบเจาะจงด้วย OmeniaClaw config set หรือ OmeniaClaw configure

  • ตรวจสอบซ้ำ

    รัน OmeniaClaw config validate อีกครั้งหลังการเปลี่ยนแปลงแต่ละครั้ง

  • ใช้ doctor สำหรับปัญหารันไทม์

    หากการตรวจสอบผ่านแต่รันไทม์ยังไม่สมบูรณ์ ให้รัน OmeniaClaw doctor หรือ OmeniaClaw doctor --fix เพื่อรับความช่วยเหลือด้าน migration และการซ่อม

  • ที่เกี่ยวข้อง

    Was this useful?
    On this page

    On this page