Fundamentals

Không gian làm việc của tác tử

Không gian làm việc là ngôi nhà của agent. Đây là thư mục làm việc duy nhất được dùng cho các công cụ tệp và ngữ cảnh không gian làm việc. Hãy giữ riêng tư và xem nó như bộ nhớ.

Nó tách biệt với ~/.openclaw/, nơi lưu cấu hình, thông tin xác thực và phiên.

Vị trí mặc định

  • Mặc định: ~/.openclaw/workspace
  • Nếu OPENCLAW_PROFILE được đặt và không phải "default", mặc định sẽ trở thành ~/.openclaw/workspace-<profile>.
  • Ghi đè trong ~/.openclaw/openclaw.json:
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}

openclaw onboard, openclaw configure hoặc openclaw setup sẽ tạo không gian làm việc và gieo các tệp bootstrap nếu chúng bị thiếu.

Nếu bạn đã tự quản lý các tệp không gian làm việc, bạn có thể tắt việc tạo tệp bootstrap:

{ agents: { defaults: { skipBootstrap: true } } }

Thư mục không gian làm việc bổ sung

Các bản cài đặt cũ hơn có thể đã tạo ~/openclaw. Việc giữ nhiều thư mục không gian làm việc có thể gây nhầm lẫn về xác thực hoặc lệch trạng thái, vì mỗi lần chỉ có một không gian làm việc hoạt động.

Sơ đồ tệp không gian làm việc

Đây là các tệp tiêu chuẩn mà OpenClaw kỳ vọng có trong không gian làm việc:

AGENTS.md - hướng dẫn vận hành

Hướng dẫn vận hành cho agent và cách agent nên dùng bộ nhớ. Được tải khi bắt đầu mỗi phiên. Đây là nơi phù hợp cho quy tắc, mức ưu tiên và chi tiết về "cách cư xử".

SOUL.md - persona và giọng điệu

Persona, giọng điệu và ranh giới. Được tải trong mọi phiên. Hướng dẫn: hướng dẫn tính cách SOUL.md.

USER.md - người dùng là ai

Người dùng là ai và cách xưng hô với họ. Được tải trong mọi phiên.

IDENTITY.md - tên, phong cách, emoji

Tên, phong cách và emoji của agent. Được tạo/cập nhật trong nghi thức bootstrap.

TOOLS.md - quy ước công cụ cục bộ

Ghi chú về công cụ và quy ước cục bộ của bạn. Không kiểm soát tính khả dụng của công cụ; nó chỉ là hướng dẫn.

HEARTBEAT.md - danh sách kiểm tra heartbeat

Danh sách kiểm tra nhỏ tùy chọn cho các lần chạy heartbeat. Giữ ngắn để tránh tốn token.

BOOT.md - danh sách kiểm tra khởi động

Danh sách kiểm tra khởi động tùy chọn chạy tự động khi gateway khởi động lại (khi hook nội bộ được bật). Giữ ngắn; dùng công cụ tin nhắn cho các lần gửi đi.

BOOTSTRAP.md - nghi thức chạy lần đầu

Nghi thức chạy lần đầu một lần duy nhất. Chỉ được tạo cho không gian làm việc hoàn toàn mới. Xóa nó sau khi nghi thức hoàn tất.

memory/YYYY-MM-DD.md - nhật ký bộ nhớ hằng ngày

Nhật ký bộ nhớ hằng ngày (mỗi ngày một tệp). Khuyến nghị đọc hôm nay + hôm qua khi bắt đầu phiên.

MEMORY.md - bộ nhớ dài hạn đã tuyển chọn (tùy chọn)

Bộ nhớ dài hạn đã tuyển chọn. Chỉ tải trong phiên chính, riêng tư (không phải ngữ cảnh chia sẻ/nhóm). Xem Bộ nhớ để biết quy trình và thao tác xả bộ nhớ tự động.

skills/ - Skills không gian làm việc (tùy chọn)

Skills dành riêng cho không gian làm việc. Vị trí skill có mức ưu tiên cao nhất cho không gian làm việc đó. Ghi đè Skills agent của dự án, Skills agent cá nhân, Skills được quản lý, Skills đóng gói sẵn và skills.load.extraDirs khi tên trùng nhau.

canvas/ - tệp giao diện Canvas (tùy chọn)

Tệp giao diện Canvas cho phần hiển thị node (ví dụ canvas/index.html).

Những gì KHÔNG nằm trong không gian làm việc

Các mục này nằm dưới ~/.openclaw/ và KHÔNG nên được commit vào repo không gian làm việc:

  • ~/.openclaw/openclaw.json (cấu hình)
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json (hồ sơ xác thực mô hình: OAuth + API keys)
  • ~/.openclaw/agents/<agentId>/agent/codex-home/ (tài khoản runtime Codex theo từng agent, cấu hình, Skills, plugins và trạng thái luồng gốc)
  • ~/.openclaw/credentials/ (trạng thái kênh/nhà cung cấp cùng dữ liệu nhập OAuth cũ)
  • ~/.openclaw/agents/<agentId>/sessions/ (bản ghi phiên + metadata)
  • ~/.openclaw/skills/ (Skills được quản lý)

Nếu bạn cần di chuyển phiên hoặc cấu hình, hãy sao chép riêng chúng và giữ chúng ngoài kiểm soát phiên bản.

Sao lưu Git (khuyến nghị, riêng tư)

Xem không gian làm việc như bộ nhớ riêng tư. Đặt nó trong một repo git riêng tư để được sao lưu và có thể khôi phục.

Chạy các bước này trên máy nơi Gateway chạy (đó là nơi không gian làm việc tồn tại).

  • Khởi tạo repo

    Nếu git đã được cài đặt, các không gian làm việc hoàn toàn mới sẽ được khởi tạo tự động. Nếu không gian làm việc này chưa phải là repo, hãy chạy:

    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"
    
  • Thêm remote riêng tư

    Giao diện web GitHub

    1. Tạo một kho lưu trữ riêng tư mới trên GitHub.
    2. Không khởi tạo với README (tránh xung đột merge).
    3. Sao chép URL remote HTTPS.
    4. Thêm remote và 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
    

    Giao diện web GitLab

    1. Tạo một kho lưu trữ riêng tư mới trên GitLab.
    2. Không khởi tạo với README (tránh xung đột merge).
    3. Sao chép URL remote HTTPS.
    4. Thêm remote và push:
    git branch -M main
    git remote add origin <https-url>
    git push -u origin main
    
  • Cập nhật liên tục

    git status
    git add .
    git commit -m "Update memory"
    git push
    
  • Không commit bí mật

    Mẫu khởi đầu .gitignore được gợi ý:

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

    Di chuyển không gian làm việc sang máy mới

  • Clone repo

    Clone repo vào đường dẫn mong muốn (mặc định ~/.openclaw/workspace).

  • Cập nhật cấu hình

    Đặt agents.defaults.workspace thành đường dẫn đó trong ~/.openclaw/openclaw.json.

  • Gieo tệp bị thiếu

    Chạy openclaw setup --workspace <path> để gieo bất kỳ tệp nào bị thiếu.

  • Sao chép phiên (tùy chọn)

    Nếu bạn cần phiên, hãy sao chép riêng ~/.openclaw/agents/<agentId>/sessions/ từ máy cũ.

  • Ghi chú nâng cao

    • Định tuyến đa agent có thể dùng các không gian làm việc khác nhau cho từng agent. Xem Định tuyến kênh để biết cấu hình định tuyến.
    • Nếu agents.defaults.sandbox được bật, các phiên không phải phiên chính có thể dùng không gian làm việc sandbox theo phiên dưới agents.defaults.sandbox.workspaceRoot.

    Liên quan