CLI commands
ข้อมูลลับ
openclaw secrets
จัดการ SecretRef และรักษาสแนปช็อตรันไทม์ที่ใช้งานอยู่ให้พร้อมทำงานอย่างถูกต้อง
| คำสั่ง | บทบาท |
|---|---|
reload |
Gateway RPC (secrets.reload): แก้ไขการอ้างอิงใหม่และสลับสแนปช็อตรันไทม์เฉพาะเมื่อสำเร็จทั้งหมดเท่านั้น (ไม่เขียนการกำหนดค่า) |
audit |
สแกนแบบอ่านอย่างเดียวในพื้นที่จัดเก็บการกำหนดค่า/การยืนยันตัวตน/โมเดลที่สร้างขึ้นและข้อมูลตกค้างแบบเก่า เพื่อตรวจหาข้อความธรรมดา การอ้างอิงที่แก้ไขไม่ได้ และความคลาดเคลื่อนของลำดับความสำคัญ (ข้ามการอ้างอิง exec เว้นแต่ระบุ --allow-exec) |
configure |
ตัววางแผนแบบโต้ตอบสำหรับตั้งค่าผู้ให้บริการ จับคู่เป้าหมาย และตรวจสอบล่วงหน้า (ต้องใช้ TTY) |
apply |
ดำเนินการตามแผนที่บันทึกไว้ (--dry-run ตรวจสอบความถูกต้องเท่านั้นและข้ามการตรวจสอบ exec โดยค่าเริ่มต้น ส่วนโหมดเขียนจะปฏิเสธแผนที่มี exec เว้นแต่ระบุ --allow-exec) จากนั้นล้างข้อมูลข้อความธรรมดาที่ตกค้างตามเป้าหมาย |
วงจรการทำงานที่แนะนำสำหรับผู้ปฏิบัติงาน:
openclaw secrets audit --checkopenclaw secrets configureopenclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-runopenclaw secrets apply --from /tmp/openclaw-secrets-plan.jsonopenclaw secrets audit --checkopenclaw secrets reloadหากแผนของคุณมี SecretRef/ผู้ให้บริการแบบ exec ให้ระบุ --allow-exec ในคำสั่ง apply ทั้งแบบ dry-run และแบบเขียน
รหัสออกสำหรับ CI/เกต:
audit --checkคืนค่า1เมื่อพบปัญหา- การอ้างอิงที่แก้ไขไม่ได้คืนค่า
2(ไม่ว่าจะระบุ--checkหรือไม่)
ที่เกี่ยวข้อง: การจัดการข้อมูลลับ · พื้นผิวข้อมูลประจำตัว SecretRef · ความปลอดภัย
โหลดสแนปช็อตรันไทม์ใหม่
openclaw secrets reloadopenclaw secrets reload --jsonopenclaw secrets reload --url ws://127.0.0.1:18789 --token <token>ใช้เมธอด Gateway RPC secrets.reload หากการแก้ไขการอ้างอิงล้มเหลว Gateway จะเก็บสแนปช็อตล่าสุดที่ทราบว่าทำงานได้และส่งคืนข้อผิดพลาด (ไม่มีการเปิดใช้งานเพียงบางส่วน) การตอบกลับ JSON มี warningCount
ตัวเลือก: --url <url>, --token <token>, --timeout <ms>, --json
ตรวจสอบ
สแกนสถานะของ OpenClaw เพื่อหา:
- การจัดเก็บข้อมูลลับเป็นข้อความธรรมดา
- การอ้างอิงที่แก้ไขไม่ได้
- ความคลาดเคลื่อนของลำดับความสำคัญ (ข้อมูลประจำตัวใน
auth-profiles.jsonบดบังการอ้างอิงในopenclaw.json) - ข้อมูลตกค้างใน
agents/*/agent/models.jsonที่สร้างขึ้น (ค่าapiKeyของผู้ให้บริการและส่วนหัวที่ละเอียดอ่อนของผู้ให้บริการ) - ข้อมูลตกค้างแบบเก่า (รายการในพื้นที่จัดเก็บการยืนยันตัวตนแบบเก่าและข้อความเตือน OAuth)
การตรวจหาส่วนหัวที่ละเอียดอ่อนของผู้ให้บริการอาศัยฮิวริสติกจากชื่อ โดยจะแจ้งส่วนหัวที่ชื่อตรงกับส่วนประกอบทั่วไปเกี่ยวกับการยืนยันตัวตน/ข้อมูลประจำตัว (authorization, x-api-key, token, secret, password, credential)
openclaw secrets auditopenclaw secrets audit --checkopenclaw secrets audit --jsonopenclaw secrets audit --allow-execรูปแบบรายงาน:
status:clean | findings | unresolvedresolution:refsChecked,skippedExecRefs,resolvabilityCompletesummary:plaintextCount,unresolvedRefCount,shadowedRefCount,legacyResidueCount- รหัสผลการตรวจพบ:
PLAINTEXT_FOUND,REF_UNRESOLVED,REF_SHADOWED,LEGACY_RESIDUE
กำหนดค่า (ตัวช่วยแบบโต้ตอบ)
สร้างการเปลี่ยนแปลงสำหรับผู้ให้บริการและ SecretRef แบบโต้ตอบ เรียกใช้การตรวจสอบล่วงหน้า และเลือกใช้การเปลี่ยนแปลง:
openclaw secrets configureopenclaw secrets configure --plan-out /tmp/openclaw-secrets-plan.jsonopenclaw secrets configure --apply --yesopenclaw secrets configure --providers-onlyopenclaw secrets configure --skip-provider-setupopenclaw secrets configure --agent opsopenclaw secrets configure --jsonลำดับการทำงาน: ตั้งค่าผู้ให้บริการก่อน (เพิ่ม/แก้ไข/ลบนามแฝง secrets.providers) จากนั้นจับคู่ข้อมูลประจำตัว (เลือกฟิลด์และกำหนดการอ้างอิง {source, provider, id}) แล้วจึงตรวจสอบล่วงหน้าและเลือกใช้การเปลี่ยนแปลง
แฟล็ก:
--providers-only: กำหนดค่าเฉพาะsecrets.providersและข้ามการจับคู่ข้อมูลประจำตัว--skip-provider-setup: ข้ามการตั้งค่าผู้ให้บริการและจับคู่ข้อมูลประจำตัวกับผู้ให้บริการที่มีอยู่--agent <id>: จำกัดขอบเขตการค้นหาเป้าหมายและการเขียนauth-profiles.jsonไว้ที่พื้นที่จัดเก็บของเอเจนต์หนึ่งราย--allow-exec: อนุญาตการตรวจสอบ exec SecretRef ระหว่างการตรวจสอบล่วงหน้า/การใช้การเปลี่ยนแปลง (อาจเรียกใช้คำสั่งของผู้ให้บริการ)
ไม่สามารถใช้ --providers-only ร่วมกับ --skip-provider-setup ได้
หมายเหตุ:
- ต้องใช้ TTY แบบโต้ตอบ
- กำหนดเป้าหมายฟิลด์ที่มีข้อมูลลับใน
openclaw.jsonรวมถึงauth-profiles.jsonสำหรับขอบเขตเอเจนต์ที่เลือก พื้นผิวมาตรฐานที่รองรับ: พื้นผิวข้อมูลประจำตัว SecretRef - รองรับการสร้างการจับคู่ใหม่ใน
auth-profiles.jsonโดยตรงผ่านขั้นตอนตัวเลือก - เรียกใช้การแก้ไขการอ้างอิงล่วงหน้าก่อนใช้การเปลี่ยนแปลง
- แผนที่สร้างขึ้นจะเปิดใช้ตัวเลือกการล้างข้อมูลโดยค่าเริ่มต้น (
scrubEnv,scrubAuthProfilesForProviderTargets,scrubLegacyAuthJson) การใช้การเปลี่ยนแปลงกับค่าข้อความธรรมดาที่ล้างแล้วไม่สามารถย้อนกลับได้ - หากไม่ระบุ
--applyCLI จะยังคงถามApply this plan now?หลังการตรวจสอบล่วงหน้า - เมื่อระบุ
--apply(แต่ไม่ระบุ--yes) CLI จะถามยืนยันเพิ่มเติมสำหรับการย้ายข้อมูลที่ย้อนกลับไม่ได้ --jsonแสดงแผนและรายงานการตรวจสอบล่วงหน้า แต่ยังคงต้องใช้ TTY แบบโต้ตอบ
ความปลอดภัยของผู้ให้บริการ exec
การติดตั้งผ่าน Homebrew มักเปิดเผยไบนารีแบบ symlink ใต้ /opt/homebrew/bin/* ให้ตั้งค่า allowSymlinkCommand: true เฉพาะเมื่อจำเป็นสำหรับพาธของตัวจัดการแพ็กเกจที่เชื่อถือได้ และใช้ร่วมกับ trustedDirs (เช่น ["/opt/homebrew"]) บน Windows หากไม่สามารถตรวจสอบ ACL สำหรับพาธของผู้ให้บริการได้ OpenClaw จะปฏิเสธการทำงานโดยค่าเริ่มต้น สำหรับพาธที่เชื่อถือได้เท่านั้น ให้ตั้งค่า allowInsecurePath: true ในผู้ให้บริการนั้นเพื่อข้ามการตรวจสอบความปลอดภัยของพาธ
ใช้แผนที่บันทึกไว้
openclaw secrets apply --from /tmp/openclaw-secrets-plan.jsonopenclaw secrets apply --from /tmp/openclaw-secrets-plan.json --allow-execopenclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-runopenclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run --allow-execopenclaw secrets apply --from /tmp/openclaw-secrets-plan.json --json--dry-run ตรวจสอบความถูกต้องล่วงหน้าโดยไม่เขียนไฟล์ และข้ามการตรวจสอบ exec SecretRef โดยค่าเริ่มต้นในโหมด dry-run โหมดเขียนจะปฏิเสธแผนที่มี SecretRef/ผู้ให้บริการแบบ exec เว้นแต่ระบุ --allow-exec ใช้ --allow-exec เพื่อยินยอมให้ตรวจสอบ/เรียกใช้ผู้ให้บริการแบบ exec ในโหมดใดโหมดหนึ่ง
สิ่งที่ apply อาจอัปเดต:
openclaw.json(เป้าหมาย SecretRef และการเพิ่มหรืออัปเดต/ลบผู้ให้บริการ)auth-profiles.json(การล้างข้อมูลตามเป้าหมายผู้ให้บริการ)- ข้อมูลตกค้างใน
auth.jsonแบบเก่า - คีย์ข้อมูลลับที่รู้จักใน
~/.openclaw/.envซึ่งค่าถูกย้ายแล้ว
รายละเอียดสัญญาของแผน (พาธเป้าหมายที่อนุญาต กฎการตรวจสอบความถูกต้อง และความหมายเมื่อเกิดความล้มเหลว): สัญญาแผนการใช้ข้อมูลลับ
เหตุผลที่ไม่มีข้อมูลสำรองสำหรับย้อนกลับ
secrets apply ตั้งใจไม่เขียนข้อมูลสำรองสำหรับย้อนกลับที่มีค่าข้อความธรรมดาเดิม ความปลอดภัยมาจากการตรวจสอบล่วงหน้าอย่างเข้มงวดร่วมกับการใช้การเปลี่ยนแปลงที่เกือบเป็นอะตอมมิก พร้อมพยายามคืนค่าในหน่วยความจำเมื่อเกิดความล้มเหลว
ตัวอย่าง
openclaw secrets audit --checkopenclaw secrets configureopenclaw secrets audit --checkหาก audit --check ยังคงรายงานการตรวจพบข้อความธรรมดา ให้อัปเดตพาธเป้าหมายที่เหลือตามรายงาน แล้วเรียกใช้การตรวจสอบอีกครั้ง