Chuyển đến nội dung chính

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Xây dựng trợ lý cá nhân với OpenClaw

OpenClaw là một Gateway tự lưu trữ, kết nối Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo và nhiều nền tảng khác với các tác nhân AI. Hướng dẫn này trình bày cách thiết lập “trợ lý cá nhân”: một số WhatsApp chuyên dụng hoạt động như trợ lý AI luôn sẵn sàng của bạn.

⚠️ An toàn trước tiên

Bạn đang đặt một tác nhân vào vị trí có thể:
  • chạy lệnh trên máy của bạn (tùy theo chính sách công cụ của bạn)
  • đọc/ghi tệp trong workspace của bạn
  • gửi tin nhắn ra ngoài qua WhatsApp/Telegram/Discord/Mattermost và các kênh được tích hợp khác
Hãy bắt đầu thận trọng:
  • Luôn đặt channels.whatsapp.allowFrom (không bao giờ chạy mở cho toàn thế giới trên máy Mac cá nhân của bạn).
  • Dùng một số WhatsApp riêng cho trợ lý.
  • Heartbeat hiện mặc định chạy mỗi 30 phút. Hãy tắt cho đến khi bạn tin tưởng thiết lập bằng cách đặt agents.defaults.heartbeat.every: "0m".

Điều kiện tiên quyết

  • Đã cài đặt và onboarding OpenClaw — xem Bắt đầu nếu bạn chưa làm việc này
  • Một số điện thoại thứ hai (SIM/eSIM/trả trước) cho trợ lý

Thiết lập hai điện thoại (khuyến nghị)

Bạn muốn thiết lập này: Nếu bạn liên kết WhatsApp cá nhân của mình với OpenClaw, mọi tin nhắn gửi đến bạn sẽ trở thành “đầu vào tác nhân”. Đó hiếm khi là điều bạn muốn.

Khởi động nhanh trong 5 phút

  1. Ghép nối WhatsApp Web (hiển thị QR; quét bằng điện thoại của trợ lý):
openclaw channels login
  1. Khởi động Gateway (để nó tiếp tục chạy):
openclaw gateway --port 18789
  1. Đặt một cấu hình tối giản trong ~/.openclaw/openclaw.json:
{
  gateway: { mode: "local" },
  channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
Bây giờ hãy nhắn tin đến số trợ lý từ điện thoại đã được đưa vào danh sách cho phép. Khi onboarding hoàn tất, OpenClaw tự động mở dashboard và in một liên kết sạch (không chứa token). Nếu dashboard yêu cầu xác thực, hãy dán shared secret đã cấu hình vào phần cài đặt Control UI. Onboarding mặc định dùng token (gateway.auth.token), nhưng xác thực bằng mật khẩu cũng hoạt động nếu bạn đã chuyển gateway.auth.mode sang password. Để mở lại sau này: openclaw dashboard.

Cấp workspace cho tác nhân (AGENTS)

OpenClaw đọc hướng dẫn vận hành và “bộ nhớ” từ thư mục workspace của nó. Theo mặc định, OpenClaw dùng ~/.openclaw/workspace làm workspace của tác nhân và sẽ tự động tạo thư mục này (cùng các tệp khởi đầu AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) khi thiết lập/lần chạy tác nhân đầu tiên. BOOTSTRAP.md chỉ được tạo khi workspace hoàn toàn mới (nó không nên xuất hiện lại sau khi bạn xóa). MEMORY.md là tùy chọn (không tự động tạo); khi có mặt, nó được tải cho các phiên thông thường. Các phiên tác nhân con chỉ chèn AGENTS.mdTOOLS.md.
Hãy xem thư mục này như bộ nhớ của OpenClaw và biến nó thành một repo git (lý tưởng là riêng tư) để AGENTS.md và các tệp bộ nhớ của bạn được sao lưu. Nếu đã cài git, các workspace hoàn toàn mới sẽ được tự động khởi tạo.
openclaw setup
Bố cục workspace đầy đủ + hướng dẫn sao lưu: Workspace tác nhân Quy trình bộ nhớ: Bộ nhớ Tùy chọn: chọn một workspace khác bằng agents.defaults.workspace (hỗ trợ ~).
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}
Nếu bạn đã cung cấp các tệp workspace riêng từ một repo, bạn có thể tắt hoàn toàn việc tạo tệp bootstrap:
{
  agents: {
    defaults: {
      skipBootstrap: true,
    },
  },
}

Cấu hình biến nó thành “một trợ lý”

OpenClaw mặc định có thiết lập trợ lý tốt, nhưng bạn thường sẽ muốn tinh chỉnh:
  • persona/hướng dẫn trong SOUL.md
  • mặc định suy nghĩ (nếu muốn)
  • Heartbeat (sau khi bạn tin tưởng nó)
Ví dụ:
{
  logging: { level: "info" },
  agent: {
    model: "anthropic/claude-opus-4-6",
    workspace: "~/.openclaw/workspace",
    thinkingDefault: "high",
    timeoutSeconds: 1800,
    // Start with 0; enable later.
    heartbeat: { every: "0m" },
  },
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"],
      groups: {
        "*": { requireMention: true },
      },
    },
  },
  routing: {
    groupChat: {
      mentionPatterns: ["@openclaw", "openclaw"],
    },
  },
  session: {
    scope: "per-sender",
    resetTriggers: ["/new", "/reset"],
    reset: {
      mode: "daily",
      atHour: 4,
      idleMinutes: 10080,
    },
  },
}

Phiên và bộ nhớ

  • Tệp phiên: ~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl
  • Siêu dữ liệu phiên (mức dùng token, tuyến cuối cùng, v.v.): ~/.openclaw/agents/<agentId>/sessions/sessions.json (cũ: ~/.openclaw/sessions/sessions.json)
  • /new hoặc /reset bắt đầu một phiên mới cho cuộc trò chuyện đó (có thể cấu hình qua resetTriggers). Nếu được gửi một mình, OpenClaw xác nhận việc đặt lại mà không gọi mô hình.
  • /compact [instructions] thu gọn ngữ cảnh phiên và báo cáo ngân sách ngữ cảnh còn lại.

Heartbeat (chế độ chủ động)

Theo mặc định, OpenClaw chạy một Heartbeat mỗi 30 phút với prompt: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. Đặt agents.defaults.heartbeat.every: "0m" để tắt.
  • Nếu HEARTBEAT.md tồn tại nhưng thực tế trống (chỉ có dòng trống và tiêu đề markdown như # Heading), OpenClaw bỏ qua lần chạy Heartbeat để tiết kiệm lệnh gọi API.
  • Nếu thiếu tệp, Heartbeat vẫn chạy và mô hình quyết định cần làm gì.
  • Nếu tác nhân trả lời HEARTBEAT_OK (tùy chọn kèm phần đệm ngắn; xem agents.defaults.heartbeat.ackMaxChars), OpenClaw sẽ chặn gửi ra ngoài cho Heartbeat đó.
  • Theo mặc định, việc gửi Heartbeat đến các đích kiểu DM user:<id> được cho phép. Đặt agents.defaults.heartbeat.directPolicy: "block" để chặn gửi đến đích trực tiếp trong khi vẫn giữ các lần chạy Heartbeat hoạt động.
  • Heartbeat chạy đầy đủ lượt tác nhân — khoảng thời gian ngắn hơn sẽ tiêu tốn nhiều token hơn.
{
  agent: {
    heartbeat: { every: "30m" },
  },
}

Phương tiện vào và ra

Tệp đính kèm đầu vào (hình ảnh/âm thanh/tài liệu) có thể được đưa tới lệnh của bạn qua template:
  • {{MediaPath}} (đường dẫn tệp tạm cục bộ)
  • {{MediaUrl}} (pseudo-URL)
  • {{Transcript}} (nếu đã bật phiên âm âm thanh)
Tệp đính kèm đầu ra từ tác nhân: bao gồm MEDIA:<path-or-url> trên một dòng riêng (không có khoảng trắng). Ví dụ:
Here’s the screenshot.
MEDIA:https://example.com/screenshot.png
OpenClaw trích xuất các dòng này và gửi chúng dưới dạng phương tiện cùng với văn bản. Hành vi đường dẫn cục bộ tuân theo cùng mô hình tin cậy đọc tệp như tác nhân:
  • Nếu tools.fs.workspaceOnlytrue, các đường dẫn cục bộ MEDIA: đầu ra vẫn bị giới hạn trong thư mục tạm gốc của OpenClaw, bộ đệm phương tiện, đường dẫn workspace của tác nhân và các tệp do sandbox tạo ra.
  • Nếu tools.fs.workspaceOnlyfalse, MEDIA: đầu ra có thể dùng các tệp cục bộ trên máy chủ mà tác nhân đã được phép đọc.
  • Gửi tệp cục bộ trên máy chủ vẫn chỉ cho phép phương tiện và các loại tài liệu an toàn (hình ảnh, âm thanh, video, PDF và tài liệu Office). Văn bản thuần túy và các tệp có vẻ giống bí mật không được xem là phương tiện có thể gửi.
Điều đó có nghĩa là hình ảnh/tệp được tạo bên ngoài workspace giờ có thể gửi khi chính sách fs của bạn đã cho phép các lượt đọc đó, mà không mở lại khả năng rò rỉ tệp đính kèm văn bản tùy ý trên máy chủ.

Danh sách kiểm tra vận hành

openclaw status          # local status (creds, sessions, queued events)
openclaw status --all    # full diagnosis (read-only, pasteable)
openclaw status --deep   # asks the gateway for a live health probe with channel probes when supported
openclaw health --json   # gateway health snapshot (WS; default can return a fresh cached snapshot)
Nhật ký nằm trong /tmp/openclaw/ (mặc định: openclaw-YYYY-MM-DD.log).

Bước tiếp theo

Liên quan