Maintenance

การย้ายจาก Hermes

OpenClaw นำเข้าสถานะ Hermes ผ่านผู้ให้บริการการย้ายข้อมูลที่รวมมาด้วย ผู้ให้บริการจะแสดงตัวอย่างทุกอย่างก่อนเปลี่ยนสถานะ ปกปิดความลับในแผนและรายงาน และสร้างข้อมูลสำรองที่ตรวจสอบแล้วก่อนนำไปใช้

สองวิธีในการนำเข้า

ตัวช่วยเริ่มต้นใช้งาน

เส้นทางที่เร็วที่สุด ตัวช่วยจะตรวจพบ Hermes ที่ ~/.hermes และแสดงตัวอย่างก่อนนำไปใช้

openclaw onboard --flow import

หรือชี้ไปยังแหล่งที่มาเฉพาะ:

openclaw onboard --import-from hermes --import-source ~/.hermes

CLI

ใช้ openclaw migrate สำหรับการรันด้วยสคริปต์หรือการรันซ้ำได้ ดู openclaw migrate สำหรับเอกสารอ้างอิงฉบับเต็ม

openclaw migrate hermes --dry-run    # preview only
openclaw migrate apply hermes --yes  # apply with confirmation skipped

เพิ่ม --from <path> เมื่อ Hermes อยู่ภายนอก ~/.hermes

สิ่งที่ถูกนำเข้า

การกำหนดค่าโมเดล
  • การเลือกโมเดลเริ่มต้นจาก config.yaml ของ Hermes
  • ผู้ให้บริการโมเดลที่กำหนดค่าไว้และ endpoint แบบกำหนดเองที่เข้ากันได้กับ OpenAI จาก providers และ custom_providers
เซิร์ฟเวอร์ MCP

นิยามเซิร์ฟเวอร์ MCP จาก mcp_servers หรือ mcp.servers

ไฟล์ workspace
  • SOUL.md และ AGENTS.md จะถูกคัดลอกไปยัง workspace ของ agent OpenClaw
  • memories/MEMORY.md และ memories/USER.md จะถูก ผนวก ไปยังไฟล์หน่วยความจำ OpenClaw ที่ตรงกันแทนการเขียนทับ
การกำหนดค่าหน่วยความจำ

ค่าเริ่มต้นของ config หน่วยความจำสำหรับหน่วยความจำไฟล์ของ OpenClaw ผู้ให้บริการหน่วยความจำภายนอก เช่น Honcho จะถูกบันทึกเป็นรายการเก็บถาวรหรือรายการที่ต้องตรวจสอบด้วยตนเอง เพื่อให้คุณย้ายได้อย่างตั้งใจ

Skills

Skills ที่มีไฟล์ SKILL.md อยู่ใต้ skills/<name>/ จะถูกคัดลอก พร้อมค่าการกำหนดค่าเฉพาะ Skill จาก skills.config

คีย์ API (เลือกใช้)

ตั้งค่า --include-secrets เพื่อนำเข้าคีย์ .env ที่รองรับ: OPENAI_API_KEY, ANTHROPIC_API_KEY, OPENROUTER_API_KEY, GOOGLE_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, XAI_API_KEY, MISTRAL_API_KEY, DEEPSEEK_API_KEY หากไม่มีแฟล็กนี้ ความลับจะไม่ถูกคัดลอกเลย

สิ่งที่คงไว้เฉพาะในคลังเก็บถาวร

ผู้ให้บริการจะคัดลอกสิ่งเหล่านี้ไปยังไดเรกทอรีรายงานการย้ายข้อมูลสำหรับการตรวจสอบด้วยตนเอง แต่จะ ไม่ โหลดเข้าไปใน config หรือ credentials ของ OpenClaw ที่ใช้งานจริง:

  • plugins/
  • sessions/
  • logs/
  • cron/
  • mcp-tokens/
  • auth.json
  • state.db

OpenClaw ปฏิเสธการดำเนินการหรือเชื่อถือสถานะนี้โดยอัตโนมัติ เนื่องจากรูปแบบและสมมติฐานด้านความน่าเชื่อถืออาจเปลี่ยนแปลงต่างกันระหว่างระบบ ย้ายสิ่งที่คุณต้องการด้วยตนเองหลังจากตรวจสอบคลังเก็บถาวรแล้ว

ขั้นตอนที่แนะนำ

  • ดูตัวอย่างแผน

    openclaw migrate hermes --dry-run
    

    แผนจะแสดงรายการทุกอย่างที่จะเปลี่ยนแปลง รวมถึงข้อขัดแย้ง รายการที่ข้าม และรายการที่ละเอียดอ่อนใดๆ เอาต์พุตของแผนจะปกปิดคีย์ซ้อนที่ดูเหมือนความลับ

  • นำไปใช้พร้อมข้อมูลสำรอง

    openclaw migrate apply hermes --yes
    

    OpenClaw สร้างและตรวจสอบข้อมูลสำรองก่อนนำไปใช้ หากคุณต้องการนำเข้าคีย์ API ให้เพิ่ม --include-secrets

  • รัน doctor

    openclaw doctor
    

    Doctor จะนำการย้าย config ที่ค้างอยู่กลับมาใช้ใหม่ และตรวจหาปัญหาที่เกิดขึ้นระหว่างการนำเข้า

  • รีสตาร์ตและตรวจสอบ

    openclaw gateway restart
    openclaw status
    

    ยืนยันว่า Gateway ทำงานปกติ และโมเดล หน่วยความจำ และ Skills ที่นำเข้าถูกโหลดแล้ว

  • การจัดการข้อขัดแย้ง

    การนำไปใช้จะปฏิเสธการดำเนินการต่อเมื่อแผนรายงานข้อขัดแย้ง (ไฟล์หรือค่า config มีอยู่แล้วที่ปลายทาง)

    สำหรับการติดตั้ง OpenClaw ใหม่ ข้อขัดแย้งพบได้ไม่บ่อย โดยทั่วไปจะเกิดขึ้นเมื่อคุณรันการนำเข้าอีกครั้งบนการตั้งค่าที่มีการแก้ไขของผู้ใช้อยู่แล้ว

    หากข้อขัดแย้งปรากฏขึ้นระหว่างการนำไปใช้ (เช่น การแข่งขันที่ไม่คาดคิดบนไฟล์ config) Hermes จะทำเครื่องหมายรายการ config ที่ขึ้นต่อกันซึ่งเหลืออยู่เป็น skipped พร้อมเหตุผล blocked by earlier apply conflict แทนการเขียนบางส่วน รายงานการย้ายข้อมูลจะบันทึกแต่ละรายการที่ถูกบล็อก เพื่อให้คุณแก้ไขข้อขัดแย้งเดิมและรันการนำเข้าอีกครั้งได้

    ความลับ

    ความลับจะไม่ถูกนำเข้าโดยค่าเริ่มต้น

    • รัน openclaw migrate apply hermes --yes ก่อนเพื่อนำเข้าสถานะที่ไม่ใช่ความลับ
    • หากคุณต้องการคัดลอกคีย์ .env ที่รองรับมาด้วย ให้รันอีกครั้งพร้อม --include-secrets
    • สำหรับ credentials ที่จัดการโดย SecretRef ให้กำหนดค่าแหล่งที่มา SecretRef หลังจากการนำเข้าเสร็จสิ้น

    เอาต์พุต JSON สำหรับระบบอัตโนมัติ

    openclaw migrate hermes --dry-run --json
    openclaw migrate apply hermes --json --yes
    

    เมื่อใช้ --json และไม่มี --yes การนำไปใช้จะพิมพ์แผนและไม่เปลี่ยนสถานะ นี่เป็นโหมดที่ปลอดภัยที่สุดสำหรับ CI และสคริปต์ที่ใช้ร่วมกัน

    การแก้ไขปัญหา

    การนำไปใช้ปฏิเสธด้วยข้อขัดแย้ง

    ตรวจสอบเอาต์พุตของแผน แต่ละข้อขัดแย้งจะระบุเส้นทางต้นทางและปลายทางที่มีอยู่ ตัดสินใจเป็นรายรายการว่าจะข้าม แก้ไขปลายทาง หรือรันอีกครั้งพร้อม --overwrite

    Hermes อยู่ภายนอก ~/.hermes

    ส่ง --from /actual/path (CLI) หรือ --import-source /actual/path (การเริ่มต้นใช้งาน)

    การเริ่มต้นใช้งานปฏิเสธการนำเข้าบนการตั้งค่าที่มีอยู่

    การนำเข้าผ่านการเริ่มต้นใช้งานต้องใช้การตั้งค่าใหม่ ให้รีเซ็ตสถานะแล้วเริ่มต้นใช้งานใหม่ หรือใช้ openclaw migrate apply hermes โดยตรง ซึ่งรองรับ --overwrite และการควบคุมข้อมูลสำรองอย่างชัดเจน

    คีย์ API ไม่ถูกนำเข้า

    ต้องใช้ --include-secrets และระบบจะรู้จักเฉพาะคีย์ที่ระบุไว้ด้านบนเท่านั้น ตัวแปรอื่นใน .env จะถูกละเว้น

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