Mục lục bài viết[Hide][Show]
Agent không chỉ chat — nó cần “tay chân”
Một AI agent chỉ biết trả lời câu hỏi thì không khác gì chatbot. Agent thực sự mạnh khi nó có thể hành động: đọc file, gọi API, kiểm tra server, gửi email, tạo ticket. OpenClaw gọi những khả năng này là “tools” — và có ba cách để trang bị tools cho agent: Skills, MCP Servers, và Plugins.
Skills — Khả năng chuyên biệt
Skills là các “bộ kỹ năng” được đóng gói sẵn, giống như cài thêm app cho điện thoại. Mỗi skill bao gồm hướng dẫn (prompt), công cụ (tools), và đôi khi cả hooks (tự động kích hoạt khi có sự kiện).
Xem skills đang có:
openclaw skills list
Cài skill từ ClawHub (kho skill cộng đồng):
openclaw skills install memory-manager
openclaw skills install code-reviewer
openclaw skills install web-scraper
Cấu trúc một skill:
skills/
└── my-custom-skill/
├── SKILL.md # Hướng dẫn cho agent khi dùng skill
├── tools/ # Custom tools (Python/JS)
│ └── analyze.py
└── hooks/ # Tự động trigger
└── on-message.js
Tạo skill đầu tiên của bạn
Giả sử bạn muốn agent tự động kiểm tra health của VPS mỗi khi bạn hỏi. Tạo skill như sau:
Bước 1: Tạo thư mục skill
mkdir -p ~/.openclaw/workspace/skills/vps-health
Bước 2: Viết SKILL.md
# VPS Health Check
## Khi nào dùng
Khi user hỏi về tình trạng server, VPS, hoặc muốn kiểm tra
health/status của hệ thống.
## Cách thực hiện
1. SSH vào server theo thông tin trong TOOLS.md
2. Chạy các lệnh kiểm tra: df -h, free -m, uptime,
docker ps, systemctl status nginx
3. Tóm tắt kết quả ngắn gọn
4. Cảnh báo nếu disk > 80%, RAM > 90%, hoặc service down
## Format trả lời
- Server: [IP]
- Uptime: [thời gian]
- CPU: [% sử dụng]
- RAM: [used/total]
- Disk: [used/total]
- Services: [status]
- Cảnh báo: [nếu có]
Đơn giản như vậy thôi. Khi bạn hỏi “server ổn không?”, agent sẽ nhận ra cần dùng skill VPS Health Check và làm theo hướng dẫn trong SKILL.md.
Cấu hình skill nâng cao
Trong openclaw.json, bạn có thể kiểm soát skill nào được bật:
{
"skills": {
"allowList": ["vps-health", "code-reviewer", "memory-manager"],
"locations": [
"~/.openclaw/workspace/skills",
"/shared/team-skills"
]
}
}
allowList giới hạn agent chỉ dùng các skill bạn cho phép — hữu ích khi bạn cài nhiều skill nhưng muốn kiểm soát chặt.
MCP Servers — Cổng kết nối vạn năng
MCP (Model Context Protocol) là giao thức chuẩn cho phép AI agent kết nối với bất kỳ dịch vụ bên ngoài nào. Thay vì phải viết code tích hợp riêng cho từng dịch vụ, MCP cung cấp một cách thống nhất để agent “nói chuyện” với tools.
Hình dung đơn giản: MCP giống như USB cho AI agent. Bạn cắm MCP server vào, agent tự biết có tool mới để dùng.
Cài đặt MCP Server
Ví dụ: Kết nối với GitHub
# Thêm MCP server cho GitHub
openclaw mcp set github \
--command "npx" \
--args "-y @modelcontextprotocol/server-github" \
--env "GITHUB_TOKEN=ghp_your_token_here"
Ví dụ: Kết nối với database PostgreSQL
openclaw mcp set postgres \
--command "npx" \
--args "-y @modelcontextprotocol/server-postgres" \
--env "DATABASE_URL=postgresql://user:pass@localhost:5432/mydb"
Ví dụ: MCP server qua HTTP (remote)
openclaw mcp set my-api \
--url "https://my-mcp-server.example.com/mcp" \
--transport "streamable-http" \
--headers '{"Authorization": "Bearer your-token"}'
Quản lý MCP servers
# Xem tất cả MCP servers đã cấu hình
openclaw mcp list
# Xem chi tiết một server
openclaw mcp show github
# Xoá server
openclaw mcp remove github
MCP servers hữu ích cho developer
Dưới đây là một số MCP servers phổ biến mà developer Việt Nam hay dùng:
Quản lý code:
@modelcontextprotocol/server-github— Tạo issue, PR, review code@modelcontextprotocol/server-gitlab— Tương tự cho GitLab
Database:
@modelcontextprotocol/server-postgres— Query PostgreSQL trực tiếp@modelcontextprotocol/server-sqlite— Cho SQLite local
Giao tiếp:
@modelcontextprotocol/server-slack— Gửi/đọc tin nhắn Slack- MCP server cho Telegram — Thông báo qua Telegram bot
DevOps:
@modelcontextprotocol/server-docker— Quản lý Docker containers- Custom MCP cho Proxmox — Quản lý VPS (như OnMay đang dùng)
File & Storage:
@modelcontextprotocol/server-filesystem— Đọc/ghi file hệ thống@modelcontextprotocol/server-gdrive— Google Drive
Tool naming trong OpenClaw
Khi bạn cài MCP server, OpenClaw đăng ký tools với tên format serverName__toolName. Ví dụ, MCP server “github” có tool “create_issue” sẽ được đăng ký là github__create_issue. Bạn không cần nhớ tên này — agent tự biết tool nào dùng cho việc gì dựa trên mô tả.
Plugins — Gói mở rộng trọn bộ
Plugins là cấp cao nhất, kết hợp skills + MCP tools + hooks thành một gói hoàn chỉnh. Có hai loại:
Native plugins: Chạy trong process OpenClaw, có quyền truy cập đầy đủ. Cần tin tưởng tác giả.
Bundle plugins: Gói content từ các hệ sinh thái khác (Claude, Cursor), được map vào tính năng native của OpenClaw với boundary an toàn hơn.
Cài plugin:
# Tìm plugin trên ClawHub
openclaw plugins search "monitoring"
# Cài plugin
openclaw plugins install monitoring-suite
# Xem plugins đã cài
openclaw plugins list
# Bật/tắt plugin
openclaw plugins enable monitoring-suite
openclaw plugins disable monitoring-suite
Quản lý plugin trong openclaw.json
{
"plugins": {
"entries": {
"active-memory": {
"enabled": true,
"updateInterval": "5m"
},
"monitoring-suite": {
"enabled": true,
"alertThreshold": "warning"
}
}
}
}
Hooks — Tự động phản ứng với sự kiện
Hooks cho phép bạn chạy code tự động khi có sự kiện nhất định xảy ra trong OpenClaw. Không cần agent chủ động — hooks trigger tự động.
Các loại hook events:
- command events — Trước/sau khi agent chạy lệnh
- agent events — Khi agent bắt đầu/kết thúc phiên, gọi tool
- gateway events — Khi có tin nhắn đến, heartbeat tick
Ví dụ: Hook log mỗi lần agent gọi tool
// hooks/log-tool-calls.js
export default {
event: "after_tool_call",
handler: async (context) => {
const { toolName, result, duration } = context;
console.log(`[TOOL] ${toolName} completed in ${duration}ms`);
// Ghi vào file log nếu cần
}
};
Ví dụ: Hook cảnh báo khi agent dùng tool nguy hiểm
// hooks/safety-check.js
export default {
event: "before_tool_call",
handler: async (context) => {
const dangerousTools = ["bash_execute", "file_delete"];
if (dangerousTools.includes(context.toolName)) {
// Yêu cầu xác nhận trước khi chạy
return { requireConfirmation: true };
}
}
};
Kết hợp tất cả: Ví dụ thực tế
Hãy xem một setup hoàn chỉnh cho developer Việt Nam chạy OpenClaw trên VPS OnMay:
Skills cài đặt:
vps-health— Kiểm tra servercode-reviewer— Review code tự độngdeploy-assistant— Hỗ trợ deploy
MCP Servers:
github— Quản lý repo, tạo PRpostgres— Query database trực tiếptelegram-bot— Gửi thông báo
Hooks:
log-tool-calls— Ghi log mọi tool callsafety-check— Xác nhận trước lệnh nguy hiểmauto-commit-log— Tự ghi daily note khi có commit mới
Kết quả: Bạn nhắn “deploy version mới lên production”, agent sẽ:
- Dùng skill
deploy-assistantđể biết quy trình - Dùng MCP
githubđể tạo release tag - Chạy deploy script qua bash tool
- Dùng MCP
postgresđể kiểm tra migration - Dùng MCP
telegram-botđể báo kết quả cho team - Hook
log-tool-callsghi log toàn bộ quá trình
Tất cả từ một câu nhắn đơn giản.
Bảo mật khi dùng tools
Mở rộng khả năng cũng đồng nghĩa với mở rộng rủi ro. Một vài nguyên tắc:
Nguyên tắc ít quyền nhất (Least Privilege). Chỉ cấp cho MCP server quyền tối thiểu cần thiết. GitHub token chỉ cần repo scope, không cần admin.
Review trước khi cài. Đọc source code của skill/plugin trước khi cài, đặc biệt native plugins. Ưu tiên skill từ nguồn tin cậy hoặc có nhiều stars trên ClawHub.
Dùng allowList. Cấu hình skills.allowList trong openclaw.json để giới hạn skill agent được phép dùng.
Hooks safety-check. Luôn có hook kiểm tra trước các tool nguy hiểm (xoá file, chạy bash, gửi data ra ngoài).
Tổng kết
Skills cho agent biết cách làm, MCP servers cho agent công cụ để làm, Plugins gói gọn cả hai thành trải nghiệm liền mạch, và Hooks đảm bảo mọi thứ an toàn và tự động.

