Fundamentals
พื้นที่ทำงานของเอเจนต์
พื้นที่ทำงานคือบ้านของเอเจนต์ เป็นไดเรกทอรีทำงานเดียวที่ใช้สำหรับเครื่องมือไฟล์และบริบทของพื้นที่ทำงาน เก็บไว้เป็นส่วนตัวและปฏิบัติต่อมันเหมือนเป็นหน่วยความจำ
สิ่งนี้แยกจาก ~/.openclaw/ ซึ่งเก็บ config, credentials และ sessions
ตำแหน่งเริ่มต้น
- ค่าเริ่มต้น:
~/.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 สับสนได้ เพราะมีพื้นที่ทำงานที่ active ได้เพียงหนึ่งแห่งในแต่ละครั้ง
แผนผังไฟล์พื้นที่ทำงาน
ต่อไปนี้คือไฟล์มาตรฐานที่ OpenClaw คาดว่าจะพบในพื้นที่ทำงาน:
AGENTS.md - คำสั่งการทำงาน
คำสั่งการทำงานสำหรับเอเจนต์และวิธีที่ควรใช้หน่วยความจำ โหลดเมื่อเริ่มทุก session เหมาะสำหรับกฎ ลำดับความสำคัญ และรายละเอียด "วิธีปฏิบัติตัว"
SOUL.md - บุคลิกและน้ำเสียง
บุคลิก น้ำเสียง และขอบเขต โหลดทุก session คู่มือ: คู่มือบุคลิกภาพ SOUL.md
USER.md - ผู้ใช้คือใคร
ผู้ใช้คือใครและควรเรียกพวกเขาอย่างไร โหลดทุก session
IDENTITY.md - ชื่อ vibe และ emoji
ชื่อ vibe และ emoji ของเอเจนต์ สร้าง/อัปเดตระหว่างพิธี bootstrap
TOOLS.md - ข้อตกลงเครื่องมือภายในเครื่อง
หมายเหตุเกี่ยวกับเครื่องมือภายในเครื่องและข้อตกลงของคุณ ไม่ได้ควบคุมความพร้อมใช้งานของเครื่องมือ เป็นเพียงคำแนะนำเท่านั้น
HEARTBEAT.md - checklist ของ heartbeat
checklist ขนาดเล็กทางเลือกสำหรับการรัน heartbeat ควรทำให้สั้นเพื่อหลีกเลี่ยงการใช้ token มากเกินไป
BOOT.md - checklist การเริ่มต้น
checklist การเริ่มต้นทางเลือกที่รันอัตโนมัติเมื่อ Gateway restart (เมื่อเปิดใช้ internal hooks) ควรทำให้สั้น ใช้เครื่องมือ message สำหรับการส่งออกไปภายนอก
BOOTSTRAP.md - พิธีการรันครั้งแรก
พิธีการรันครั้งแรกแบบครั้งเดียว สร้างเฉพาะสำหรับพื้นที่ทำงานใหม่เอี่ยมเท่านั้น ลบออกหลังจากพิธีเสร็จสมบูรณ์
memory/YYYY-MM-DD.md - บันทึกหน่วยความจำรายวัน
บันทึกหน่วยความจำรายวัน (หนึ่งไฟล์ต่อวัน) แนะนำให้อ่านวันนี้ + เมื่อวานเมื่อเริ่ม session
MEMORY.md - หน่วยความจำระยะยาวที่คัดสรรแล้ว (ทางเลือก)
หน่วยความจำระยะยาวที่คัดสรรแล้ว โหลดเฉพาะใน session หลักแบบส่วนตัว (ไม่ใช่บริบท shared/group) ดู Memory สำหรับ workflow และการ flush หน่วยความจำอัตโนมัติ
skills/ - Skills ของพื้นที่ทำงาน (ทางเลือก)
Skills เฉพาะพื้นที่ทำงาน ตำแหน่ง skill ที่มีลำดับความสำคัญสูงสุดสำหรับพื้นที่ทำงานนั้น Override Skills ของเอเจนต์โปรเจกต์, Skills ของเอเจนต์ส่วนตัว, Skills ที่จัดการแล้ว, Skills ที่ bundled และ skills.load.extraDirs เมื่อชื่อชนกัน
canvas/ - ไฟล์ Canvas UI (ทางเลือก)
ไฟล์ Canvas UI สำหรับการแสดงผล node (เช่น canvas/index.html)
สิ่งที่ไม่ได้อยู่ในพื้นที่ทำงาน
สิ่งเหล่านี้อยู่ใต้ ~/.openclaw/ และไม่ควร commit ไปยัง repo พื้นที่ทำงาน:
~/.openclaw/openclaw.json(config)~/.openclaw/agents/<agentId>/agent/auth-profiles.json(โปรไฟล์ auth ของโมเดล: OAuth + API keys)~/.openclaw/agents/<agentId>/agent/codex-home/(บัญชี runtime, config, Skills, plugins และ native thread state ของ Codex รายเอเจนต์)~/.openclaw/credentials/(state ของช่องทาง/ผู้ให้บริการ รวมถึงข้อมูลนำเข้า OAuth แบบ legacy)~/.openclaw/agents/<agentId>/sessions/(transcripts ของ session + metadata)~/.openclaw/skills/(Skills ที่จัดการแล้ว)
หากคุณต้องย้าย sessions หรือ config ให้คัดลอกแยกต่างหากและเก็บไว้นอก version control
สำรองด้วย Git (แนะนำ, ส่วนตัว)
ปฏิบัติต่อพื้นที่ทำงานเป็นหน่วยความจำส่วนตัว ใส่ไว้ใน git repo แบบ private เพื่อให้มีการสำรองและกู้คืนได้
รันขั้นตอนเหล่านี้บนเครื่องที่ Gateway ทำงานอยู่ (ซึ่งเป็นที่ที่พื้นที่ทำงานอยู่)
เริ่มต้น repo
หากติดตั้ง git แล้ว พื้นที่ทำงานใหม่เอี่ยมจะถูก initialize อัตโนมัติ หากพื้นที่ทำงานนี้ยังไม่ใช่ repo ให้รัน:
cd ~/.openclaw/workspace
git init
git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
git commit -m "Add agent workspace"
เพิ่ม remote แบบ private
GitHub web UI
- สร้าง repository private ใหม่บน GitHub
- อย่า initialize ด้วย README (เพื่อหลีกเลี่ยง merge conflicts)
- คัดลอก HTTPS remote URL
- เพิ่ม remote แล้ว push:
git branch -M main
git remote add origin <https-url>
git push -u origin main
GitHub CLI (gh)
gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push
GitLab web UI
- สร้าง repository private ใหม่บน GitLab
- อย่า initialize ด้วย README (เพื่อหลีกเลี่ยง merge conflicts)
- คัดลอก HTTPS remote URL
- เพิ่ม remote แล้ว push:
git branch -M main
git remote add origin <https-url>
git push -u origin main
การอัปเดตต่อเนื่อง
git status
git add .
git commit -m "Update memory"
git push
อย่า commit secrets
ตัวอย่างเริ่มต้น .gitignore ที่แนะนำ:
.DS_Store
.env
**/*.key
**/*.pem
**/secrets*
การย้ายพื้นที่ทำงานไปยังเครื่องใหม่
Clone repo
Clone repo ไปยัง path ที่ต้องการ (ค่าเริ่มต้น ~/.openclaw/workspace)
อัปเดต config
ตั้งค่า agents.defaults.workspace เป็น path นั้นใน ~/.openclaw/openclaw.json
เติมไฟล์ที่หายไป
รัน openclaw setup --workspace <path> เพื่อ seed ไฟล์ใดก็ตามที่หายไป
คัดลอก sessions (ทางเลือก)
หากคุณต้องการ sessions ให้คัดลอก ~/.openclaw/agents/<agentId>/sessions/ จากเครื่องเก่าแยกต่างหาก
หมายเหตุขั้นสูง
- การ routing แบบหลายเอเจนต์สามารถใช้พื้นที่ทำงานที่ต่างกันต่อเอเจนต์ได้ ดู Channel routing สำหรับ config การ routing
- หากเปิดใช้
agents.defaults.sandboxsession ที่ไม่ใช่ main สามารถใช้พื้นที่ทำงานแซนด์บ็อกซ์ราย session ใต้agents.defaults.sandbox.workspaceRoot
ที่เกี่ยวข้อง
- Heartbeat - ไฟล์พื้นที่ทำงาน HEARTBEAT.md
- Sandboxing - การเข้าถึงพื้นที่ทำงานในสภาพแวดล้อมแบบแซนด์บ็อกซ์
- Session - paths การจัดเก็บ session
- Standing orders - คำสั่งถาวรในไฟล์พื้นที่ทำงาน