Containers
Nix
ติดตั้ง OpenClaw แบบประกาศด้วย nix-openclaw ซึ่งเป็นโมดูล Home Manager อย่างเป็นทางการที่มาพร้อมทุกสิ่งที่จำเป็น
สิ่งที่คุณจะได้รับ
- Gateway + แอป macOS + เครื่องมือ (whisper, spotify, กล้อง) โดยตรึงเวอร์ชันทั้งหมด
- บริการ launchd ที่ยังคงทำงานหลังรีบูต
- ระบบ Plugin พร้อมการกำหนดค่าแบบประกาศ
- ย้อนกลับได้ทันที:
home-manager switch --rollback
เริ่มต้นอย่างรวดเร็ว
ติดตั้ง Determinate Nix
หากยังไม่ได้ติดตั้ง Nix ให้ทำตามคำแนะนำของ โปรแกรมติดตั้ง Determinate Nix
สร้าง flake ภายในเครื่อง
ใช้เทมเพลตที่ออกแบบโดยให้เอเจนต์เป็นหลักจากรีโพซิทอรี nix-openclaw:
mkdir -p ~/code/openclaw-local# คัดลอก templates/agent-first/flake.nix จากรีโพซิทอรี nix-openclawกำหนดค่าข้อมูลลับ
ตั้งค่าโทเค็นบอตรับส่งข้อความและคีย์ API ของผู้ให้บริการโมเดล ไฟล์ข้อความธรรมดาที่ ~/.secrets/ ใช้งานได้ดี
กรอกตัวยึดตำแหน่งในเทมเพลตและสลับการกำหนดค่า
home-manager switchตรวจสอบ
ยืนยันว่าบริการ launchd กำลังทำงานและบอตของคุณตอบกลับข้อความ
ดูตัวเลือกทั้งหมดของโมดูลและตัวอย่างได้ใน README ของ nix-openclaw
ลักษณะการทำงานขณะรันในโหมด Nix
เมื่อตั้งค่า OPENCLAW_NIX_MODE=1 (ตั้งค่าอัตโนมัติเมื่อใช้ nix-openclaw) OpenClaw จะเข้าสู่โหมดที่ให้ผลลัพธ์แน่นอนสำหรับการติดตั้งที่จัดการด้วย Nix แพ็กเกจ Nix อื่นสามารถตั้งค่าโหมดเดียวกันได้ โดย nix-openclaw เป็นการใช้งานอ้างอิงอย่างเป็นทางการ
คุณสามารถตั้งค่าด้วยตนเองได้เช่นกัน:
export OPENCLAW_NIX_MODE=1บน macOS แอป GUI จะไม่สืบทอดตัวแปรสภาพแวดล้อมของเชลล์ ให้เปิดใช้โหมด Nix ผ่าน defaults แทน:
defaults write ai.openclaw.mac openclaw.nixMode -bool trueสิ่งที่เปลี่ยนแปลงในโหมด Nix
- ปิดใช้กระบวนการติดตั้งอัตโนมัติและการแก้ไขตัวเอง
openclaw.jsonจะถือว่าแก้ไขไม่ได้ ค่าเริ่มต้นที่ได้มาระหว่างการเริ่มต้นระบบจะมีผลเฉพาะขณะรัน และตัวเขียนการกำหนดค่า (การตั้งค่า การเริ่มต้นใช้งานopenclaw updateที่มีการแก้ไข การติดตั้ง/อัปเดต/ถอนการติดตั้ง/เปิดใช้ Plugin,doctor --fix,doctor --generate-gateway-token,openclaw config set) จะปฏิเสธการแก้ไขไฟล์- ให้แก้ไขแหล่งที่มา Nix แทน สำหรับ nix-openclaw ให้ใช้ การเริ่มต้นอย่างรวดเร็ว ที่ออกแบบโดยให้เอเจนต์เป็นหลัก และตั้งค่าการกำหนดค่าภายใต้
programs.openclaw.configหรือinstances.<name>.config - การขาดการขึ้นต่อกันจะแสดงข้อความวิธีแก้ไขเฉพาะสำหรับ Nix
- UI จะแสดงแบนเนอร์โหมด Nix แบบอ่านอย่างเดียว
พาธการกำหนดค่าและสถานะ
OpenClaw อ่านการกำหนดค่า JSON5 จาก OPENCLAW_CONFIG_PATH และจัดเก็บข้อมูลที่แก้ไขได้ใน OPENCLAW_STATE_DIR เมื่อใช้ Nix ให้ตั้งค่าตัวแปรเหล่านี้อย่างชัดเจนไปยังตำแหน่งที่จัดการโดย Nix เพื่อให้สถานะขณะรันและการกำหนดค่าอยู่นอกพื้นที่จัดเก็บที่แก้ไขไม่ได้
| ตัวแปร | ค่าเริ่มต้น |
|---|---|
OPENCLAW_HOME |
HOME / USERPROFILE / os.homedir() |
OPENCLAW_STATE_DIR |
~/.openclaw |
OPENCLAW_CONFIG_PATH |
$OPENCLAW_STATE_DIR/openclaw.json |
การค้นหา PATH ของบริการ
บริการ Gateway ของ launchd/systemd จะค้นหาไบนารีในโปรไฟล์ Nix โดยอัตโนมัติ เพื่อให้ Plugin และเครื่องมือที่เรียกใช้ไฟล์ปฏิบัติการที่ติดตั้งด้วย nix ผ่านเชลล์ทำงานได้โดยไม่ต้องตั้งค่า PATH ด้วยตนเอง:
- เมื่อตั้งค่า
NIX_PROFILESระบบจะเพิ่มทุกรายการไปยัง PATH ของบริการโดยให้รายการจากขวาไปซ้ายมีลำดับความสำคัญสูงขึ้น (ตรงกับลำดับความสำคัญของเชลล์ Nix: รายการขวาสุดมีผลเหนือกว่า) - เมื่อไม่ได้ตั้งค่า
NIX_PROFILESระบบจะเพิ่ม~/.nix-profile/binเป็นทางเลือกสำรอง
ลักษณะการทำงานนี้ใช้กับทั้งสภาพแวดล้อมบริการ launchd บน macOS และ systemd บน Linux
เนื้อหาที่เกี่ยวข้อง
โมดูล Home Manager ที่เป็นแหล่งข้อมูลหลักและคู่มือการตั้งค่าฉบับสมบูรณ์
คำแนะนำทีละขั้นตอนสำหรับการตั้งค่าผ่าน CLI โดยไม่ใช้ Nix
การตั้งค่าแบบคอนเทนเนอร์เพื่อเป็นทางเลือกที่ไม่ใช้ Nix
การอัปเดตการติดตั้งที่จัดการด้วย Home Manager ควบคู่ไปกับแพ็กเกจ