ตัวช่วยการกำหนดค่าสำหรับการแก้ไขแบบไม่โต้ตอบในDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw.json: get/set/patch/unset/file/schema/validate ค่าตามพาธ และแสดงไฟล์ config ที่ใช้งานอยู่ เรียกใช้โดยไม่มีคำสั่งย่อยเพื่อเปิดตัวช่วยกำหนดค่า (เหมือนกับ openclaw configure)
เมื่อ
OPENCLAW_NIX_MODE=1 OpenClaw จะถือว่า openclaw.json เปลี่ยนแปลงไม่ได้ คำสั่งอ่านอย่างเดียว เช่น config get, config file, config schema และ config validate ยังคงใช้งานได้ แต่คำสั่งที่เขียน config จะปฏิเสธแทน เอเจนต์ควรแก้ไขซอร์ส Nix ของการติดตั้งแทน สำหรับดิสทริบิวชัน nix-openclaw ของทีมหลัก ให้ใช้ เริ่มต้นใช้งาน nix-openclaw อย่างรวดเร็ว และตั้งค่าภายใต้ programs.openclaw.config หรือ instances.<name>.configตัวเลือกระดับราก
ตัวกรองส่วนของการตั้งค่าแบบมีคำแนะนำที่ระบุซ้ำได้ เมื่อคุณเรียกใช้
openclaw config โดยไม่มีคำสั่งย่อยworkspace, model, web, gateway, daemon, channels, plugins, skills, health
ตัวอย่าง
config schema
แสดง JSON schema ที่สร้างขึ้นสำหรับ openclaw.json ไปยัง stdout เป็น JSON
สิ่งที่รวมอยู่
สิ่งที่รวมอยู่
- สคีมา config ระดับรากปัจจุบัน พร้อมฟิลด์สตริง
$schemaระดับรากสำหรับเครื่องมือแก้ไข - เมตาดาทาเอกสาร
titleและdescriptionของฟิลด์ที่ Control UI ใช้ - โหนดออบเจ็กต์ซ้อน, wildcard (
*) และรายการอาร์เรย์ ([]) จะสืบทอดเมตาดาทาtitle/descriptionเดียวกันเมื่อมีเอกสารฟิลด์ที่ตรงกัน - สาขา
anyOf/oneOf/allOfจะสืบทอดเมตาดาทาเอกสารเดียวกันด้วยเมื่อมีเอกสารฟิลด์ที่ตรงกัน - เมตาดาทาสคีมาของ Plugin + ช่องทางแบบสดเท่าที่ทำได้ เมื่อสามารถโหลด manifest ของ runtime ได้
- สคีมาสำรองที่สะอาด แม้ config ปัจจุบันจะไม่ถูกต้อง
RPC ของ runtime ที่เกี่ยวข้อง
RPC ของ runtime ที่เกี่ยวข้อง
config.schema.lookup คืนพาธ config ที่ทำให้เป็นรูปแบบมาตรฐานแล้วหนึ่งพาธ พร้อมโหนดสคีมาแบบตื้น (title, description, type, enum, const, ขอบเขตทั่วไป), เมตาดาทาคำใบ้ UI ที่ตรงกัน และสรุปลูกโดยตรง ใช้สำหรับการเจาะลึกแบบจำกัดตามพาธใน Control UI หรือไคลเอนต์กำหนดเองพาธ
พาธใช้รูปแบบ dot หรือ bracket:ค่า
ค่าจะถูกแยกวิเคราะห์เป็น JSON5 เมื่อทำได้ มิฉะนั้นจะถือว่าเป็นสตริง ใช้--strict-json เพื่อบังคับให้ต้องแยกวิเคราะห์ JSON5 --json ยังรองรับอยู่ในฐานะนามแฝงแบบเดิม
config get <path> --json แสดงค่าดิบเป็น JSON แทนข้อความที่จัดรูปแบบสำหรับเทอร์มินัล
โดยค่าเริ่มต้น การกำหนดออบเจ็กต์จะแทนที่พาธเป้าหมาย พาธ map/list ที่ได้รับการป้องกันและมักเก็บรายการที่ผู้ใช้เพิ่ม เช่น
agents.defaults.models, models.providers, models.providers.<id>.models, plugins.entries และ auth.profiles จะปฏิเสธการแทนที่ที่จะลบรายการที่มีอยู่ เว้นแต่คุณจะส่ง --replace--merge เมื่อเพิ่มรายการลงใน map เหล่านั้น:
--replace เฉพาะเมื่อคุณตั้งใจให้ค่าที่ระบุกลายเป็นค่าเป้าหมายทั้งหมด
โหมดของ config set
openclaw config set รองรับรูปแบบการกำหนดค่าสี่แบบ:
- โหมดค่า
- โหมดตัวสร้าง SecretRef
- โหมดตัวสร้างผู้ให้บริการ
- โหมดแบตช์
--batch-json/--batch-file) เป็นแหล่งข้อมูลอ้างอิงหลักเสมอ --strict-json / --json ไม่เปลี่ยนพฤติกรรมการแยกวิเคราะห์แบบแบตช์
config patch
ใช้ config patch เมื่อคุณต้องการวางหรือ pipe แพตช์ที่มีโครงสร้างแบบ config แทนการเรียกใช้คำสั่ง config set แบบอิงพาธจำนวนมาก อินพุตเป็นออบเจ็กต์ JSON5 ออบเจ็กต์จะ merge แบบ recursive ส่วนอาร์เรย์และค่าสเกลาร์จะแทนที่ค่าเป้าหมาย และ null จะลบพาธเป้าหมาย
--replace-path <path> เมื่อออบเจ็กต์หรืออาร์เรย์หนึ่งต้องกลายเป็นค่าที่ระบุแบบตรงทั้งหมด แทนที่จะถูกแพตช์แบบ recursive:
--dry-run รันการตรวจสอบสคีมาและการตรวจสอบว่า SecretRef สามารถ resolve ได้โดยไม่เขียนข้อมูล SecretRef ที่อิง exec จะถูกข้ามโดยค่าเริ่มต้นระหว่างการรันแบบทดลอง เพิ่ม --allow-exec เมื่อคุณตั้งใจให้การรันแบบทดลองเรียกใช้คำสั่งของผู้ให้บริการ
โหมดพาธ/ค่าแบบ JSON ยังคงรองรับทั้ง SecretRef และผู้ให้บริการ:
แฟล็กของตัวสร้างผู้ให้บริการ
เป้าหมายของตัวสร้างผู้ให้บริการต้องใช้secrets.providers.<alias> เป็นพาธ
แฟล็กทั่วไป
แฟล็กทั่วไป
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
ผู้ให้บริการ env (--provider-source env)
ผู้ให้บริการ env (--provider-source env)
--provider-allowlist <ENV_VAR>(ระบุซ้ำได้)
ผู้ให้บริการไฟล์ (--provider-source file)
ผู้ให้บริการไฟล์ (--provider-source file)
--provider-path <path>(จำเป็น)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
ผู้ให้บริการ exec (--provider-source exec)
ผู้ให้บริการ 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 <KEY=VALUE>(ระบุซ้ำได้)--provider-pass-env <ENV_VAR>(ระบุซ้ำได้)--provider-trusted-dir <path>(ระบุซ้ำได้)--provider-allow-insecure-path--provider-allow-symlink-command
การรันแบบทดลอง
ใช้--dry-run เพื่อตรวจสอบความถูกต้องของการเปลี่ยนแปลงโดยไม่เขียน openclaw.json
พฤติกรรมของการรันแบบทดลอง
พฤติกรรมของการรันแบบทดลอง
- โหมดตัวสร้าง: รันการตรวจสอบว่า 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
--dry-run --json แสดงรายงานที่เครื่องอ่านได้:ok: ระบุว่าการทดลองรันผ่านหรือไม่operations: จำนวนการกำหนดค่าที่ประเมินchecks: ระบุว่ามีการตรวจสอบสคีมา/การ resolve หรือไม่checks.resolvabilityComplete: ระบุว่าการตรวจสอบการ resolve ทำงานจนเสร็จสมบูรณ์หรือไม่ (เป็น false เมื่อข้าม refs แบบ exec)refsChecked: จำนวน refs ที่ resolve จริงระหว่างการทดลองรันskippedExecRefs: จำนวน refs แบบ exec ที่ข้ามเพราะไม่ได้ตั้งค่า--allow-execerrors: ความล้มเหลวของสคีมา/การ resolve แบบมีโครงสร้างเมื่อok=false
รูปแบบเอาต์พุต JSON
- ตัวอย่างสำเร็จ
- ตัวอย่างล้มเหลว
หากการทดลองรันล้มเหลว
หากการทดลองรันล้มเหลว
config schema validation failed: รูปแบบคอนฟิกหลังการเปลี่ยนแปลงของคุณไม่ถูกต้อง ให้แก้พาธ/ค่า หรือรูปแบบออบเจ็กต์ provider/refConfig 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อีกครั้งก่อนเขียน
ความปลอดภัยในการเขียน
openclaw config set และตัวเขียนคอนฟิกอื่นที่ OpenClaw เป็นเจ้าของจะตรวจสอบคอนฟิกเต็มรูปแบบหลังการเปลี่ยนแปลงก่อนบันทึกลงดิสก์ หาก payload ใหม่ไม่ผ่านการตรวจสอบสคีมาหรือดูเหมือนเป็นการเขียนทับที่ทำลายข้อมูล คอนฟิกที่ใช้งานอยู่จะถูกปล่อยไว้เหมือนเดิม และ payload ที่ถูกปฏิเสธจะถูกบันทึกไว้ข้างกันเป็น openclaw.json.rejected.*
ควรใช้ CLI เขียนสำหรับการแก้ไขขนาดเล็ก:
openclaw.json ใหม่ รัน openclaw doctor --fix เพื่อซ่อมคอนฟิกที่มี prefix/ถูกเขียนทับ หรือกู้คืนสำเนาที่ทราบว่าดีล่าสุด ดู การแก้ปัญหา Gateway
การกู้คืนทั้งไฟล์สงวนไว้สำหรับการซ่อมด้วย doctor การเปลี่ยนแปลงสคีมาของ Plugin หรือความคลาดเคลื่อนของ minHostVersion จะยังแสดงข้อผิดพลาดอย่างชัดเจนแทนที่จะย้อนกลับการตั้งค่าของผู้ใช้ที่ไม่เกี่ยวข้อง เช่น models, providers, auth profiles, channels, gateway exposure, tools, memory, browser หรือ cron config
คำสั่งย่อย
config file: พิมพ์พาธไฟล์คอนฟิกที่ใช้งานอยู่ (resolve จากOPENCLAW_CONFIG_PATHหรือตำแหน่งเริ่มต้น) พาธควรระบุไฟล์ปกติ ไม่ใช่ symlink
ตรวจสอบ
ตรวจสอบคอนฟิกปัจจุบันกับสคีมาที่ใช้งานอยู่โดยไม่เริ่ม gatewayopenclaw config validate ผ่านแล้ว คุณสามารถใช้ TUI ภายในเครื่องเพื่อให้เอเจนต์แบบฝังตัวเปรียบเทียบคอนฟิกที่ใช้งานอยู่กับเอกสาร ขณะที่คุณตรวจสอบแต่ละการเปลี่ยนแปลงจากเทอร์มินัลเดียวกัน:
หากการตรวจสอบยังล้มเหลวอยู่ ให้เริ่มด้วย
openclaw configure หรือ openclaw doctor --fix openclaw chat ไม่ข้าม guard สำหรับคอนฟิกที่ไม่ถูกต้องเปรียบเทียบกับเอกสาร
ขอให้เอเจนต์เปรียบเทียบคอนฟิกปัจจุบันของคุณกับหน้าเอกสารที่เกี่ยวข้อง และแนะนำการแก้ไขที่เล็กที่สุด