Fundamentals
พื้นที่ทำงานของเอเจนต์
เวิร์กสเปซคือบ้านของเอเจนต์ เป็นไดเรกทอรีทำงานเดียวที่ใช้สำหรับเครื่องมือไฟล์และบริบทเวิร์กสเปซ เก็บไว้เป็นส่วนตัวและปฏิบัติต่อมันเหมือนเป็นหน่วยความจำ
สิ่งนี้แยกจาก ~/.openclaw/ ซึ่งใช้เก็บการกำหนดค่า ข้อมูลประจำตัว และเซสชัน
ตำแหน่งเริ่มต้น
- ค่าเริ่มต้น:
~/.openclaw/workspace - หากตั้งค่า
OPENCLAW_PROFILEและไม่ใช่"default"ค่าเริ่มต้นจะกลายเป็น~/.openclaw/workspace-<profile> - override ใน
~/.openclaw/openclaw.json:
{ agents: { defaults: { workspace: "~/.openclaw/workspace", }, },}openclaw onboard, openclaw configure หรือ openclaw setup จะสร้างเวิร์กสเปซและเติมไฟล์ bootstrap หากยังไม่มี
หากคุณจัดการไฟล์เวิร์กสเปซเองอยู่แล้ว คุณสามารถปิดการสร้างไฟล์ bootstrap ได้:
{ agents: { defaults: { skipBootstrap: true } } }โฟลเดอร์เวิร์กสเปซเพิ่มเติม
การติดตั้งรุ่นเก่าอาจสร้าง ~/openclaw ไว้ การเก็บไดเรกทอรีเวิร์กสเปซหลายชุดไว้พร้อมกันอาจทำให้ auth หรือ state drift สับสนได้ เพราะมีเวิร์กสเปซที่ใช้งานอยู่ได้ครั้งละหนึ่งชุดเท่านั้น
แผนผังไฟล์เวิร์กสเปซ
ไฟล์เหล่านี้คือไฟล์มาตรฐานที่ OpenClaw คาดว่าจะอยู่ภายในเวิร์กสเปซ:
AGENTS.md - คำสั่งการทำงาน
คำสั่งการทำงานสำหรับเอเจนต์และวิธีที่ควรใช้หน่วยความจำ โหลดเมื่อเริ่มทุกเซสชัน เหมาะสำหรับกฎ ลำดับความสำคัญ และรายละเอียด "วิธีปฏิบัติตัว"
SOUL.md - บุคลิกและน้ำเสียง
บุคลิก น้ำเสียง และขอบเขต โหลดทุกเซสชัน คู่มือ: คู่มือบุคลิก SOUL.md
USER.md - ผู้ใช้คือใคร
ผู้ใช้คือใครและควรเรียกผู้ใช้อย่างไร โหลดทุกเซสชัน
IDENTITY.md - ชื่อ สไตล์ อีโมจิ
ชื่อ สไตล์ และอีโมจิของเอเจนต์ สร้าง/อัปเดตระหว่างพิธี bootstrap
TOOLS.md - แบบแผนเครื่องมือ local
หมายเหตุเกี่ยวกับเครื่องมือ local และแบบแผนของคุณ ไม่ได้ควบคุมความพร้อมใช้งานของเครื่องมือ เป็นเพียงคำแนะนำเท่านั้น
HEARTBEAT.md - เช็กลิสต์ Heartbeat
เช็กลิสต์ขนาดเล็กแบบไม่บังคับสำหรับการรัน Heartbeat เขียนให้สั้นเพื่อหลีกเลี่ยงการใช้โทเค็นมากเกินไป
BOOT.md - เช็กลิสต์เริ่มต้น
เช็กลิสต์เริ่มต้นแบบไม่บังคับที่รันอัตโนมัติเมื่อ Gateway restart (เมื่อเปิดใช้ internal hooks) เขียนให้สั้น ใช้เครื่องมือ message สำหรับการส่งออกขาออก
BOOTSTRAP.md - พิธีรันครั้งแรก
พิธีรันครั้งแรกแบบครั้งเดียว สร้างเฉพาะสำหรับเวิร์กสเปซใหม่เอี่ยมเท่านั้น ลบออกหลังพิธีเสร็จสมบูรณ์
memory/YYYY-MM-DD.md - บันทึกหน่วยความจำรายวัน
บันทึกหน่วยความจำรายวัน (หนึ่งไฟล์ต่อวัน) แนะนำให้อ่านวันนี้ + เมื่อวานเมื่อเริ่มเซสชัน
MEMORY.md - หน่วยความจำระยะยาวที่คัดสรรแล้ว (ไม่บังคับ)
หน่วยความจำระยะยาวที่คัดสรรแล้ว: ข้อเท็จจริงที่คงทน การตั้งค่า การตัดสินใจ และสรุปสั้น ๆ เก็บบันทึกรายละเอียดไว้ใน memory/YYYY-MM-DD.md เพื่อให้เครื่องมือหน่วยความจำดึงมาใช้ได้ตามต้องการโดยไม่ต้อง inject เข้าไปในทุก prompt โหลด MEMORY.md เฉพาะในเซสชันหลักที่เป็นส่วนตัวเท่านั้น (ไม่ใช่บริบทที่แชร์/กลุ่ม) ดู หน่วยความจำ สำหรับ workflow และการ flush หน่วยความจำอัตโนมัติ
skills/ - Skills ของเวิร์กสเปซ (ไม่บังคับ)
Skills เฉพาะเวิร์กสเปซ ตำแหน่ง Skills ที่มีลำดับความสำคัญสูงสุดสำหรับเวิร์กสเปซนั้น override Skills ของเอเจนต์ในโปรเจกต์, Skills ของเอเจนต์ส่วนตัว, Skills ที่จัดการแล้ว, Skills ที่ bundled มา และ skills.load.extraDirs เมื่อชื่อซ้ำกัน
canvas/ - ไฟล์ Canvas UI (ไม่บังคับ)
ไฟล์ Canvas UI สำหรับการแสดงผล node (เช่น canvas/index.html)
สิ่งที่ไม่ได้อยู่ในเวิร์กสเปซ
สิ่งเหล่านี้อยู่ใต้ ~/.openclaw/ และไม่ควร commit เข้า repo เวิร์กสเปซ:
~/.openclaw/openclaw.json(การกำหนดค่า)~/.openclaw/agents/<agentId>/agent/auth-profiles.json(โปรไฟล์ auth ของโมเดล: OAuth + API keys)~/.openclaw/agents/<agentId>/agent/codex-home/(บัญชี runtime ของ Codex รายเอเจนต์ การกำหนดค่า Skills, plugins และ native thread state)~/.openclaw/credentials/(state ของ channel/provider รวมถึงข้อมูล import OAuth legacy)~/.openclaw/agents/<agentId>/sessions/(transcript ของเซสชัน + metadata)~/.openclaw/skills/(Skills ที่จัดการแล้ว)
หากคุณต้อง migrate เซสชันหรือการกำหนดค่า ให้คัดลอกแยกต่างหากและเก็บออกจาก version control
การสำรองข้อมูลด้วย Git (แนะนำ, เป็นส่วนตัว)
ปฏิบัติต่อเวิร์กสเปซเหมือนหน่วยความจำส่วนตัว ใส่ไว้ใน git repo แบบ private เพื่อให้มีการสำรองและกู้คืนได้
รันขั้นตอนเหล่านี้บนเครื่องที่ Gateway ทำงานอยู่ (ซึ่งเป็นที่ที่เวิร์กสเปซอยู่)
Initialize repo
หากติดตั้ง git ไว้ เวิร์กสเปซใหม่เอี่ยมจะถูก initialize อัตโนมัติ หากเวิร์กสเปซนี้ยังไม่เป็น repo ให้รัน:
cd ~/.openclaw/workspacegit initgit add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/git commit -m "Add agent workspace"เพิ่ม private remote
เว็บ UI ของ GitHub
- สร้าง repository แบบ private ใหม่บน GitHub
- อย่า initialize ด้วย README (เพื่อหลีกเลี่ยง merge conflicts)
- คัดลอก HTTPS remote URL
- เพิ่ม remote และ push:
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
- สร้าง repository แบบ private ใหม่บน GitLab
- อย่า initialize ด้วย README (เพื่อหลีกเลี่ยง merge conflicts)
- คัดลอก HTTPS remote URL
- เพิ่ม remote และ push:
git branch -M maingit remote add origin <https-url>git push -u origin mainการอัปเดตต่อเนื่อง
git statusgit add .git commit -m "Update memory"git pushอย่า commit ความลับ
ตัวเริ่มต้น .gitignore ที่แนะนำ:
.DS_Store.env**/*.key**/*.pem**/secrets*การย้ายเวิร์กสเปซไปยังเครื่องใหม่
Clone repo
Clone repo ไปยังพาธที่ต้องการ (ค่าเริ่มต้น ~/.openclaw/workspace)
อัปเดตการกำหนดค่า
ตั้งค่า agents.defaults.workspace เป็นพาธนั้นใน ~/.openclaw/openclaw.json
Seed ไฟล์ที่หายไป
รัน openclaw setup --workspace <path> เพื่อ seed ไฟล์ใด ๆ ที่หายไป
คัดลอกเซสชัน (ไม่บังคับ)
หากคุณต้องการเซสชัน ให้คัดลอก ~/.openclaw/agents/<agentId>/sessions/ จากเครื่องเก่าแยกต่างหาก
หมายเหตุขั้นสูง
- การกำหนดเส้นทางแบบหลายเอเจนต์สามารถใช้เวิร์กสเปซต่างกันต่อเอเจนต์ได้ ดู การกำหนดเส้นทาง channel สำหรับการกำหนดค่า routing
- หากเปิดใช้
agents.defaults.sandboxเซสชันที่ไม่ใช่ main สามารถใช้เวิร์กสเปซ sandbox รายเซสชันใต้agents.defaults.sandbox.workspaceRoot
ที่เกี่ยวข้อง
- Heartbeat - ไฟล์เวิร์กสเปซ HEARTBEAT.md
- Sandboxing - การเข้าถึงเวิร์กสเปซในสภาพแวดล้อมแบบ sandbox
- เซสชัน - พาธจัดเก็บเซสชัน
- Standing orders - คำสั่งถาวรในไฟล์เวิร์กสเปซ