Workspace là gì và tại sao nó quan trọng?
Khi bạn chạy OpenClaw lần đầu, nó tạo ra một thư mục ~/.openclaw/workspace/ với vài file markdown bên trong.
Nhìn bề ngoài rất đơn giản — nhưng đây chính là "bộ não khởi động" của agent: nơi quyết định agent biết gì,
là ai, và hành xử như thế nào từ khoảnh khắc nó được khởi chạy.
Triết lý thiết kế của OpenClaw rất rõ ràng: files are the source of truth. Không có dashboard ẩn, không có cơ sở dữ liệu nội bộ. Mọi thứ agent cần biết đều nằm trong các file markdown mà bạn có thể đọc và chỉnh sửa bằng bất kỳ text editor nào.
Điều này mang lại hai lợi ích cốt lõi:
- Transparency: bạn luôn kiểm soát được agent đang biết gì và đang làm gì.
- Portability: toàn bộ cấu hình có thể version control bằng Git — rollback bất cứ lúc nào.
Cấu trúc workspace mặc định
Sau khi cài đặt, workspace trông như sau:
├── AGENTS.md # Hướng dẫn vận hành — được load mỗi phiên
├── SOUL.md # Tính cách và phong cách giao tiếp
├── IDENTITY.md # Tên, ID, vai trò của agent
├── USER.md # Ngữ cảnh về chủ sở hữu
├── TOOLS.md # Ghi chú về môi trường và công cụ
├── HEARTBEAT.md # Tác vụ định kỳ tự động
├── MEMORY.md # Index trí nhớ dài hạn
└── memory/ # Thư mục ghi chú theo ngày
└── 2026-04-12.md
Tóm tắt nhanh mức độ ưu tiên của từng file:
| File | Vai trò | Mức độ |
|---|---|---|
AGENTS.md |
Quy tắc hành xử, nhiệm vụ chính — load mỗi phiên | Critical |
SOUL.md |
Tính cách, giọng điệu, phong cách giao tiếp | Critical |
USER.md |
Ngữ cảnh về người dùng — giúp agent cá nhân hóa phản hồi | Important |
TOOLS.md |
Thông tin môi trường: server, API, thiết bị | Important |
IDENTITY.md |
Định danh agent — cần thiết khi chạy multi-agent | Optional |
HEARTBEAT.md |
Tác vụ tự động chạy định kỳ | Optional |
Giải mã từng file
Đây là file quan trọng nhất trong workspace. AGENTS.md được nạp vào context
mỗi lần agent khởi động — tương tự như bạn đưa cho nhân viên mới một tờ
"Quy tắc làm việc" vào ngày đầu tiên, trước khi họ làm bất cứ điều gì.
Một AGENTS.md hoàn chỉnh nên có các mục sau:
# Hướng dẫn vận hành
## Vai trò
Bạn là trợ lý AI cá nhân của [Tên]. Nhiệm vụ chính:
- Quản lý lịch trình và nhắc việc
- Hỗ trợ viết code và debug
- Nghiên cứu và tóm tắt thông tin
## Quy tắc giao tiếp
- Trả lời bằng tiếng Việt trừ khi được yêu cầu khác
- Ngắn gọn, đi thẳng vào vấn đề
- Nếu không chắc → hỏi lại thay vì đoán
## Quy tắc an toàn
- Không chạy lệnh xóa dữ liệu mà không xác nhận trước
- Không chia sẻ thông tin cá nhân ra ngoài
- Log lại mọi thao tác quan trọng
## Bài học từ thực tế
# Cập nhật khi agent mắc lỗi — để không lặp lại
- 2026-04-10: Không dùng rm -rf mà không kiểm tra path trước
Nếu AGENTS.md là "bản mô tả công việc", thì SOUL.md là "tính cách con người".
File này định nghĩa cách agent giao tiếp — không phải làm gì, mà là
nói như thế nào.
# Soul
## Tính cách
Thân thiện nhưng chuyên nghiệp. Nói chuyện tự nhiên
như đồng nghiệp — không quá trang trọng, không suồng sã.
## Giọng điệu
- Dùng "mình" và "bạn" thay vì "tôi" và "quý khách"
- Có thể pha chút hài hước khi ngữ cảnh phù hợp
- Giải thích kỹ thuật bằng ví dụ đời thường
## Nguyên tắc phản hồi
- Không dùng emoji quá nhiều
- Không trả lời dài dòng khi câu hỏi đơn giản
- Thừa nhận khi không chắc — đừng tỏ ra biết tuốt
- Kết thúc bằng câu hỏi ngược nếu cần làm rõ yêu cầu
File ngắn nhất nhưng không thể thiếu khi bạn chạy nhiều agent trên cùng một máy. OpenClaw dùng thông tin này để định tuyến tin nhắn đúng agent.
name: Minh
role: Personal Assistant
id: main-agent
Nếu chỉ dùng một agent đơn, file này không cần phức tạp hơn ba dòng trên.
Đây là nơi bạn cho agent hiểu về bản thân bạn. Nguyên tắc đơn giản: càng nhiều ngữ cảnh, câu trả lời càng chính xác. Agent biết bạn là developer sẽ giải thích khác với một người không biết code.
# User
## Thông tin cơ bản
- Tên: Hùng
- Nghề: Full-stack developer
- Ngôn ngữ: Tiếng Việt (chính), English (đọc tốt)
- Múi giờ: UTC+7 (Việt Nam)
## Dự án hiện tại
- Đang phát triển OnMay — nền tảng VPS hosting
- Stack: Next.js, TypeScript, PostgreSQL
- Ưu tiên: hoàn thiện tính năng payment
## Phong cách làm việc
- Code nhiều nhất vào buổi tối (20h–1h)
- Thích giải thích ngắn gọn, kèm ví dụ cụ thể
- Không thích câu trả lời chung chung kiểu "tuỳ trường hợp"
USER.md. File này được đọc bởi model AI. Chỉ đưa thông tin mà bạn thoải mái
chia sẻ với một đồng nghiệp tin cậy.
TOOLS.md không phải nơi cấu hình tool (việc đó thuộc về openclaw.json).
Đây là nơi ghi thông tin thực tế về môi trường mà agent cần biết để hành động đúng.
# Tools Notes
## SSH Servers
- Production: ssh deploy@10.10.10.2 (key: ~/.ssh/onmay_deploy)
- Staging: ssh dev@10.10.10.3
## Camera nhà
- Phòng khách: rtsp://192.168.1.100/stream
- Model: Hikvision DS-2CD2143G2
## API Keys location
- Anthropic: lưu trong .env.local
- OpenAI: lưu trong 1Password vault "Dev Keys"
# Không lưu key trực tiếp trong file này
Cách các file phối hợp với nhau
Sức mạnh thực sự của workspace không nằm ở từng file riêng lẻ, mà ở cách chúng phối hợp. Một ví dụ thực tế: bạn nhắn cho agent "Kiểm tra server production có ổn không?"
10.10.10.2, key: onmay_deploy.
Kết quả: agent SSH vào server, kiểm tra CPU / RAM / disk, và báo lại — tất cả từ một câu hỏi bốn từ. Không có workspace đúng cách, agent sẽ phải hỏi lại IP, hỏi lại key path, rồi trả lời theo template chung.
Mẹo thực tế
Bắt đầu tối giản, mở rộng dần
Đừng cố viết workspace hoàn hảo ngay từ đầu. Bắt đầu với AGENTS.md và SOUL.md cơ bản
— 20–30 dòng mỗi file là đủ. Bổ sung khi bạn nhận ra agent thiếu ngữ cảnh nào đó trong quá trình sử dụng.
Workspace tốt nhất là workspace được cải thiện liên tục qua thực tế, không phải qua lý thuyết.
Version control với Git
Đặt toàn bộ thư mục workspace vào một Git repo riêng. Mỗi lần tinh chỉnh — sửa tính cách, thêm quy tắc mới,
cập nhật thông tin môi trường — đều nên có một commit. Nếu agent bắt đầu hành xử lạ sau một lần chỉnh sửa,
git diff sẽ cho bạn biết ngay nguyên nhân.
Đổi workspace path khi cần
Bạn không bị gắn chặt vào ~/.openclaw/workspace/. Nếu muốn workspace nằm trong project repo
để share với team, cấu hình trong openclaw.json:
{
"agents": {
"defaults": {
"workspace": "~/projects/my-agent-workspace"
}
}
}
Review workspace định kỳ
Mỗi tuần dành 5 phút đọc lại AGENTS.md. Xóa những quy tắc không còn phù hợp, thêm bài học mới.
Workspace càng gọn → agent càng ít tốn token → phản hồi càng nhanh và rẻ hơn.
Đây là loại "technical debt" mà nhiều người bỏ qua nhưng tích lũy theo thời gian rất nhanh.
AGENTS.md và cập nhật mỗi khi agent mắc lỗi.
Sau vài tháng, phần này sẽ trở thành runbook mini cực kỳ có giá trị — đặc biệt khi bạn cần onboard agent mới
hoặc reset workspace.
Chạy trên VPS OnMay
Trên VPS OnMay, OpenClaw được cài sẵn cùng workspace mặc định. Bạn chỉ cần SSH vào và bắt đầu tùy chỉnh. Điểm khác biệt so với chạy local: agent chạy 24/7, mọi thay đổi workspace có hiệu lực ngay từ phiên chat tiếp theo mà không cần restart.
# SSH vào VPS OnMay
ssh root@your-vps-ip -p 10122
# Xem workspace hiện tại
ls -la ~/.openclaw/workspace/
# Chỉnh sửa trực tiếp trên server
nano ~/.openclaw/workspace/AGENTS.md
# Hoặc clone workspace từ Git repo của bạn
cd ~/.openclaw
rm -rf workspace
git clone https://github.com/yourname/my-agent-config workspace
git pull — thay vì phải SSH và nano mỗi lần.
- Bài 1: Cài đặt và khởi động nhanh
- Bài 2: Cấu hình Workspace từ A-Z (bài này)
- Bài 3: Hệ thống trí nhớ 3 tầng — nhớ nhiều, tốn ít token
- Bài 4: HEARTBEAT.md — tác vụ tự động và cron agent
- Bài 5: Multi-agent setup và phân vai