Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

เวิร์กสเปซของเอเจนต์

  1. workspace คือบ้านของเอเจนต์ เวิร์กสเปซคือบ้านของเอเจนต์ เป็นไดเรกทอรีทำงานเพียงแห่งเดียวที่ใช้กับเครื่องมือจัดการไฟล์และบริบทของเวิร์กสเปซ ควรเก็บไว้เป็นส่วนตัวและปฏิบัติกับมันเหมือนหน่วยความจำ 18. เก็บไว้เป็นส่วนตัวและปฏิบัติต่อมันเหมือนหน่วยความจำ

ส่วนนี้แยกจาก ~/.openclaw/ ซึ่งใช้เก็บคอนฟิก ข้อมูลรับรอง และเซสชัน

  1. สำคัญ: workspace คือ cwd เริ่มต้น, ไม่ใช่ sandbox แบบแข็ง 20. เครื่องมือ จะแก้พาธสัมพัทธ์โดยอ้างอิงจาก workspace แต่พาธแบบสัมบูรณ์ยังสามารถเข้าถึง ตำแหน่งอื่นบนโฮสต์ได้ เว้นแต่จะเปิด sandbox 21. หากคุณต้องการการแยก ให้ใช้ agents.defaults.sandbox (และ/หรือการตั้งค่า sandbox ต่อเอเจนต์) สำคัญ: เวิร์กสเปซคือ cwd ค่าเริ่มต้น ไม่ใช่ sandbox แบบตายตัว เครื่องมือจะ resolve พาธแบบ relative เทียบกับเวิร์กสเปซ แต่พาธแบบ absolute ยังสามารถเข้าถึงตำแหน่งอื่นบนโฮสต์ได้ เว้นแต่จะเปิดใช้ sandboxing หากต้องการการแยกที่ชัดเจน ให้ใช้ agents.defaults.sandbox (และ/หรือคอนฟิก sandbox แบบต่อเอเจนต์) เมื่อเปิดใช้ sandboxing และ workspaceAccess ไม่เป็น "rw" เครื่องมือจะทำงานภายในเวิร์กสเปซของ sandbox ภายใต้ ~/.openclaw/sandboxes ไม่ใช่เวิร์กสเปซบนโฮสต์ของคุณ

ตำแหน่งค่าเริ่มต้น

  • ค่าเริ่มต้น: ~/.openclaw/workspace
  • หากตั้งค่า OPENCLAW_PROFILE และไม่เป็น "default" ค่าเริ่มต้นจะเป็น ~/.openclaw/workspace-<profile>
  • สามารถ override ได้ใน ~/.openclaw/openclaw.json:
{
  agent: {
    workspace: "~/.openclaw/workspace",
  },
}

openclaw onboard , openclaw configure หรือ openclaw setup จะสร้างเวิร์กสเปซและ seed ไฟล์ bootstrap หากยังไม่มี

หากคุณจัดการไฟล์ในเวิร์กสเปซเองอยู่แล้ว สามารถปิดการสร้างไฟล์ bootstrap ได้:

{ agent: { skipBootstrap: true } }

โฟลเดอร์เวิร์กสเปซเพิ่มเติม

  1. การติดตั้งรุ่นเก่าอาจสร้าง ~/openclaw ไว้แล้ว การติดตั้งรุ่นเก่าอาจเคยสร้าง ~/openclaw การเก็บไดเรกทอรีเวิร์กสเปซหลายแห่งพร้อมกันอาจทำให้เกิดความสับสนด้านการยืนยันตัวตนหรือสถานะไม่ตรงกัน เนื่องจากจะมีเวิร์กสเปซที่ทำงานอยู่ได้เพียงแห่งเดียวในแต่ละครั้ง

  2. คำแนะนำ: ควรมี workspace ที่ใช้งานอยู่เพียงหนึ่งเดียว 24. หากคุณไม่ใช้ โฟลเดอร์เพิ่มเติมเหล่านั้นแล้ว ให้เก็บถาวรหรือย้ายไปที่ถังขยะ (เช่น trash ~/openclaw) คำแนะนำ: ควรมีเวิร์กสเปซที่ใช้งานอยู่เพียงหนึ่งเดียว หากไม่ใช้โฟลเดอร์เพิ่มเติมแล้ว ให้เก็บถาวรหรือย้ายไปยังถังขยะ (เช่น trash ~/openclaw) หากตั้งใจเก็บหลายเวิร์กสเปซ ให้ตรวจสอบว่า agents.defaults.workspace ชี้ไปยังเวิร์กสเปซที่ใช้งานอยู่

openclaw doctor จะเตือนเมื่อพบไดเรกทอรีเวิร์กสเปซเพิ่มเติม

แผนผังไฟล์ในเวิร์กสเปซ (แต่ละไฟล์หมายถึงอะไร)

ไฟล์มาตรฐานที่ OpenClaw คาดว่าจะมีอยู่ภายในเวิร์กสเปซมีดังนี้:

  • AGENTS.md
  • คำแนะนำการทำงานสำหรับเอเจนต์และวิธีใช้หน่วยความจำ
  • โหลดเมื่อเริ่มทุกเซสชัน
  • เหมาะสำหรับกฎ ลำดับความสำคัญ และรายละเอียด “วิธีการประพฤติ”

  • SOUL.md

  • บุคลิก โทน และขอบเขต
  • โหลดทุกเซสชัน

  • USER.md

  • ข้อมูลว่าผู้ใช้คือใครและควรเรียกอย่างไร
  • โหลดทุกเซสชัน

  • IDENTITY.md

    1. ชื่อ บุคลิก และอีโมจิของเอเจนต์
  • สร้าง/อัปเดตระหว่างพิธี bootstrap

  • TOOLS.md

    1. บันทึกเกี่ยวกับเครื่องมือและธรรมเนียมการใช้งานในเครื่องของคุณ
  • ไม่ได้ควบคุมความพร้อมใช้งานของเครื่องมือ เป็นเพียงแนวทางเท่านั้น

  • HEARTBEAT.md

  • เช็กลิสต์ขนาดเล็กแบบไม่บังคับสำหรับการรัน heartbeat
  • ควรสั้นเพื่อหลีกเลี่ยงการใช้โทเคนมากเกินไป

  • BOOT.md

  • เช็กลิสต์เริ่มต้นระบบแบบไม่บังคับที่รันเมื่อ Gateway รีสตาร์ต หากเปิดใช้ internal hooks
  • ควรสั้น และใช้ message tool สำหรับการส่งออกภายนอก

  • BOOTSTRAP.md

  • พิธีการรันครั้งแรกแบบครั้งเดียว
  • จะถูกสร้างเฉพาะเวิร์กสเปซใหม่เอี่ยมเท่านั้น
  • ลบทิ้งหลังจากพิธีเสร็จสมบูรณ์

  • memory/YYYY-MM-DD.md

  • บันทึกหน่วยความจำรายวัน (หนึ่งไฟล์ต่อวัน)
  • แนะนำให้อ่านของวันนี้และเมื่อวานเมื่อเริ่มเซสชัน

  • MEMORY.md (ไม่บังคับ)

  • หน่วยความจำระยะยาวที่คัดสรรแล้ว
  • โหลดเฉพาะในเซสชันหลักแบบส่วนตัว (ไม่ใช่บริบทที่แชร์/กลุ่ม)

ดู Memory สำหรับเวิร์กโฟลว์และการล้างหน่วยความจำอัตโนมัติ

  • skills/ (ไม่บังคับ)
  • Skills เฉพาะเวิร์กสเปซ
  • จะ override Skills ที่จัดการ/บันเดิลไว้เมื่อชื่อซ้ำกัน

  • canvas/ (ไม่บังคับ)

  • ไฟล์ Canvas UI สำหรับการแสดงผลโหนด (เช่น canvas/index.html)
  1. หากไฟล์ bootstrap ใดหายไป OpenClaw จะใส่ตัวบ่งชี้ว่า "missing file" ลงใน เซสชันและทำงานต่อ หากไฟล์ bootstrap ใดหายไป OpenClaw จะใส่ตัวบ่งชี้ “missing file” เข้าไปในเซสชันและดำเนินการต่อ ไฟล์ bootstrap ที่มีขนาดใหญ่จะถูกตัดทอนเมื่อถูกฉีดเข้าไป สามารถปรับขีดจำกัดได้ด้วย agents.defaults.bootstrapMaxChars (ค่าเริ่มต้น: 20000) openclaw setup สามารถสร้างค่าเริ่มต้นที่ขาดหายไปใหม่ได้โดยไม่เขียนทับไฟล์ที่มีอยู่
  2. openclaw setup สามารถสร้างค่าเริ่มต้นที่หายไปใหม่ได้โดยไม่เขียนทับไฟล์ที่มีอยู่

สิ่งที่ไม่ได้อยู่ในเวิร์กสเปซ

สิ่งเหล่านี้อยู่ภายใต้ ~/.openclaw/ และไม่ควร commit ลงในรีโปเวิร์กสเปซ:

  • ~/.openclaw/openclaw.json (คอนฟิก)
  • ~/.openclaw/credentials/ (โทเคน OAuth คีย์API)
  • ~/.openclaw/agents/<agentId>/sessions/ (ทรานสคริปต์เซสชัน + เมตาดาตา)
  • ~/.openclaw/skills/ (Skills ที่จัดการ)

หากต้องย้ายเซสชันหรือคอนฟิก ให้คัดลอกแยกต่างหากและเก็บออกจากระบบควบคุมเวอร์ชัน

สำรองข้อมูลด้วย Git (แนะนำ แบบส่วนตัว)

  1. ปฏิบัติต่อ workspace เหมือนหน่วยความจำส่วนตัว ปฏิบัติกับเวิร์กสเปซเหมือนหน่วยความจำส่วนตัว ใส่ไว้ในรีโป git แบบ ส่วนตัว เพื่อให้มีการสำรองและกู้คืนได้

ให้รันขั้นตอนเหล่านี้บนเครื่องที่ Gateway ทำงานอยู่ (เพราะเวิร์กสเปซอยู่ที่นั่น)

1. เริ่มต้นรีโป

หากติดตั้ง git แล้ว เวิร์กสเปซใหม่เอี่ยมจะถูกเริ่มต้นอัตโนมัติ หากเวิร์กสเปซนี้ยังไม่ใช่รีโป ให้รัน: 30. หาก workspace นี้ยังไม่ใช่รีโป ให้รัน:

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"

2. เพิ่มรีโมตแบบส่วนตัว (ตัวเลือกที่เป็นมิตรกับผู้เริ่มต้น)

ตัวเลือก A: GitHub web UI

  1. สร้างรีโปใหม่แบบ ส่วนตัว บน GitHub
  2. อย่าเริ่มต้นด้วย README (เพื่อลดปัญหา merge conflict)
  3. คัดลอก URL รีโมตแบบ HTTPS
  4. เพิ่มรีโมตและ push:
git branch -M main
git remote add origin <https-url>
git push -u origin main

ตัวเลือก B: GitHub CLI (gh)

gh auth login
gh repo create openclaw-workspace --private --source . --remote origin --push

ตัวเลือก C: GitLab web UI

  1. สร้างรีโปใหม่แบบ ส่วนตัว บน GitLab
  2. อย่าเริ่มต้นด้วย README (เพื่อลดปัญหา merge conflict)
  3. คัดลอก URL รีโมตแบบ HTTPS
  4. เพิ่มรีโมตและ push:
git branch -M main
git remote add origin <https-url>
git push -u origin main

3. การอัปเดตอย่างต่อเนื่อง

git status
git add .
git commit -m "Update memory"
git push

อย่า commit ความลับ

แม้จะเป็นรีโปส่วนตัว ก็ควรหลีกเลี่ยงการเก็บความลับไว้ในเวิร์กสเปซ:

  • คีย์API โทเคน OAuth รหัสผ่าน หรือข้อมูลรับรองส่วนตัว
  • ทุกอย่างภายใต้ ~/.openclaw/
  • ดัมพ์แชตดิบหรือไฟล์แนบที่มีความอ่อนไหว

หากจำเป็นต้องเก็บการอ้างอิงที่อ่อนไหว ให้ใช้ placeholder และเก็บความลับจริงไว้ที่อื่น (ตัวจัดการรหัสผ่าน ตัวแปรสภาพแวดล้อม หรือ ~/.openclaw/)

ตัวอย่าง .gitignore สำหรับเริ่มต้นที่แนะนำ:

.DS_Store
.env
**/*.key
**/*.pem
**/secrets*

การย้ายเวิร์กสเปซไปยังเครื่องใหม่

  1. โคลนรีโปไปยังพาธที่ต้องการ (ค่าเริ่มต้น ~/.openclaw/workspace)
  2. ตั้งค่า agents.defaults.workspace ให้เป็นพาธนั้นใน ~/.openclaw/openclaw.json
  3. รัน openclaw setup --workspace <path> เพื่อ seed ไฟล์ที่ขาดหายไป
  4. หากต้องการเซสชัน ให้คัดลอก ~/.openclaw/agents/<agentId>/sessions/ จากเครื่องเดิมแยกต่างหาก

หมายเหตุขั้นสูง

  • การทำ multi-agent routing สามารถใช้เวิร์กสเปซที่แตกต่างกันต่อเอเจนต์ ดู Channel routing สำหรับการกำหนดค่าการ routing 31. ดู Channel routing สำหรับการตั้งค่าการกำหนดเส้นทาง
  • หากเปิดใช้ agents.defaults.sandbox เซสชันที่ไม่ใช่หลักสามารถใช้เวิร์กสเปซ sandbox แบบต่อเซสชันภายใต้ agents.defaults.sandbox.workspaceRoot