Fundamentals
พื้นที่ทำงานของเอเจนต์
พื้นที่ทำงานคือโฮมของเอเจนต์: ไดเรกทอรีทำงานที่ใช้สำหรับเครื่องมือไฟล์ และบริบทของพื้นที่ทำงาน ให้เก็บเป็นส่วนตัวและถือว่าเป็นหน่วยความจำ
ส่วนนี้แยกจาก ~/.openclaw/ ซึ่งจัดเก็บการกำหนดค่า ข้อมูลรับรอง และเซสชัน
ตำแหน่งเริ่มต้น
- ค่าเริ่มต้น:
~/.openclaw/workspace - หากตั้งค่า
OPENCLAW_PROFILEและค่าไม่ใช่"default"ค่าเริ่มต้นจะเปลี่ยนเป็น~/.openclaw/workspace-<profile> - เมื่อตั้งค่า
OPENCLAW_WORKSPACE_DIRค่านี้จะแทนที่ทั้งสองค่าข้างต้น - เอเจนต์ที่ไม่ใช่ค่าเริ่มต้น (
agents.list[]) ซึ่งไม่ได้ระบุพื้นที่ทำงานอย่างชัดเจน จะใช้<state-dir>/workspace-<agentId>ไม่ใช่พื้นที่ทำงานเริ่มต้นที่ใช้ร่วมกัน
แทนที่ค่าใน ~/.openclaw/openclaw.json:
{ agents: { defaults: { workspace: "~/.openclaw/workspace", }, },}การแทนที่ค่ารายเอเจนต์: agents.list[].workspace
openclaw onboard, openclaw configure หรือ openclaw setup จะสร้างพื้นที่ทำงานและเติมไฟล์เริ่มต้นหากยังไม่มี
หากจัดการไฟล์พื้นที่ทำงานด้วยตนเองอยู่แล้ว ให้ปิดการสร้างไฟล์เริ่มต้น:
{ agents: { defaults: { skipBootstrap: true } } }โฟลเดอร์พื้นที่ทำงานเพิ่มเติม
การติดตั้งรุ่นเก่าอาจสร้าง ~/openclaw การเก็บไดเรกทอรีพื้นที่ทำงานหลายแห่งไว้อาจทำให้เกิดความสับสนด้านการยืนยันตัวตนหรือสถานะคลาดเคลื่อน เนื่องจากมีพื้นที่ทำงานที่ใช้งานอยู่ได้ครั้งละหนึ่งแห่งเท่านั้น
แผนผังไฟล์พื้นที่ทำงาน
ไฟล์มาตรฐานที่ OpenClaw คาดว่าจะอยู่ภายในพื้นที่ทำงาน:
AGENTS.md - คำแนะนำการทำงาน
คำแนะนำการทำงานสำหรับเอเจนต์และวิธีใช้หน่วยความจำ โหลดเมื่อเริ่มต้นทุกเซสชัน เหมาะสำหรับกฎ ลำดับความสำคัญ และรายละเอียดเกี่ยวกับ "วิธีปฏิบัติตัว"
SOUL.md - บุคลิกและน้ำเสียง
บุคลิก น้ำเสียง และขอบเขต โหลดทุกเซสชัน คู่มือ: คู่มือบุคลิกภาพ SOUL.md
USER.md - ผู้ใช้คือใคร
ข้อมูลว่าผู้ใช้คือใครและควรเรียกผู้ใช้อย่างไร โหลดทุกเซสชัน
IDENTITY.md - ชื่อ อารมณ์ และอีโมจิ
ชื่อ อารมณ์ และอีโมจิของเอเจนต์ สร้างหรืออัปเดตระหว่างขั้นตอนเริ่มต้น
TOOLS.md - แนวทางการใช้เครื่องมือภายในเครื่อง
หมายเหตุเกี่ยวกับเครื่องมือภายในเครื่องและแนวทางการใช้งาน ไม่ได้ควบคุมความพร้อมใช้งานของเครื่องมือ เป็นเพียงคำแนะนำเท่านั้น
HEARTBEAT.md - รายการตรวจสอบ Heartbeat
รายการตรวจสอบขนาดเล็กที่ไม่บังคับสำหรับการเรียกใช้ Heartbeat ควรเขียนให้สั้นเพื่อหลีกเลี่ยงการใช้โทเค็นสิ้นเปลือง
BOOT.md - รายการตรวจสอบเมื่อเริ่มต้น
รายการตรวจสอบเมื่อเริ่มต้นที่ไม่บังคับ ซึ่งทำงานโดยอัตโนมัติเมื่อ Gateway เริ่มใหม่ (เมื่อเปิดใช้ ฮุกภายใน) ควรเขียนให้สั้น และใช้เครื่องมือข้อความสำหรับการส่งออก
BOOTSTRAP.md - ขั้นตอนการใช้งานครั้งแรก
ขั้นตอนการใช้งานครั้งแรกแบบครั้งเดียว สร้างเฉพาะสำหรับพื้นที่ทำงานใหม่เอี่ยมเท่านั้น ลบไฟล์นี้หลังดำเนินขั้นตอนเสร็จสมบูรณ์
memory/YYYY-MM-DD.md - บันทึกหน่วยความจำรายวัน
บันทึกหน่วยความจำรายวัน (หนึ่งไฟล์ต่อวัน) แนะนำให้อ่านของวันนี้และเมื่อวานเมื่อเริ่มเซสชัน
MEMORY.md - หน่วยความจำระยะยาวที่คัดสรรแล้ว (ไม่บังคับ)
หน่วยความจำระยะยาวที่คัดสรรแล้ว: ข้อเท็จจริงที่คงทน ค่ากำหนด การตัดสินใจ และบทสรุปสั้น ๆ เก็บบันทึกโดยละเอียดไว้ใน memory/YYYY-MM-DD.md เพื่อให้เครื่องมือหน่วยความจำเรียกคืนได้เมื่อต้องการ โดยไม่ต้องแทรกลงในทุกพรอมต์ โหลด MEMORY.md เฉพาะในเซสชันหลักที่เป็นส่วนตัวเท่านั้น (ไม่ใช่บริบทที่ใช้ร่วมกันหรือแบบกลุ่ม) ดูขั้นตอนการทำงานและการล้างหน่วยความจำอัตโนมัติที่ หน่วยความจำ
skills/ - Skills ของพื้นที่ทำงาน (ไม่บังคับ)
Skills เฉพาะพื้นที่ทำงาน เป็นตำแหน่ง Skills ที่มีลำดับความสำคัญสูงสุดสำหรับพื้นที่ทำงานนั้น โดยอยู่เหนือ Skills ของเอเจนต์ในโปรเจกต์ Skills ส่วนตัวของเอเจนต์ Skills ที่มีการจัดการ Skills ที่รวมมาให้ และ skills.load.extraDirs เมื่อชื่อซ้ำกัน
canvas/ - ไฟล์ UI ของ Canvas (ไม่บังคับ)
ไฟล์ UI ของ Canvas สำหรับการแสดงผลบน Node (เช่น canvas/index.html)
สิ่งที่ไม่ได้อยู่ในพื้นที่ทำงาน
รายการต่อไปนี้อยู่ภายใต้ ~/.openclaw/ และไม่ควรคอมมิตไปยังรีโพซิทอรีพื้นที่ทำงาน:
~/.openclaw/openclaw.json(การกำหนดค่า)~/.openclaw/state/openclaw.sqlite(สถานะการตั้งค่าพื้นที่ทำงานที่ใช้ร่วมกันและเอกสารรับรอง)~/.openclaw/agents/<agentId>/agent/auth-profiles.json(โปรไฟล์การยืนยันตัวตนของโมเดล: OAuth + คีย์ API)~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite(แถวเซสชัน บันทึกบทสนทนา และสถานะรันไทม์รายเอเจนต์)~/.openclaw/agents/<agentId>/agent/codex-home/(บัญชีรันไทม์ Codex รายเอเจนต์ การกำหนดค่า Skills, Plugins และสถานะเธรดแบบเนทีฟ)~/.openclaw/credentials/(สถานะช่องทาง/ผู้ให้บริการ รวมถึงข้อมูลนำเข้า OAuth แบบเดิม)~/.openclaw/agents/<agentId>/sessions/(ต้นทางการย้ายข้อมูลแบบเดิมและอาร์ติแฟกต์สำหรับการเก็บถาวร/การสนับสนุน)~/.openclaw/skills/(Skills ที่มีการจัดการ)
หากต้องการย้ายเซสชันหรือการกำหนดค่า ให้คัดลอกแยกต่างหากและอย่านำเข้าไปอยู่ในการควบคุมเวอร์ชัน
OpenClaw รุ่นเก่าเขียนไฟล์ประกอบพื้นที่ทำงาน openclaw-workspace-state.json,
.openclaw/workspace-state.json และ .attested รันไทม์ปัจจุบัน
ใช้เฉพาะฐานข้อมูล SQLite ที่ใช้ร่วมกันสำหรับสถานะดังกล่าว หาก Doctor รายงาน
ไฟล์ใดไฟล์หนึ่งเหล่านี้ ให้เรียกใช้ openclaw doctor --fix; Doctor จะนำเข้าสถานะ
แบบเดิมที่ถูกต้องและลบต้นทางหลังจากตรวจสอบแถวในฐานข้อมูลแล้วเท่านั้น
การสำรองข้อมูลด้วย Git (แนะนำ ให้เป็นส่วนตัว)
ถือว่าพื้นที่ทำงานเป็นหน่วยความจำส่วนตัว ให้นำไปไว้ในรีโพซิทอรี Git แบบ ส่วนตัว เพื่อให้มีข้อมูลสำรองและสามารถกู้คืนได้
เรียกใช้ขั้นตอนเหล่านี้บนเครื่องที่ Gateway ทำงานอยู่ (ซึ่งเป็นตำแหน่งที่พื้นที่ทำงานอยู่)
เริ่มต้นรีโพซิทอรี
หากติดตั้ง Git แล้ว พื้นที่ทำงานใหม่เอี่ยมจะถูกเริ่มต้นโดยอัตโนมัติ หากพื้นที่ทำงานนี้ยังไม่ใช่รีโพซิทอรี ให้เรียกใช้:
cd ~/.openclaw/workspacegit initgit add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/git commit -m "Add agent workspace"เพิ่มรีโมตส่วนตัว
เว็บ UI ของ GitHub
- สร้างรีโพซิทอรี ส่วนตัว ใหม่บน GitHub
- อย่าเริ่มต้นด้วย README (เพื่อหลีกเลี่ยงข้อขัดแย้งในการผสาน)
- คัดลอก URL รีโมตแบบ HTTPS
- เพิ่มรีโมตและพุช:
git branch -M maingit remote add origin <https-url>git push -u origin mainGitHub CLI (gh)
gh auth logingh repo create openclaw-workspace --private --source . --remote origin --pushเว็บ UI ของ GitLab
- สร้างรีโพซิทอรี ส่วนตัว ใหม่บน GitLab
- อย่าเริ่มต้นด้วย README (เพื่อหลีกเลี่ยงข้อขัดแย้งในการผสาน)
- คัดลอก URL รีโมตแบบ HTTPS
- เพิ่มรีโมตและพุช:
git branch -M maingit remote add origin <https-url>git push -u origin mainการอัปเดตอย่างต่อเนื่อง
git statusgit add .git commit -m "Update memory"git pushอย่าคอมมิตข้อมูลลับ
ตัวอย่างเริ่มต้นที่แนะนำสำหรับ .gitignore:
.DS_Store.env**/*.key**/*.pem**/secrets*การย้ายพื้นที่ทำงานไปยังเครื่องใหม่
โคลนรีโพซิทอรี
โคลนรีโพซิทอรีไปยังพาธที่ต้องการ (ค่าเริ่มต้น ~/.openclaw/workspace)
อัปเดตการกำหนดค่า
ตั้งค่า agents.defaults.workspace เป็นพาธนั้นใน ~/.openclaw/openclaw.json
เติมไฟล์ที่หายไป
เรียกใช้ openclaw setup --workspace <path> เพื่อเติมไฟล์ที่หายไป
คัดลอกเซสชัน (ไม่บังคับ)
หากต้องการเซสชัน ให้คัดลอก ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite
จากเครื่องเก่าแยกต่างหาก คัดลอก ~/.openclaw/agents/<agentId>/sessions/
เฉพาะเมื่อต้องการข้อมูลนำเข้าสำหรับการย้ายข้อมูลแบบเดิมหรืออาร์ติแฟกต์สำหรับการเก็บถาวร/การสนับสนุนด้วย
หมายเหตุขั้นสูง
- การกำหนดเส้นทางแบบหลายเอเจนต์สามารถใช้พื้นที่ทำงานที่แตกต่างกันสำหรับแต่ละเอเจนต์ผ่าน
agents.list[].workspaceดูการกำหนดค่าเส้นทางที่ การกำหนดเส้นทางช่องทาง - หากเปิดใช้
agents.defaults.sandboxเซสชันที่ไม่ใช่เซสชันหลักสามารถใช้พื้นที่ทำงานแซนด์บ็อกซ์รายเซสชันภายใต้agents.defaults.sandbox.workspaceRoot
ที่เกี่ยวข้อง
- Heartbeat - ไฟล์พื้นที่ทำงาน HEARTBEAT.md
- แซนด์บ็อกซ์ - การเข้าถึงพื้นที่ทำงานในสภาพแวดล้อมแบบแซนด์บ็อกซ์
- เซสชัน - พาธจัดเก็บเซสชัน
- คำสั่งถาวร - คำแนะนำถาวรในไฟล์พื้นที่ทำงาน