Maintenance

การย้ายข้อมูลจาก Hermes

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

วิธีนำเข้าสองแบบ

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

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

bash
openclaw onboard --flow import

หรือระบุแหล่งที่มาโดยเฉพาะ:

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

CLI

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

bash
openclaw migrate hermes --dry-run    # แสดงตัวอย่างเท่านั้นopenclaw migrate apply hermes --yes  # นำไปใช้โดยข้ามการยืนยัน

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

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

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

ข้อกำหนดเซิร์ฟเวอร์ MCP จาก mcp_servers หรือ mcp.servers

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

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

Skills

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

ข้อมูลประจำตัวสำหรับการยืนยันตัวตน

openclaw migrate แบบโต้ตอบจะถามก่อนนำเข้าข้อมูลประจำตัวสำหรับการยืนยันตัวตน โดยเลือกใช่เป็นค่าเริ่มต้น เมื่อยอมรับ ระบบจะนำเข้ารายการ OpenCode OpenAI OAuth และ GitHub Copilot จาก auth.json ของ OpenCode รวมถึงคีย์ .env ของ Hermes ที่รองรับ รายการ OAuth ใน auth.json ของ Hermes เองเป็นสถานะรุ่นเก่า โดยจะแสดงเป็นรายการที่ต้องยืนยันตัวตนใหม่หรือใช้ doctor ด้วยตนเอง แทนการนำเข้าไปยังระบบยืนยันตัวตนที่ใช้งานอยู่ ใช้ --include-secrets เพื่อนำเข้าข้อมูลประจำตัวในการเรียกใช้แบบไม่โต้ตอบ, --no-auth-credentials เพื่อข้ามการนำเข้าข้อมูลประจำตัวทั้งหมด หรือแฟล็ก --import-secrets ของตัวช่วยสร้างการเริ่มต้นใช้งาน

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

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

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

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

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

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

    bash
    openclaw migrate hermes --dry-run

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

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

    bash
    openclaw migrate apply hermes --yes

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

  • เรียกใช้ doctor

    bash
    openclaw doctor

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

  • เริ่มการทำงานใหม่และตรวจสอบ

    bash
    openclaw gateway restartopenclaw status

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

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

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

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

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

    ข้อมูลลับ

    openclaw migrate แบบโต้ตอบจะถามว่าจะนำเข้าข้อมูลประจำตัวสำหรับการยืนยันตัวตนที่ตรวจพบหรือไม่ โดยเลือกใช่เป็นค่าเริ่มต้น

    • เมื่อยอมรับ ระบบจะนำเข้ารายการ OpenCode OpenAI OAuth และ GitHub Copilot จาก auth.json ของ OpenCode รวมถึงคีย์ .env ที่รองรับ ส่วนรายการ OAuth ใน auth.json ของ Hermes เองจะถูกรายงานเพื่อให้ยืนยันตัวตนกับ OpenAI ใหม่ด้วยตนเองหรือซ่อมแซมด้วย doctor แทน
    • ใช้ --no-auth-credentials หรือตอบไม่ที่คำถาม เพื่อนำเข้าเฉพาะสถานะที่ไม่ใช่ข้อมูลลับ
    • ใช้ --include-secrets เพื่อนำเข้าข้อมูลประจำตัวในการเรียกใช้ --yes แบบไม่มีผู้ดูแล
    • ใช้แฟล็ก --import-secrets ของตัวช่วยสร้างการเริ่มต้นใช้งาน เพื่อนำเข้าข้อมูลประจำตัวจากตัวช่วยสร้าง

    ผลลัพธ์ JSON สำหรับระบบอัตโนมัติ

    bash
    openclaw migrate hermes --dry-run --jsonopenclaw 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

    openclaw migrate แบบโต้ตอบจะนำเข้าคีย์ API เฉพาะเมื่อคุณยอมรับคำถามเกี่ยวกับข้อมูลประจำตัว การเรียกใช้ --yes แบบไม่โต้ตอบต้องใช้ --include-secrets ส่วนการนำเข้าผ่านการเริ่มต้นใช้งานต้องใช้ --import-secrets ระบบจะรู้จักเฉพาะคีย์ .env ที่รองรับ โดยจะเพิกเฉยต่อตัวแปร .env อื่น

    เนื้อหาที่เกี่ยวข้อง

    Was this useful?
    On this page

    On this page