Về Field Notes
Series: OpenClaw

Cấu hình Workspace OpenClaw từ A-Z:
AGENTS.md, SOUL.md và hơn thế

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:

~/.openclaw/workspace/
├── 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

AGENTS.md Load mỗi phiên · Ảnh hưởng trực tiếp đến hành vi

Đâ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:

AGENTS.md
# 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
Giữ AGENTS.md dưới 100 dòng. File này được load vào context mỗi phiên. Mỗi dòng thừa đều tiêu tốn token. Viết súc tích, dùng bullet points, loại bỏ thông tin trùng lặp. Thêm mục "Bài học từ thực tế" — tích lũy theo thời gian sẽ cực kỳ có giá trị.
SOUL.md Tính cách · Giọng điệu · Phong cách

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.md
# 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
SOUL.md có thể thay đổi theo use case. Muốn agent nghiêm túc hơn cho môi trường công việc? Muốn vui vẻ hơn cho chat cá nhân? Chỉ cần sửa file này — không cần cài đặt lại bất cứ thứ gì. Đây chính là lợi thế lớn nhất của file-based config.
IDENTITY.md Định danh · Định tuyến trong multi-agent setup

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.

IDENTITY.md
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.

USER.md Ngữ cảnh về người dùng · Cá nhân hóa phản hồi

Đâ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.md
# 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"
Lưu ý bảo mật: Không đưa mật khẩu, API key, hay thông tin tài chính vào 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 Môi trường · Server · Thiết bị · Endpoint

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.md
# 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?"

1
Đọc AGENTS.md — biết mình là trợ lý kỹ thuật, phải cẩn thận với thao tác trên server production.
2
Đọc USER.md — biết bạn là developer, không cần giải thích SSH là gì hay CPU là gì.
3
Đọc TOOLS.md — tra cứu IP server production: 10.10.10.2, key: onmay_deploy.
4
Đọc SOUL.md — biết cần trả lời ngắn gọn, đi thẳng vào kết quả, không giải thích dài dòng.
5
Đọc MEMORY.md — nhớ lần trước server bị lỗi do disk full → chủ động kiểm tra disk trước.

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.mdSOUL.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:

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.

Thêm mục "Bài học từ thực tế" vào cuối 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.

bash
# 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
Nên dùng Git workflow thay vì sửa trực tiếp trên server. Điều này cho phép bạn test thay đổi ở local trước, review diff trên GitHub, và deploy bằng một lệnh git pull — thay vì phải SSH và nano mỗi lần.
Series: Làm chủ OpenClaw
  • 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