AI & Automation (vnROM)

Cover image for OpenClaw - Trợ lý AI cá nhân cho mọi nền tảng
Duy Nghiện
Duy Nghiện

Posted on • Edited on

OpenClaw - Trợ lý AI cá nhân cho mọi nền tảng

Các bạn đã bao giờ nản với những trợ lý AI “đóng hộp” mà bạn không thể kiểm soát? Hay cảm thấy tiếc tiền khi phải trả phí hàng tháng cho dịch vụ hosted trên cloud? OpenClaw là một lựa chọn rất đáng thử.

OpenClaw là một trợ lý AI cá nhân mã nguồn mở hoàn toàn do bạn kiểm soát. Bạn có thể chạy nó trên máy của mình (Windows, macOS, hay Linux) và đó là cách để sở hữu dữ liệu của chính bạn. Thay vì gửi mọi thứ lên cloud, OpenClaw hoạt động theo kiểu local‑first – Gateway chạy trên thiết bị của bạn và bạn quyết định những gì được phép đi ra ngoài.

Bạn có thể chat với nó qua bất kỳ ứng dụng nhắn tin nào mà bạn yêu thích – WhatsApp, Telegram, Discord, Slack, Signal, iMessage hay WebChat. Nó còn có thể nghe và nói (trên macOS/iOS/Android, với ElevenLabs), có trí nhớ lâu dài – luôn nhớ về bạn, sở thích của bạn và bối cảnh công việc của bạn theo thời gian.

Các tính năng nổi bật

  • Chạy cục bộ: Local‑first Gateway, mã nguồn mở, dữ liệu nằm trong tay bạn chứ không phải một server quản lý ẩn nào đó.
  • Đa nền tảng chat: Kết nối WhatsApp, Telegram, Discord, Slack, Signal, iMessage, WebChat… thành một “ống dẫn” chung cho trợ lý AI.
  • Hỗ trợ voice: Nghe và nói trên macOS, iOS, Android; dễ tích hợp dịch vụ TTS như ElevenLabs để có giọng nói tự nhiên.
  • Bộ nhớ lâu dài: Ghi nhớ lịch sử, thói quen, sở thích của bạn để trợ lý ngày càng “hiểu bạn” hơn.
  • Điều khiển trình duyệt: Có thể mở web, điền form, click, và rút trích dữ liệu từ bất kỳ trang web nào thông qua Browser tool.
  • Truy cập toàn hệ thống: Đọc/ghi file, chạy lệnh shell, script và tự động hóa những công việc lặp lại; có thể chạy full access hoặc sandbox (Docker).
  • Skills & Plugins: Mở rộng khả năng với các skill có sẵn hoặc tự viết skill riêng cho workflow của bạn.
  • Canvas & Automation: Giao diện Canvas để visualize kết quả, quy trình và quản lý automation (cron, webhooks, workflows…).

Hướng dẫn cài đặt chi tiết

Yêu cầu hệ thống

Trước tiên, bạn cần chuẩn bị:

  • Node.js phiên bản 22 trở lên (runtime hiện được khuyến nghị cho OpenClaw).
  • Git (để clone repository nếu bạn muốn chạy từ source).
  • Một tài khoản Anthropic hoặc OpenAI nếu bạn muốn dùng model Claude/ChatGPT; mặc định OpenClaw có thể dùng sẵn Pi/hay provider khác tùy cấu hình. Sẽ thật thiếu sót cho ae nào chưa biết đến con hàng CLIProxy

Cách 1: Cài bằng npm (đơn giản, khuyên dùng)

Cài CLI toàn cục:

npm install -g openclaw
Enter fullscreen mode Exit fullscreen mode

Sau đó, khởi chạy Onboarding Wizard:

openclaw onboard
Enter fullscreen mode Exit fullscreen mode

Wizard sẽ giúp bạn:

  1. Cấu hình Gateway (cổng, nơi chạy, daemon…).
  2. Chọn mô hình AI và provider (Claude, OpenAI, Pi…).
  3. Kết nối các nền tảng chat (WhatsApp, Telegram, Discord…).
  4. Thiết lập cấu hình và một số skill/công cụ cơ bản.

Cách 2: Chạy từ source (dành cho dev)

Nếu bạn muốn vọc sâu mã nguồn:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
Enter fullscreen mode Exit fullscreen mode

Cài dependencies (chọn một):

npm install
# hoặc
pnpm install
# hoặc
bun install
Enter fullscreen mode Exit fullscreen mode

Build dự án:

npm run build
npm run ui:build
# (tương đương với lệnh bun/pnpm nếu bạn dùng tool khác)
Enter fullscreen mode Exit fullscreen mode

Sau đó, bạn có thể dùng npx OpenClaw onboard hoặc cài global như ở Cách 1 để chạy Gateway/CLI.


Kết nối nền tảng chat

WhatsApp

Quy trình quick start 5 phút thường gồm:

# 1. Đăng nhập nhà cung cấp (WhatsApp, Telegram, v.v.)
openclaw channels login

# 2. Khởi động Gateway (giữ lệnh này chạy để xem logs cho các cài đặt ban đầu, sau chạy "OpenClaw gateway start --port 18789" để nó chạy ngầm, không bị mất khi đóng tab terminal)
openclaw gateway --port 18789
Enter fullscreen mode Exit fullscreen mode

Gateway sẽ mở một kết nối WhatsApp Web duy nhất (Baileys), bạn scan QR để liên kết tài khoản trợ lý của mình.

Telegram

Thêm token vào file cấu hình ~/.OpenClaw/OpenClaw.json:

{
  "telegram": {
    "botToken": "123456:YOUR_TOKEN_HERE",
    "enabled": true
  }
}
Enter fullscreen mode Exit fullscreen mode

OpenClaw dùng file config này để biết nên bật Telegram bot nào, rule nào được phép gửi và cách định tuyến tin nhắn.


Cách sử dụng cơ bản

Gửi tin nhắn đầu tiên

Sau khi kết nối WhatsApp/Telegram và Gateway đang chạy, chỉ cần nhắn cho bot:

Xin chào! Giúp tôi tổng hợp danh sách việc cần làm hôm nay.

OpenClaw sẽ gọi model mà bạn đã cấu hình và trả lời thẳng trong app chat bạn đang dùng.

Các lệnh chat hữu ích

Trong bất kỳ cuộc trò chuyện nào, bạn có thể dùng những lệnh kiểu slash (tùy config/giao diện):

  • /status – Kiểm tra tình trạng trợ lý và Gateway.
  • /reset hoặc /new – Bắt đầu một phiên trò chuyện mới, reset context.
  • /think low|medium|high – Điều chỉnh mức “độ sâu suy luận”, cân bằng giữa chi phí và chất lượng.
  • /compact – Nén/tóm tắt lịch sử chat để phiên làm việc nhẹ hơn.
  • /restart – Khởi động lại Gateway/daemon (thường chỉ dành cho chủ sở hữu).

Hướng dẫn nâng cao: Viết Custom Skill đơn giản

OpenClaw mạnh mẽ nhờ khả năng mở rộng. "Skill" thực chất là một đoạn code (thường là TypeScript hoặc JavaScript) định nghĩa một công cụ để AI có thể gọi khi cần. Dưới đây là cách tạo một skill đơn giản: Kiểm tra trạng thái Website.

Bước 1: Xác định cấu trúc Skill

Một Skill tiêu chuẩn cho OpenClaw thường gồm 3 phần chính:

  1. Name: Tên định danh của skill.
  2. Description: Mô tả kỹ lưỡng để AI "hiểu" khi nào nên dùng skill này (Rất quan trọng).
  3. Handler/Execute: Đoạn code logic thực thi tác vụ.

Bước 2: Tạo file Skill

Truy cập vào thư mục skills trong thư mục cài đặt OpenClaw của bạn và tạo file mới tên là website-check.ts.

Copy đoạn code mẫu sau:

import { z } from 'zod'; // Thư viện dùng để định nghĩa kiểu dữ liệu đầu vào

export default {
  // 1. Tên gọi của Skill (dùng chữ thường, không dấu)
  name: "check_website_status",

  // 2. Mô tả cho AI hiểu (càng rõ ràng AI càng dùng chính xác)
  description: "Dùng công cụ này khi người dùng muốn kiểm tra một website có đang hoạt động (online) hay không.",

  // 3. Định nghĩa tham số đầu vào (AI sẽ tự trích xuất URL từ câu chat của bạn vào đây)
  parameters: z.object({
    url: z.string().url().describe("Đường dẫn URL của website cần kiểm tra (ví dụ: https://vnrom.net)"),
  }),

  // 4. Logic xử lý chính
  execute: async ({ url }) => {
    try {
      console.log(`Đang kiểm tra: ${url}...`);
      const response = await fetch(url);

      if (response.ok) {
        return `✅ Website ${url} đang hoạt động bình thường. (Status Code: ${response.status})`;
      } else {
        return `⚠️ Website ${url} phản hồi nhưng có lỗi. (Status Code: ${response.status})`;
      }
    } catch (error) {
      return `❌ Không thể truy cập vào ${url}. Lỗi: ${error.message}`;
    }
  }
};
Enter fullscreen mode Exit fullscreen mode

Bước 3: Đăng ký và Test

  1. Lưu file website-check.ts.
  2. Khởi động lại OpenClaw Gateway để nó nạp skill mới:
openclaw gateway restart
Enter fullscreen mode Exit fullscreen mode
  1. Mở khung chat (Telegram/WhatsApp/Web) và nhắn: > "Kiểm tra xem trang https://www.google.com/search?q=google.com có sống không?"

Cơ chế hoạt động:
OpenClaw sẽ phân tích câu hỏi Nhận thấy intent trùng khớp với mô tả của skill check_website_status Tự động trích xuất https://google.com Chạy hàm execute Trả kết quả về cho bạn.


Ví dụ thực tế

Một vài workflow điển hình mà OpenClaw có thể làm được khi bạn cấp đúng quyền và skills:

  • “Tìm email từ boss về deadline dự án Q1” OpenClaw dùng skill Gmail, tìm email phù hợp và trả lại nội dung/tóm tắt ngay trong chat.
  • “Tạo task mới trong Linear: ‘Fix bug login’” OpenClaw gọi API Linear qua skill tương ứng, tạo issue mới và gửi link cho bạn.
  • “Lấy thống kê health từ WHOOP tuần này” OpenClaw gọi WHOOP API đã cấu hình, lấy dữ liệu raw và tóm tắt thành báo cáo dễ đọc.

An toàn và bảo mật

OpenClaw được thiết kế với bảo mật là ưu tiên:

  • Local‑first Gateway: Một Gateway trên mỗi máy, mặc định bind loopback (127.0.0.1), không public ra ngoài trừ khi bạn cố ý bật.
  • Sandbox mode: Có thể chạy code, lệnh, trình duyệt trong môi trường cách ly (Docker sandbox) để giới hạn rủi ro.
  • Kiểm soát quyền: Bạn quyết định OpenClaw được đọc thư mục nào, chạy lệnh gì, có được phép truy cập trình duyệt, inbox, API bên ngoài hay không.
  • Mã nguồn mở: Code đầy đủ trên GitHub, bất kỳ ai cũng có thể đọc, audit và đóng góp.

Nguồn chính chủ để bạn tìm hiểu thêm


Tips để bắt đầu

  1. Bắt đầu nhỏ: Thử các tác vụ đơn giản như chat, ghi chú, quản lý to‑do trước khi cho nó quyền hệ thống lớn hơn.
  2. Dùng Thinking Mode hợp lý: Với tác vụ phức tạp, tăng mức “suy nghĩ” của model để giảm lỗi logic; tác vụ ngắn thì giữ mức thấp cho nhanh.
  3. Viết Custom Skills: Khi quen hệ thống, hãy viết skill riêng gắn với workflow dev, marketing, vận hành của bạn.
  4. Kết nối nhiều nền tảng: Setup cả WhatsApp, Telegram, Discord để có thể nói chuyện với trợ lý ở bất cứ đâu.
  5. Khám phá Canvas: Dùng Canvas UI để visualize dữ liệu, logs, workflows phức tạp thay vì chỉ nhìn tin nhắn chữ.

OpenClaw là một bước tiến lớn nếu bạn muốn sở hữu trợ lý AI của riêng mình thay vì phụ thuộc hoàn toàn vào các dịch vụ cloud. Nó không chỉ là một chatbot, mà là một trợ lý thực sự có thể tự động hóa một phần đáng kể công việc hàng ngày của bạn – từ quản lý inbox, DevOps cho đến dựng website và nội dung mới ngay trên điện thoại.

Top comments (3)

Collapse
 
duynghien profile image
Duy Nghiện

Khuyên thật ae nên dùng CLIProxy cho đỡ tốn tiền token nhé :D

Cấu hình clawdbot.json cho ae tham khảo:

{
  "models": {
    "mode": "replace",
    "providers": {
      "cliproxy": {
        "baseUrl": "http://127.0.0.1:8317/v1",
        "apiKey": "sk-cliproxy-vnrom-net",
        "api": "openai-completions",
        "models": [
          {
            "id": "gemini-3-flash-preview",
            "name": "Gemini 3 Flash",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 1000000,
            "maxTokens": 8192
          },
          {
            "id": "gemini-3-pro-preview",
            "name": "Gemini 3 Pro",
            "reasoning": true,
            "input": [
              "text",
              "image"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 1000000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "list": [
      {
        "id": "default",
        "identity": {
          "name": "vnROM",
          "theme": "Friendly and fresh",
          "emoji": "👨🏻‍💻"
        }
      }
    ],
    "defaults": {
      "model": {
        "primary": "cliproxy/gemini-3-flash-preview",
        "fallbacks": []
      }
    }
  },
...
}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
duynghien profile image
Duy Nghiện

Memory for Clawdbot

Chia sẻ của bác Bằng Hoàng về setup memory cho Clawdbot:

Có thể các bạn sử dụng Clawdbot nhưng chưa biết đến cách configure memory.

Cá nhân mình thấy cách triển khai memory của Clawdbot rất thực dụng và dễ áp dụng, cũng như khá khớp với cái gu và cách mình đang hướng tới.

  1. Vừa triển khai memory files vào folder chia theo 2 layers:

a. memory/YYYY-MM-DD.md
b. MEMORY.md

  1. Vừa có một bộ vector search local đơn giản với sqlite với embedding provider là gemini, openai hoặc là sử dụng local model. Mình không cần quá cầu kì nên sử dụng luôn local model là embeddinggemma-300M-Q8_0.gguf vừa nhẹ vừa tiện.

  2. Chưa kể là còn làm tí Hybrid Search với BM25 + vector search.

Để cài đặt thì rất đơn giản, bạn có thể chat trực tiếp với clawdbot kêu nó config memory và sử dụng local provider.

Còn đây là config tham khảo của mình:

"memorySearch": {
        "enabled": true,
        "provider": "local",
        "fallback": "none",
        "local": {
          "modelPath": "hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf"
        }
      } 
Enter fullscreen mode Exit fullscreen mode

Nằm trong agents.defaults nhé.

Collapse
 
duynghien profile image
Duy Nghiện

Chia sẻ của bác Hiền TD về cronjob cập nhật ver mới cho Clawdbot:

Hey. Chào anh em 🖐🏻!!!
Dạo này thấy clawdbot cập nhật liên tục, cứ vài hôm lại có bản mới. Tiện thể đang ngồi đọc docs của nó về cronjob bảo nó làm luôn cái kiểm tra cập nhật share anh em check thử.

Chức năng: Mỗi 3 tiếng thì nó chạy 1 lần và gửi về thông báo nếu có bản mới đồng thời dịch toàn bộ change logs ra tiếng Việt, có bổ sung emoji nhìn cho vui mắt. 😜

Cài đặt:

  1. Tải script: (clawdbot tự code anh em cẩn thận thì check lại kỹ trước khi dùng nhé) https://gist.github.com/duyhiencntt/f6242d93a765f021eb06f5ae21e58165
  2. Tạo thư mục scripts trong ~/.clawdbot/ và chép file script vào (đường dẫn đầy đủ: ~/.clawdbot/scripts/clawdbot-version-monitoring.js - Đường dẫn này để cron chạy. anh em thay đổi đường dẫn thì sửa luôn cronjob config)
  3. Tạo Cronjob cho clawdbot, copy lệnh tại đây: https://gist.github.com/duyhiencntt/81fe9a198618d13987579a8698ce9074 và sửa lại dòng cuối cùng thay bằng id telegram (nó sẽ có dạng giống như --to "123456789" )

Chạy luôn cronjob này qua giao diện web hay là bằng lệnh trong terminal để test. hoặc ra lệnh cho clawdbot chạy kiểm tra.

Anh em dùng thử có ý tưởng kết hợp với cái gì khác mong anh em chia sẻ để mình có cơ hội được học hỏi nhé.

Mời anh em ngắm vài cái ảnh thành quả trên web UI và telegram.