Câu trả lời nhanh kèm hướng dẫn khắc phục sự cố chuyên sâu hơn cho các thiết lập thực tế (phát triển cục bộ, VPS, đa tác tử, OAuth/khóa API, chuyển dự phòng mô hình). Để chẩn đoán runtime, xem Khắc phục sự cố. Để xem tham chiếu cấu hình đầy đủ, xem Cấu hì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.
60 giây đầu tiên nếu có lỗi
-
Trạng thái nhanh (kiểm tra đầu tiên)
Tóm tắt cục bộ nhanh: HĐH + bản cập nhật, khả năng kết nối gateway/dịch vụ, tác tử/phiên, cấu hình nhà cung cấp + sự cố runtime (khi gateway có thể truy cập được).
-
Báo cáo có thể dán (an toàn để chia sẻ)
Chẩn đoán chỉ đọc với phần đuôi nhật ký (token đã được biên tập).
-
Trạng thái daemon + cổng
Hiển thị runtime của supervisor so với khả năng kết nối RPC, URL mục tiêu thăm dò, và cấu hình mà dịch vụ có khả năng đã dùng.
-
Thăm dò sâu
Chạy thăm dò sức khỏe Gateway trực tiếp, bao gồm thăm dò kênh khi được hỗ trợ (yêu cầu Gateway có thể truy cập được). Xem Sức khỏe.
-
Theo dõi nhật ký mới nhất
Nếu RPC bị ngừng, dùng phương án dự phòng:Nhật ký tệp tách biệt với nhật ký dịch vụ; xem Ghi nhật ký và Khắc phục sự cố.
-
Chạy doctor (sửa chữa)
Sửa chữa/di trú cấu hình/trạng thái + chạy kiểm tra sức khỏe. Xem Doctor.
-
Ảnh chụp nhanh Gateway
Yêu cầu Gateway đang chạy trả về ảnh chụp nhanh đầy đủ (chỉ WS). Xem Sức khỏe.
Bắt đầu nhanh và thiết lập lần chạy đầu tiên
Hỏi đáp lần chạy đầu tiên - cài đặt, onboarding, tuyến xác thực, gói đăng ký, lỗi ban đầu - nằm trong FAQ lần chạy đầu tiên.OpenClaw là gì?
OpenClaw là gì, trong một đoạn văn?
OpenClaw là gì, trong một đoạn văn?
Đề xuất giá trị
Đề xuất giá trị
- Thiết bị của bạn, dữ liệu của bạn: chạy Gateway ở bất cứ đâu bạn muốn (Mac, Linux, VPS) và giữ workspace + lịch sử phiên ở cục bộ.
- Kênh thật, không phải sandbox web: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/v.v., cộng với giọng nói di động và Canvas trên các nền tảng được hỗ trợ.
- Không phụ thuộc mô hình: dùng Anthropic, OpenAI, MiniMax, OpenRouter, v.v., với định tuyến và chuyển dự phòng theo từng tác tử.
- Tùy chọn chỉ cục bộ: chạy mô hình cục bộ để toàn bộ dữ liệu có thể ở lại trên thiết bị của bạn nếu bạn muốn.
- Định tuyến đa tác tử: tách tác tử theo kênh, tài khoản, hoặc tác vụ, mỗi tác tử có workspace và mặc định riêng.
- Mã nguồn mở và dễ tùy biến: kiểm tra, mở rộng, và tự lưu trữ mà không bị khóa bởi nhà cung cấp.
Tôi vừa thiết lập xong - tôi nên làm gì trước?
Tôi vừa thiết lập xong - tôi nên làm gì trước?
- Xây dựng một trang web (WordPress, Shopify, hoặc một trang tĩnh đơn giản).
- Tạo nguyên mẫu một ứng dụng di động (dàn ý, màn hình, kế hoạch API).
- Sắp xếp tệp và thư mục (dọn dẹp, đặt tên, gắn thẻ).
- Kết nối Gmail và tự động hóa tóm tắt hoặc theo dõi tiếp.
Năm trường hợp sử dụng hằng ngày hàng đầu cho OpenClaw là gì?
Năm trường hợp sử dụng hằng ngày hàng đầu cho OpenClaw là gì?
- Tóm tắt cá nhân: tóm tắt hộp thư, lịch, và tin tức bạn quan tâm.
- Nghiên cứu và soạn thảo: nghiên cứu nhanh, tóm tắt, và bản nháp đầu tiên cho email hoặc tài liệu.
- Nhắc nhở và theo dõi tiếp: lời nhắc và checklist do Cron hoặc Heartbeat điều khiển.
- Tự động hóa trình duyệt: điền biểu mẫu, thu thập dữ liệu, và lặp lại tác vụ web.
- Phối hợp đa thiết bị: gửi một tác vụ từ điện thoại, để Gateway chạy nó trên máy chủ, và nhận kết quả trong trò chuyện.
OpenClaw có thể giúp tạo lead, outreach, quảng cáo, và blog cho SaaS không?
OpenClaw có thể giúp tạo lead, outreach, quảng cáo, và blog cho SaaS không?
Ưu điểm so với Claude Code cho phát triển web là gì?
Ưu điểm so với Claude Code cho phát triển web là gì?
- Bộ nhớ + workspace bền vững giữa các phiên
- Truy cập đa nền tảng (WhatsApp, Telegram, TUI, WebChat)
- Điều phối công cụ (trình duyệt, tệp, lập lịch, hook)
- Gateway luôn bật (chạy trên VPS, tương tác từ bất cứ đâu)
- Node cho trình duyệt/màn hình/camera/exec cục bộ
Skills và tự động hóa
Làm thế nào để tùy chỉnh Skills mà không làm repo bị bẩn?
Làm thế nào để tùy chỉnh Skills mà không làm repo bị bẩn?
~/.openclaw/skills/<name>/SKILL.md (hoặc thêm thư mục qua skills.load.extraDirs trong ~/.openclaw/openclaw.json). Thứ tự ưu tiên là <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → đi kèm → skills.load.extraDirs, nên ghi đè được quản lý vẫn thắng Skills đi kèm mà không chạm vào git. Nếu bạn cần cài Skill toàn cục nhưng chỉ hiển thị với một số tác tử, hãy giữ bản sao dùng chung trong ~/.openclaw/skills và kiểm soát khả năng hiển thị bằng agents.defaults.skills và agents.list[].skills. Chỉ các chỉnh sửa đáng đưa upstream mới nên nằm trong repo và gửi đi dưới dạng PR.Tôi có thể tải Skills từ thư mục tùy chỉnh không?
Tôi có thể tải Skills từ thư mục tùy chỉnh không?
skills.load.extraDirs trong ~/.openclaw/openclaw.json (mức ưu tiên thấp nhất). Thứ tự ưu tiên mặc định là <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → đi kèm → skills.load.extraDirs. clawhub cài đặt vào ./skills theo mặc định, OpenClaw sẽ xem là <workspace>/skills trong phiên tiếp theo. Nếu Skill chỉ nên hiển thị với một số tác tử nhất định, hãy ghép với agents.defaults.skills hoặc agents.list[].skills.Làm thế nào để dùng các mô hình khác nhau cho các tác vụ khác nhau?
Làm thế nào để dùng các mô hình khác nhau cho các tác vụ khác nhau?
- Công việc Cron: công việc tách biệt có thể đặt ghi đè
modeltheo từng công việc. - Tác tử phụ: định tuyến tác vụ đến các tác tử riêng với mô hình mặc định khác nhau.
- Chuyển theo nhu cầu: dùng
/modelđể chuyển mô hình của phiên hiện tại bất cứ lúc nào.
Bot bị đóng băng khi làm việc nặng. Làm thế nào để chuyển tải việc đó?
Bot bị đóng băng khi làm việc nặng. Làm thế nào để chuyển tải việc đó?
/subagents.
Dùng /status trong trò chuyện để xem Gateway đang làm gì ngay lúc này (và có bận hay không).Mẹo token: tác vụ dài và tác tử phụ đều tiêu thụ token. Nếu bạn quan tâm đến chi phí, đặt
mô hình rẻ hơn cho tác tử phụ qua agents.defaults.subagents.model.Tài liệu: Tác tử phụ, Tác vụ nền.Phiên subagent gắn với thread hoạt động như thế nào trên Discord?
Phiên subagent gắn với thread hoạt động như thế nào trên Discord?
- Spawn bằng
sessions_spawnvớithread: true(và tùy chọnmode: "session"để theo dõi tiếp bền vững). - Hoặc liên kết thủ công bằng
/focus <target>. - Dùng
/agentsđể kiểm tra trạng thái liên kết. - Dùng
/session idle <duration|off>và/session max-age <duration|off>để kiểm soát tự động bỏ focus. - Dùng
/unfocusđể tách thread.
- Mặc định toàn cục:
session.threadBindings.enabled,session.threadBindings.idleHours,session.threadBindings.maxAgeHours. - Ghi đè Discord:
channels.discord.threadBindings.enabled,channels.discord.threadBindings.idleHours,channels.discord.threadBindings.maxAgeHours. - Tự động liên kết khi spawn: đặt
channels.discord.threadBindings.spawnSubagentSessions: true.
Một subagent đã hoàn tất, nhưng cập nhật hoàn tất đi sai chỗ hoặc không bao giờ được đăng. Tôi nên kiểm tra gì?
Một subagent đã hoàn tất, nhưng cập nhật hoàn tất đi sai chỗ hoặc không bao giờ được đăng. Tôi nên kiểm tra gì?
- Gửi subagent ở chế độ hoàn tất ưu tiên bất kỳ thread đã liên kết hoặc tuyến hội thoại nào khi có.
- Nếu nguồn hoàn tất chỉ mang một kênh, OpenClaw quay về tuyến đã lưu của phiên requester (
lastChannel/lastTo/lastAccountId) để việc gửi trực tiếp vẫn có thể thành công. - Nếu không có tuyến đã liên kết lẫn tuyến đã lưu dùng được, gửi trực tiếp có thể thất bại và kết quả quay về gửi phiên đã xếp hàng thay vì đăng ngay vào trò chuyện.
- Mục tiêu không hợp lệ hoặc cũ vẫn có thể buộc quay về hàng đợi hoặc làm gửi cuối cùng thất bại.
- Nếu câu trả lời trợ lý hiển thị cuối cùng của tiến trình con là token im lặng chính xác
NO_REPLY/no_reply, hoặc chính xácANNOUNCE_SKIP, OpenClaw cố ý chặn thông báo thay vì đăng tiến độ cũ trước đó. - Nếu tiến trình con hết thời gian sau khi chỉ gọi công cụ, thông báo có thể rút gọn việc đó thành tóm tắt tiến độ một phần ngắn thay vì phát lại đầu ra công cụ thô.
Cron hoặc lời nhắc không chạy. Tôi nên kiểm tra gì?
Cron hoặc lời nhắc không chạy. Tôi nên kiểm tra gì?
- Xác nhận cron đã bật (
cron.enabled) vàOPENCLAW_SKIP_CRONchưa được đặt. - Kiểm tra Gateway đang chạy 24/7 (không ngủ/khởi động lại).
- Xác minh cài đặt múi giờ cho công việc (
--tzso với múi giờ máy chủ).
Cron đã chạy, nhưng không có gì được gửi đến kênh. Tại sao?
Cron đã chạy, nhưng không có gì được gửi đến kênh. Tại sao?
--no-deliver/delivery.mode: "none"nghĩa là không mong đợi runner gửi dự phòng.- Thiếu hoặc mục tiêu thông báo không hợp lệ (
channel/to) nghĩa là runner đã bỏ qua việc gửi ra ngoài. - Lỗi xác thực kênh (
unauthorized,Forbidden) nghĩa là runner đã cố gửi nhưng thông tin xác thực đã chặn việc đó. - Kết quả cô lập im lặng (chỉ
NO_REPLY/no_reply) được xem là cố ý không thể gửi, vì vậy runner cũng chặn việc gửi dự phòng đã xếp hàng.
message
khi có route chat khả dụng. --announce chỉ kiểm soát đường dẫn dự phòng
của runner cho văn bản cuối cùng mà agent chưa gửi.Gỡ lỗi:Tại sao một lần chạy cron cô lập lại chuyển model hoặc thử lại một lần?
Tại sao một lần chạy cron cô lập lại chuyển model hoặc thử lại một lần?
LiveSessionModelSwitchError. Lần thử lại giữ provider/model
đã chuyển, và nếu lần chuyển mang theo ghi đè hồ sơ xác thực mới, cron
cũng lưu ghi đè đó trước khi thử lại.Các quy tắc chọn liên quan:- Ghi đè model của hook Gmail thắng trước khi áp dụng.
- Sau đó là
modeltheo từng tác vụ. - Sau đó là mọi ghi đè model phiên cron đã lưu.
- Sau đó là lựa chọn model agent/mặc định thông thường.
Làm cách nào để cài đặt Skills trên Linux?
Làm cách nào để cài đặt Skills trên Linux?
openclaw skills gốc hoặc thả Skills vào workspace của bạn. Giao diện Skills trên macOS không khả dụng trên Linux.
Duyệt Skills tại https://clawhub.ai.openclaw skills install gốc ghi vào thư mục skills/ của workspace
đang hoạt động. Chỉ cài CLI clawhub riêng nếu bạn muốn phát hành hoặc
đồng bộ Skills của riêng mình. Với cài đặt dùng chung giữa các agent, đặt Skill dưới
~/.openclaw/skills và dùng agents.defaults.skills hoặc
agents.list[].skills nếu bạn muốn thu hẹp agent nào có thể thấy nó.OpenClaw có thể chạy tác vụ theo lịch hoặc liên tục trong nền không?
OpenClaw có thể chạy tác vụ theo lịch hoặc liên tục trong nền không?
- Tác vụ Cron cho các tác vụ đã lập lịch hoặc lặp lại (duy trì qua các lần khởi động lại).
- Heartbeat cho các lần kiểm tra định kỳ của “phiên chính”.
- Tác vụ cô lập cho các agent tự động đăng tóm tắt hoặc gửi đến chat.
Tôi có thể chạy Skills chỉ dành cho Apple macOS từ Linux không?
Tôi có thể chạy Skills chỉ dành cho Apple macOS từ Linux không?
metadata.openclaw.os cùng các binary bắt buộc, và Skills chỉ xuất hiện trong system prompt khi chúng đủ điều kiện trên máy chủ Gateway. Trên Linux, Skills chỉ dành cho darwin (như apple-notes, apple-reminders, things-mac) sẽ không tải trừ khi bạn ghi đè kiểm soát đó.Bạn có ba mẫu được hỗ trợ:Tùy chọn A - chạy Gateway trên máy Mac (đơn giản nhất).
Chạy Gateway ở nơi có các binary macOS, rồi kết nối từ Linux trong chế độ từ xa hoặc qua Tailscale. Skills tải bình thường vì máy chủ Gateway là macOS.Tùy chọn B - dùng node macOS (không SSH).
Chạy Gateway trên Linux, ghép nối node macOS (ứng dụng thanh menu), và đặt Node Run Commands thành “Always Ask” hoặc “Always Allow” trên máy Mac. OpenClaw có thể xem Skills chỉ dành cho macOS là đủ điều kiện khi các binary bắt buộc tồn tại trên node. Agent chạy các Skills đó qua công cụ nodes. Nếu bạn chọn “Always Ask”, việc phê duyệt “Always Allow” trong prompt sẽ thêm lệnh đó vào danh sách cho phép.Tùy chọn C - proxy binary macOS qua SSH (nâng cao).
Giữ Gateway trên Linux, nhưng làm cho các binary CLI bắt buộc phân giải thành wrapper SSH chạy trên máy Mac. Sau đó ghi đè Skill để cho phép Linux nhằm giữ nó đủ điều kiện.-
Tạo wrapper SSH cho binary (ví dụ:
memocho Apple Notes): -
Đặt wrapper trên
PATHtrên máy chủ Linux (ví dụ~/bin/memo). -
Ghi đè metadata Skill (workspace hoặc
~/.openclaw/skills) để cho phép Linux: - Bắt đầu phiên mới để snapshot Skills được làm mới.
Bạn có tích hợp Notion hoặc HeyGen không?
Bạn có tích hợp Notion hoặc HeyGen không?
- Skill / Plugin tùy chỉnh: tốt nhất cho truy cập API đáng tin cậy (Notion/HeyGen đều có API).
- Tự động hóa trình duyệt: hoạt động không cần code nhưng chậm hơn và dễ hỏng hơn.
- Một trang Notion cho mỗi khách hàng (ngữ cảnh + tùy chọn + công việc đang hoạt động).
- Yêu cầu agent lấy trang đó khi bắt đầu phiên.
skills/ của workspace đang hoạt động. Với Skills dùng chung giữa các agent, đặt chúng trong ~/.openclaw/skills/<name>/SKILL.md. Nếu chỉ một số agent nên thấy một bản cài đặt dùng chung, hãy cấu hình agents.defaults.skills hoặc agents.list[].skills. Một số Skills yêu cầu binary được cài qua Homebrew; trên Linux điều đó nghĩa là Linuxbrew (xem mục FAQ Homebrew Linux ở trên). Xem Skills, Cấu hình Skills, và ClawHub.Làm cách nào để dùng Chrome hiện có đã đăng nhập của tôi với OpenClaw?
Làm cách nào để dùng Chrome hiện có đã đăng nhập của tôi với OpenClaw?
user tích hợp sẵn, hồ sơ này gắn qua Chrome DevTools MCP:existing-session / user:- thao tác dựa trên ref, không dựa trên CSS selector
- tải lên yêu cầu
ref/inputRefvà hiện hỗ trợ từng tệp một responsebody, xuất PDF, chặn tải xuống, và thao tác hàng loạt vẫn cần trình duyệt được quản lý hoặc hồ sơ CDP thô
Sandboxing và bộ nhớ
Có tài liệu sandboxing chuyên biệt không?
Có tài liệu sandboxing chuyên biệt không?
Docker có vẻ bị giới hạn - làm cách nào để bật đầy đủ tính năng?
Docker có vẻ bị giới hạn - làm cách nào để bật đầy đủ tính năng?
node, nên nó không
bao gồm package hệ thống, Homebrew, hoặc trình duyệt đi kèm. Để thiết lập đầy đủ hơn:- Duy trì
/home/nodebằngOPENCLAW_HOME_VOLUMEđể cache còn lại. - Nướng dependency hệ thống vào image bằng
OPENCLAW_DOCKER_APT_PACKAGES. - Cài trình duyệt Playwright qua CLI đi kèm:
node /app/node_modules/playwright-core/cli.js install chromium - Đặt
PLAYWRIGHT_BROWSERS_PATHvà đảm bảo đường dẫn được duy trì.
Tôi có thể giữ DM riêng tư nhưng làm cho nhóm công khai/sandboxed với một agent không?
Tôi có thể giữ DM riêng tư nhưng làm cho nhóm công khai/sandboxed với một agent không?
agents.defaults.sandbox.mode: "non-main" để các phiên nhóm/kênh (key không phải main) chạy trong backend sandbox đã cấu hình, trong khi phiên DM chính vẫn ở trên máy chủ. Docker là backend mặc định nếu bạn không chọn backend nào. Sau đó giới hạn các công cụ khả dụng trong phiên sandboxed qua tools.sandbox.tools.Hướng dẫn thiết lập + cấu hình ví dụ: Nhóm: DM cá nhân + nhóm công khaiTham khảo cấu hình chính: Cấu hình GatewayLàm cách nào để bind một thư mục máy chủ vào sandbox?
Làm cách nào để bind một thư mục máy chủ vào sandbox?
agents.defaults.sandbox.docker.binds thành ["host:path:mode"] (ví dụ, "/home/user/src:/src:ro"). Bind toàn cục + theo agent được gộp; bind theo agent bị bỏ qua khi scope: "shared". Dùng :ro cho mọi thứ nhạy cảm và nhớ rằng bind bỏ qua các tường hệ thống tệp của sandbox.OpenClaw xác thực nguồn bind dựa trên cả đường dẫn đã chuẩn hóa và đường dẫn canonical được phân giải qua ancestor sâu nhất đang tồn tại. Điều đó nghĩa là việc thoát qua symlink-parent vẫn đóng an toàn ngay cả khi phân đoạn đường dẫn cuối chưa tồn tại, và kiểm tra allowed-root vẫn áp dụng sau khi phân giải symlink.Xem Sandboxing và Sandbox so với Chính sách công cụ so với Elevated để xem ví dụ và ghi chú an toàn.Bộ nhớ hoạt động như thế nào?
Bộ nhớ hoạt động như thế nào?
- Ghi chú hằng ngày trong
memory/YYYY-MM-DD.md - Ghi chú dài hạn đã tuyển chọn trong
MEMORY.md(chỉ phiên chính/riêng tư)
Bộ nhớ cứ quên mọi thứ. Làm cách nào để lưu lại?
Bộ nhớ cứ quên mọi thứ. Làm cách nào để lưu lại?
MEMORY.md,
ngữ cảnh ngắn hạn đi vào memory/YYYY-MM-DD.md.Đây vẫn là lĩnh vực chúng tôi đang cải thiện. Việc nhắc model lưu bộ nhớ sẽ hữu ích;
nó sẽ biết phải làm gì. Nếu nó vẫn tiếp tục quên, hãy xác minh Gateway đang dùng cùng
workspace trong mọi lần chạy.Tài liệu: Bộ nhớ, Workspace của agent.Bộ nhớ có tồn tại mãi không? Giới hạn là gì?
Bộ nhớ có tồn tại mãi không? Giới hạn là gì?
Tìm kiếm bộ nhớ ngữ nghĩa có cần khóa API OpenAI không?
Tìm kiếm bộ nhớ ngữ nghĩa có cần khóa API OpenAI không?
OPENAI_API_KEY hoặc models.providers.openai.apiKey).Nếu bạn không đặt nhà cung cấp một cách rõ ràng, OpenClaw sẽ tự động chọn nhà cung cấp khi
có thể phân giải một khóa API (auth profiles, models.providers.*.apiKey, hoặc biến môi trường).
Nó ưu tiên OpenAI nếu phân giải được khóa OpenAI, nếu không thì Gemini nếu phân giải được khóa Gemini,
rồi Voyage, rồi Mistral. Nếu không có khóa từ xa nào khả dụng, tìm kiếm bộ nhớ
sẽ vẫn bị tắt cho đến khi bạn cấu hình. Nếu bạn đã cấu hình và có sẵn đường dẫn mô hình cục bộ,
OpenClaw
ưu tiên local. Ollama được hỗ trợ khi bạn đặt rõ ràng
memorySearch.provider = "ollama".Nếu bạn muốn dùng cục bộ, hãy đặt memorySearch.provider = "local" (và tùy chọn
memorySearch.fallback = "none"). Nếu bạn muốn Gemini embeddings, hãy đặt
memorySearch.provider = "gemini" và cung cấp GEMINI_API_KEY (hoặc
memorySearch.remote.apiKey). Chúng tôi hỗ trợ các mô hình embedding OpenAI, Gemini, Voyage, Mistral, Ollama, hoặc local- xem Bộ nhớ để biết chi tiết thiết lập.
Nơi mọi thứ nằm trên ổ đĩa
Tất cả dữ liệu dùng với OpenClaw có được lưu cục bộ không?
Tất cả dữ liệu dùng với OpenClaw có được lưu cục bộ không?
- Cục bộ theo mặc định: phiên, tệp bộ nhớ, cấu hình và workspace nằm trên máy chủ Gateway
(
~/.openclaw+ thư mục workspace của bạn). - Từ xa do cần thiết: tin nhắn bạn gửi đến nhà cung cấp mô hình (Anthropic/OpenAI/v.v.) đi đến API của họ, và các nền tảng trò chuyện (WhatsApp/Telegram/Slack/v.v.) lưu dữ liệu tin nhắn trên máy chủ của họ.
- Bạn kiểm soát phạm vi dữ liệu: dùng mô hình cục bộ giữ prompt trên máy của bạn, nhưng lưu lượng kênh vẫn đi qua máy chủ của kênh.
OpenClaw lưu dữ liệu ở đâu?
OpenClaw lưu dữ liệu ở đâu?
$OPENCLAW_STATE_DIR (mặc định: ~/.openclaw):| Đường dẫn | Mục đích |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | Cấu hình chính (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | Nhập OAuth cũ (được sao chép vào auth profiles trong lần dùng đầu tiên) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | Auth profiles (OAuth, khóa API, và keyRef/tokenRef tùy chọn) |
$OPENCLAW_STATE_DIR/secrets.json | Payload bí mật tùy chọn dựa trên tệp cho nhà cung cấp SecretRef file |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | Tệp tương thích cũ (các mục api_key tĩnh đã được xóa sạch) |
$OPENCLAW_STATE_DIR/credentials/ | Trạng thái nhà cung cấp (ví dụ whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | Trạng thái theo từng agent (agentDir + phiên) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | Lịch sử hội thoại & trạng thái (theo từng agent) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | Siêu dữ liệu phiên (theo từng agent) |
~/.openclaw/agent/* (được di chuyển bởi openclaw doctor).Workspace của bạn (AGENTS.md, tệp bộ nhớ, Skills, v.v.) là riêng biệt và được cấu hình qua agents.defaults.workspace (mặc định: ~/.openclaw/workspace).AGENTS.md / SOUL.md / USER.md / MEMORY.md nên nằm ở đâu?
AGENTS.md / SOUL.md / USER.md / MEMORY.md nên nằm ở đâu?
~/.openclaw.- Workspace (theo từng agent):
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md,HEARTBEAT.mdtùy chọn.memory.mdviết thường ở gốc chỉ là đầu vào sửa chữa cũ;openclaw doctor --fixcó thể hợp nhất nó vàoMEMORY.mdkhi cả hai tệp đều tồn tại. - Thư mục trạng thái (
~/.openclaw): cấu hình, trạng thái kênh/nhà cung cấp, auth profiles, phiên, nhật ký, và Skills dùng chung (~/.openclaw/skills).
~/.openclaw/workspace, có thể cấu hình qua:Chiến lược sao lưu được khuyến nghị
Chiến lược sao lưu được khuyến nghị
~/.openclaw (thông tin xác thực, phiên, token, hoặc payload bí mật được mã hóa).
Nếu bạn cần khôi phục đầy đủ, hãy sao lưu riêng cả workspace và thư mục trạng thái
(xem câu hỏi về di chuyển ở trên).Tài liệu: Workspace của agent.Làm cách nào để gỡ cài đặt OpenClaw hoàn toàn?
Làm cách nào để gỡ cài đặt OpenClaw hoàn toàn?
Agent có thể làm việc bên ngoài workspace không?
Agent có thể làm việc bên ngoài workspace không?
agents.defaults.sandbox hoặc thiết lập sandbox theo từng agent. Nếu bạn
muốn một repo là thư mục làm việc mặc định, hãy trỏ workspace của agent đó
đến gốc repo. Repo OpenClaw chỉ là mã nguồn; hãy giữ workspace
riêng biệt trừ khi bạn cố ý muốn agent làm việc bên trong đó.Ví dụ (repo làm cwd mặc định):Chế độ từ xa: kho lưu phiên nằm ở đâu?
Chế độ từ xa: kho lưu phiên nằm ở đâu?
Cơ bản về cấu hình
Cấu hình có định dạng gì? Nó nằm ở đâu?
Cấu hình có định dạng gì? Nó nằm ở đâu?
$OPENCLAW_CONFIG_PATH (mặc định: ~/.openclaw/openclaw.json):~/.openclaw/workspace).Tôi đặt gateway.bind: "lan" (hoặc "tailnet") và giờ không có gì lắng nghe / UI báo unauthorized
Tôi đặt gateway.bind: "lan" (hoặc "tailnet") và giờ không có gì lắng nghe / UI báo unauthorized
Tại sao bây giờ tôi cần token trên localhost?
Tại sao bây giờ tôi cần token trên localhost?
gateway.auth.token, vì vậy các client WS cục bộ phải xác thực. Điều này chặn các tiến trình cục bộ khác gọi Gateway.Nếu bạn muốn một đường dẫn xác thực khác, bạn có thể chọn rõ ràng chế độ mật khẩu (hoặc, với reverse proxy nhận biết danh tính, trusted-proxy). Nếu bạn thật sự muốn mở loopback, hãy đặt rõ ràng gateway.auth.mode: "none" trong cấu hình của bạn. Doctor có thể tạo token cho bạn bất kỳ lúc nào: openclaw doctor --generate-gateway-token.Tôi có phải khởi động lại sau khi thay đổi cấu hình không?
Tôi có phải khởi động lại sau khi thay đổi cấu hình không?
gateway.reload.mode: "hybrid"(mặc định): áp dụng nóng các thay đổi an toàn, khởi động lại với các thay đổi quan trọnghot,restart,offcũng được hỗ trợ
Làm cách nào để tắt các tagline CLI hài hước?
Làm cách nào để tắt các tagline CLI hài hước?
cli.banner.taglineMode trong cấu hình:off: ẩn văn bản tagline nhưng giữ dòng tiêu đề/phiên bản của banner.default: dùngAll your chats, one OpenClaw.mỗi lần.random: các tagline hài hước/theo mùa xoay vòng (hành vi mặc định).- Nếu bạn không muốn banner nào cả, hãy đặt env
OPENCLAW_HIDE_BANNER=1.
Làm cách nào để bật tìm kiếm web (và nạp web)?
Làm cách nào để bật tìm kiếm web (và nạp web)?
web_fetch hoạt động mà không cần khóa API. web_search phụ thuộc vào nhà cung cấp
bạn chọn:- Các nhà cung cấp dựa trên API như Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity, và Tavily yêu cầu thiết lập khóa API thông thường của họ.
- Ollama Web Search không cần khóa, nhưng nó dùng máy chủ Ollama đã cấu hình của bạn và yêu cầu
ollama signin. - DuckDuckGo không cần khóa, nhưng đây là tích hợp không chính thức dựa trên HTML.
- SearXNG không cần khóa/tự lưu trữ; cấu hình
SEARXNG_BASE_URLhoặcplugins.entries.searxng.config.webSearch.baseUrl.
openclaw configure --section web và chọn một nhà cung cấp.
Các lựa chọn thay thế bằng môi trường:- Brave:
BRAVE_API_KEY - Exa:
EXA_API_KEY - Firecrawl:
FIRECRAWL_API_KEY - Gemini:
GEMINI_API_KEY - Grok:
XAI_API_KEY - Kimi:
KIMI_API_KEYhoặcMOONSHOT_API_KEY - MiniMax Search:
MINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEY, hoặcMINIMAX_API_KEY - Perplexity:
PERPLEXITY_API_KEYhoặcOPENROUTER_API_KEY - SearXNG:
SEARXNG_BASE_URL - Tavily:
TAVILY_API_KEY
plugins.entries.<plugin>.config.webSearch.*.
Các đường dẫn nhà cung cấp cũ tools.web.search.* vẫn tạm thời được tải để tương thích, nhưng không nên dùng cho cấu hình mới.
Cấu hình dự phòng tìm nạp web của Firecrawl nằm trong plugins.entries.firecrawl.config.webFetch.*.Ghi chú:- Nếu bạn dùng danh sách cho phép, hãy thêm
web_search/web_fetch/x_searchhoặcgroup:web. web_fetchđược bật theo mặc định (trừ khi bị tắt rõ ràng).- Nếu bỏ qua
tools.web.fetch.provider, OpenClaw sẽ tự động phát hiện nhà cung cấp dự phòng tìm nạp sẵn sàng đầu tiên từ thông tin xác thực hiện có. Hiện tại nhà cung cấp đi kèm là Firecrawl. - Daemon đọc biến môi trường từ
~/.openclaw/.env(hoặc môi trường dịch vụ).
config.apply đã xóa cấu hình của tôi. Làm sao để khôi phục và tránh điều này?
config.apply đã xóa cấu hình của tôi. Làm sao để khôi phục và tránh điều này?
config.apply thay thế toàn bộ cấu hình. Nếu bạn gửi một đối tượng một phần, mọi thứ
khác sẽ bị xóa.OpenClaw hiện tại bảo vệ khỏi nhiều lần ghi đè ngoài ý muốn:- Các lần ghi cấu hình do OpenClaw sở hữu sẽ xác thực toàn bộ cấu hình sau thay đổi trước khi ghi.
- Các lần ghi do OpenClaw sở hữu không hợp lệ hoặc có tính phá hủy sẽ bị từ chối và được lưu dưới dạng
openclaw.json.rejected.*. - Nếu một chỉnh sửa trực tiếp làm hỏng quá trình khởi động hoặc tải lại nóng, Gateway sẽ khôi phục cấu hình tốt gần nhất đã biết và lưu tệp bị từ chối dưới dạng
openclaw.json.clobbered.*. - Agent chính nhận cảnh báo khởi động sau khi khôi phục để không ghi mù quáng cấu hình lỗi đó lần nữa.
- Kiểm tra
openclaw logs --followđể tìmConfig auto-restored from last-known-good,Config write rejected:, hoặcconfig reload restored last-known-good config. - Kiểm tra
openclaw.json.clobbered.*hoặcopenclaw.json.rejected.*mới nhất bên cạnh cấu hình đang hoạt động. - Giữ cấu hình đã khôi phục đang hoạt động nếu nó dùng được, rồi chỉ sao chép lại các khóa mong muốn bằng
openclaw config sethoặcconfig.patch. - Chạy
openclaw config validatevàopenclaw doctor. - Nếu bạn không có cấu hình tốt gần nhất đã biết hoặc payload bị từ chối, hãy khôi phục từ bản sao lưu, hoặc chạy lại
openclaw doctorvà cấu hình lại kênh/mô hình. - Nếu điều này xảy ra ngoài dự kiến, hãy gửi báo lỗi và kèm cấu hình gần nhất bạn biết hoặc bất kỳ bản sao lưu nào.
- Một agent lập trình cục bộ thường có thể tái tạo cấu hình hoạt động từ nhật ký hoặc lịch sử.
- Dùng
openclaw config setcho các thay đổi nhỏ. - Dùng
openclaw configuređể chỉnh sửa tương tác. - Dùng
config.schema.lookuptrước khi bạn không chắc về đường dẫn chính xác hoặc hình dạng trường; nó trả về một nút schema nông cộng với phần tóm tắt con trực tiếp để đi sâu. - Dùng
config.patchcho các chỉnh sửa RPC một phần; chỉ dùngconfig.applyđể thay thế toàn bộ cấu hình. - Nếu bạn đang dùng công cụ
gatewaychỉ dành cho chủ sở hữu từ một lượt chạy agent, nó vẫn sẽ từ chối ghi vàotools.exec.ask/tools.exec.security(bao gồm các bí danh cũtools.bash.*được chuẩn hóa về cùng các đường dẫn exec được bảo vệ).
Làm sao để chạy Gateway trung tâm với các worker chuyên biệt trên nhiều thiết bị?
Làm sao để chạy Gateway trung tâm với các worker chuyên biệt trên nhiều thiết bị?
- Gateway (trung tâm): sở hữu kênh (Signal/WhatsApp), định tuyến và phiên.
- Node (thiết bị): Mac/iOS/Android kết nối như thiết bị ngoại vi và cung cấp công cụ cục bộ (
system.run,canvas,camera). - Agent (worker): các bộ não/không gian làm việc riêng cho vai trò đặc biệt (ví dụ “Hetzner ops”, “Personal data”).
- Sub-agent: khởi chạy công việc nền từ agent chính khi bạn muốn chạy song song.
- TUI: kết nối tới Gateway và chuyển đổi agent/phiên.
Trình duyệt OpenClaw có thể chạy headless không?
Trình duyệt OpenClaw có thể chạy headless không?
false (headful). Headless có khả năng kích hoạt kiểm tra chống bot trên một số trang cao hơn. Xem Trình duyệt.Headless dùng cùng engine Chromium và hoạt động với hầu hết tác vụ tự động hóa (biểu mẫu, nhấp chuột, scraping, đăng nhập). Các khác biệt chính:- Không có cửa sổ trình duyệt hiển thị (dùng ảnh chụp màn hình nếu bạn cần hình ảnh).
- Một số trang nghiêm ngặt hơn với tự động hóa ở chế độ headless (CAPTCHA, chống bot). Ví dụ, X/Twitter thường chặn các phiên headless.
Làm sao để dùng Brave để điều khiển trình duyệt?
Làm sao để dùng Brave để điều khiển trình duyệt?
browser.executablePath thành tệp nhị phân Brave của bạn (hoặc bất kỳ trình duyệt dựa trên Chromium nào) và khởi động lại Gateway.
Xem các ví dụ cấu hình đầy đủ trong Trình duyệt.Gateway và Node từ xa
Các lệnh lan truyền giữa Telegram, gateway và Node như thế nào?
Các lệnh lan truyền giữa Telegram, gateway và Node như thế nào?
node.* → Node → Gateway → TelegramNode không thấy lưu lượng nhà cung cấp đi vào; chúng chỉ nhận các lệnh gọi RPC Node.Agent của tôi có thể truy cập máy tính của tôi như thế nào nếu Gateway được lưu trữ từ xa?
Agent của tôi có thể truy cập máy tính của tôi như thế nào nếu Gateway được lưu trữ từ xa?
node.* (màn hình, camera, hệ thống) trên máy cục bộ của bạn qua Gateway WebSocket.Thiết lập điển hình:- Chạy Gateway trên máy chủ luôn bật (VPS/máy chủ tại nhà).
- Đưa máy chủ Gateway + máy tính của bạn vào cùng tailnet.
- Đảm bảo Gateway WS có thể truy cập được (bind tailnet hoặc đường hầm SSH).
- Mở ứng dụng macOS cục bộ và kết nối ở chế độ Remote over SSH (hoặc tailnet trực tiếp) để nó có thể đăng ký làm Node.
-
Phê duyệt Node trên Gateway:
system.run trên máy đó. Chỉ
ghép đôi thiết bị bạn tin cậy, và xem lại Bảo mật.Tài liệu: Node, Giao thức Gateway, Chế độ từ xa macOS, Bảo mật.Tailscale đã kết nối nhưng tôi không nhận được phản hồi. Giờ phải làm gì?
Tailscale đã kết nối nhưng tôi không nhận được phản hồi. Giờ phải làm gì?
- Gateway đang chạy:
openclaw gateway status - Tình trạng Gateway:
openclaw status - Tình trạng kênh:
openclaw channels status
- Nếu bạn dùng Tailscale Serve, hãy đảm bảo
gateway.auth.allowTailscaleđược đặt đúng. - Nếu bạn kết nối qua đường hầm SSH, xác nhận đường hầm cục bộ đang hoạt động và trỏ tới đúng cổng.
- Xác nhận danh sách cho phép của bạn (DM hoặc nhóm) có bao gồm tài khoản của bạn.
Hai phiên bản OpenClaw có thể nói chuyện với nhau không (cục bộ + VPS)?
Hai phiên bản OpenClaw có thể nói chuyện với nhau không (cục bộ + VPS)?
openclaw agent --message ... --deliver, nhắm tới một cuộc chat nơi bot kia
lắng nghe. Nếu một bot ở VPS từ xa, hãy trỏ CLI của bạn tới Gateway từ xa đó
qua SSH/Tailscale (xem Truy cập từ xa).Mẫu ví dụ (chạy từ một máy có thể truy cập Gateway đích):Tôi có cần các VPS riêng cho nhiều agent không?
Tôi có cần các VPS riêng cho nhiều agent không?
Có lợi ích gì khi dùng Node trên laptop cá nhân thay vì SSH từ VPS không?
Có lợi ích gì khi dùng Node trên laptop cá nhân thay vì SSH từ VPS không?
- Không cần SSH đi vào. Node kết nối ra Gateway WebSocket và dùng ghép đôi thiết bị.
- Kiểm soát thực thi an toàn hơn.
system.runđược chặn bởi danh sách cho phép/phê duyệt Node trên laptop đó. - Nhiều công cụ thiết bị hơn. Node cung cấp
canvas,camera, vàscreenngoàisystem.run. - Tự động hóa trình duyệt cục bộ. Giữ Gateway trên VPS, nhưng chạy Chrome cục bộ qua máy chủ Node trên laptop, hoặc gắn vào Chrome cục bộ trên máy chủ qua Chrome MCP.
Node có chạy dịch vụ gateway không?
Node có chạy dịch vụ gateway không?
gateway, discovery, và canvasHost.Có cách API / RPC để áp dụng cấu hình không?
Có cách API / RPC để áp dụng cấu hình không?
config.schema.lookup: kiểm tra một cây con cấu hình với nút schema nông, gợi ý UI khớp, và phần tóm tắt con trực tiếp trước khi ghiconfig.get: lấy snapshot hiện tại + hashconfig.patch: cập nhật một phần an toàn (ưu tiên cho hầu hết chỉnh sửa RPC); tải lại nóng khi có thể và khởi động lại khi cầnconfig.apply: xác thực + thay thế toàn bộ cấu hình; tải lại nóng khi có thể và khởi động lại khi cần- Công cụ runtime
gatewaychỉ dành cho chủ sở hữu vẫn từ chối viết lạitools.exec.ask/tools.exec.security; các bí danh cũtools.bash.*được chuẩn hóa về cùng các đường dẫn exec được bảo vệ
Cấu hình tối thiểu hợp lý cho lần cài đặt đầu tiên
Cấu hình tối thiểu hợp lý cho lần cài đặt đầu tiên
Làm thế nào để thiết lập Tailscale trên VPS và kết nối từ Mac của tôi?
Làm thế nào để thiết lập Tailscale trên VPS và kết nối từ Mac của tôi?
-
Cài đặt + đăng nhập trên VPS
-
Cài đặt + đăng nhập trên Mac của bạn
- Dùng ứng dụng Tailscale và đăng nhập vào cùng tailnet.
-
Bật MagicDNS (khuyến nghị)
- Trong bảng điều khiển quản trị Tailscale, bật MagicDNS để VPS có tên ổn định.
-
Dùng tên máy chủ tailnet
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - Gateway WS:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
Làm thế nào để kết nối một node Mac với Gateway từ xa (Tailscale Serve)?
Làm thế nào để kết nối một node Mac với Gateway từ xa (Tailscale Serve)?
- Đảm bảo VPS + Mac nằm trong cùng tailnet.
- Dùng ứng dụng macOS ở chế độ Từ xa (đích SSH có thể là tên máy chủ tailnet). Ứng dụng sẽ tunnel cổng Gateway và kết nối như một node.
-
Phê duyệt node trên gateway:
Tôi nên cài trên laptop thứ hai hay chỉ thêm một node?
Tôi nên cài trên laptop thứ hai hay chỉ thêm một node?
Biến môi trường và tải .env
OpenClaw tải biến môi trường như thế nào?
OpenClaw tải biến môi trường như thế nào?
.envtừ thư mục làm việc hiện tại.envdự phòng toàn cục từ~/.openclaw/.env(còn gọi là$OPENCLAW_STATE_DIR/.env)
.env nào ghi đè các biến môi trường hiện có.Bạn cũng có thể định nghĩa biến môi trường nội tuyến trong cấu hình (chỉ áp dụng nếu thiếu trong môi trường tiến trình):Tôi khởi động Gateway qua service và các biến môi trường của tôi biến mất. Bây giờ phải làm gì?
Tôi khởi động Gateway qua service và các biến môi trường của tôi biến mất. Bây giờ phải làm gì?
- Đặt các khóa bị thiếu vào
~/.openclaw/.envđể chúng được nhận ngay cả khi service không kế thừa môi trường shell của bạn. - Bật nhập shell (tiện ích tùy chọn):
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.Tôi đã đặt COPILOT_GITHUB_TOKEN, nhưng trạng thái mô hình hiển thị "Shell env: off." Vì sao?
Tôi đã đặt COPILOT_GITHUB_TOKEN, nhưng trạng thái mô hình hiển thị "Shell env: off." Vì sao?
openclaw models status báo cáo liệu nhập môi trường shell có được bật hay không. “Shell env: off”
không có nghĩa là biến môi trường của bạn bị thiếu - nó chỉ có nghĩa là OpenClaw sẽ không tự động tải
shell đăng nhập của bạn.Nếu Gateway chạy như một service (launchd/systemd), nó sẽ không kế thừa môi trường
shell của bạn. Sửa bằng một trong các cách sau:-
Đặt token vào
~/.openclaw/.env: -
Hoặc bật nhập shell (
env.shellEnv.enabled: true). -
Hoặc thêm nó vào khối
envtrong cấu hình của bạn (chỉ áp dụng nếu thiếu).
COPILOT_GITHUB_TOKEN (cũng như GH_TOKEN / GITHUB_TOKEN).
Xem /concepts/model-providers và /environment.Phiên và nhiều cuộc trò chuyện
Làm thế nào để bắt đầu một cuộc trò chuyện mới?
Làm thế nào để bắt đầu một cuộc trò chuyện mới?
/new hoặc /reset dưới dạng một tin nhắn riêng. Xem Quản lý phiên.Phiên có tự động đặt lại nếu tôi không bao giờ gửi /new không?
Phiên có tự động đặt lại nếu tôi không bao giờ gửi /new không?
session.idleMinutes, nhưng tính năng này mặc định bị tắt (mặc định 0).
Đặt giá trị này thành số dương để bật hết hạn khi nhàn rỗi. Khi được bật, tin nhắn tiếp theo
sau khoảng thời gian nhàn rỗi sẽ bắt đầu một id phiên mới cho khóa chat đó.
Điều này không xóa transcript - nó chỉ bắt đầu một phiên mới.Có cách nào tạo một nhóm các phiên bản OpenClaw (một CEO và nhiều agent) không?
Có cách nào tạo một nhóm các phiên bản OpenClaw (một CEO và nhiều agent) không?
Vì sao ngữ cảnh bị cắt giữa chừng khi đang làm tác vụ? Làm sao để ngăn điều đó?
Vì sao ngữ cảnh bị cắt giữa chừng khi đang làm tác vụ? Làm sao để ngăn điều đó?
- Yêu cầu bot tóm tắt trạng thái hiện tại và ghi vào một tệp.
- Dùng
/compacttrước các tác vụ dài, và/newkhi chuyển chủ đề. - Giữ ngữ cảnh quan trọng trong không gian làm việc và yêu cầu bot đọc lại.
- Dùng sub-agent cho công việc dài hoặc song song để cuộc trò chuyện chính nhỏ hơn.
- Chọn mô hình có cửa sổ ngữ cảnh lớn hơn nếu điều này xảy ra thường xuyên.
Làm thế nào để đặt lại hoàn toàn OpenClaw nhưng vẫn giữ cài đặt?
Làm thế nào để đặt lại hoàn toàn OpenClaw nhưng vẫn giữ cài đặt?
- Onboarding cũng cung cấp Đặt lại nếu phát hiện cấu hình hiện có. Xem Onboarding (CLI).
- Nếu bạn dùng profile (
--profile/OPENCLAW_PROFILE), hãy đặt lại từng thư mục trạng thái (mặc định là~/.openclaw-<profile>). - Đặt lại cho dev:
openclaw gateway --dev --reset(chỉ dành cho dev; xóa cấu hình dev + thông tin xác thực + phiên + không gian làm việc).
Tôi gặp lỗi "context too large" - làm thế nào để đặt lại hoặc compact?
Tôi gặp lỗi "context too large" - làm thế nào để đặt lại hoặc compact?
-
Compact (giữ cuộc trò chuyện nhưng tóm tắt các lượt cũ hơn):
hoặc
/compact <instructions>để hướng dẫn phần tóm tắt. -
Đặt lại (ID phiên mới cho cùng khóa chat):
- Bật hoặc tinh chỉnh cắt tỉa phiên (
agents.defaults.contextPruning) để cắt bớt đầu ra công cụ cũ. - Dùng mô hình có cửa sổ ngữ cảnh lớn hơn.
Vì sao tôi thấy "LLM request rejected: messages.content.tool_use.input field required"?
Vì sao tôi thấy "LLM request rejected: messages.content.tool_use.input field required"?
tool_use không có
input bắt buộc. Điều này thường có nghĩa là lịch sử phiên đã cũ hoặc bị hỏng (thường sau các luồng dài
hoặc thay đổi công cụ/schema).Cách sửa: bắt đầu một phiên mới bằng /new (tin nhắn riêng).Vì sao tôi nhận được tin nhắn Heartbeat mỗi 30 phút?
Vì sao tôi nhận được tin nhắn Heartbeat mỗi 30 phút?
HEARTBEAT.md tồn tại nhưng về cơ bản trống (chỉ có dòng trống và header markdown
như # Heading), OpenClaw bỏ qua lần chạy heartbeat để tiết kiệm lệnh gọi API.
Nếu tệp bị thiếu, heartbeat vẫn chạy và mô hình quyết định cần làm gì.Ghi đè theo từng agent dùng agents.list[].heartbeat. Tài liệu: Heartbeat.Tôi có cần thêm một "tài khoản bot" vào nhóm WhatsApp không?
Tôi có cần thêm một "tài khoản bot" vào nhóm WhatsApp không?
groupPolicy: "allowlist").Nếu bạn muốn chỉ bạn có thể kích hoạt trả lời nhóm:Làm thế nào để lấy JID của một nhóm WhatsApp?
Làm thế nào để lấy JID của một nhóm WhatsApp?
Vì sao OpenClaw không trả lời trong nhóm?
Vì sao OpenClaw không trả lời trong nhóm?
- Cổng yêu cầu mention đang bật (mặc định). Bạn phải @mention bot (hoặc khớp
mentionPatterns). - Bạn đã cấu hình
channels.whatsapp.groupsmà không có"*"và nhóm không nằm trong allowlist.
Nhóm/luồng có chia sẻ ngữ cảnh với DM không?
Nhóm/luồng có chia sẻ ngữ cảnh với DM không?
Tôi có thể tạo bao nhiêu không gian làm việc và agent?
Tôi có thể tạo bao nhiêu không gian làm việc và agent?
- Dung lượng đĩa tăng: phiên + transcript nằm trong
~/.openclaw/agents/<agentId>/sessions/. - Chi phí token: nhiều agent hơn nghĩa là dùng mô hình đồng thời nhiều hơn.
- Chi phí vận hành: profile xác thực, không gian làm việc và định tuyến kênh theo từng agent.
- Giữ một không gian làm việc active cho mỗi agent (
agents.defaults.workspace). - Cắt tỉa phiên cũ (xóa JSONL hoặc mục lưu trữ) nếu dung lượng đĩa tăng.
- Dùng
openclaw doctorđể phát hiện không gian làm việc rơi rớt và profile không khớp.
Tôi có thể chạy nhiều bot hoặc cuộc trò chuyện cùng lúc (Slack) không, và nên thiết lập như thế nào?
Tôi có thể chạy nhiều bot hoặc cuộc trò chuyện cùng lúc (Slack) không, và nên thiết lập như thế nào?
- Máy chủ Gateway luôn bật (VPS/Mac mini).
- Một tác nhân cho mỗi vai trò (liên kết).
- Kênh Slack được liên kết với các tác nhân đó.
- Trình duyệt cục bộ qua Chrome MCP hoặc một node khi cần.
Mô hình, chuyển đổi dự phòng và hồ sơ xác thực
Hỏi đáp về mô hình — mặc định, lựa chọn, bí danh, chuyển đổi, chuyển đổi dự phòng, hồ sơ xác thực — nằm trong FAQ về mô hình.Gateway: cổng, “đã chạy”, và chế độ từ xa
Gateway dùng cổng nào?
Gateway dùng cổng nào?
gateway.port kiểm soát cổng ghép kênh duy nhất cho WebSocket + HTTP (Control UI, hook, v.v.).Thứ tự ưu tiên:Vì sao openclaw gateway status báo "Runtime: running" nhưng "Connectivity probe: failed"?
Vì sao openclaw gateway status báo "Runtime: running" nhưng "Connectivity probe: failed"?
openclaw gateway status và tin các dòng này:Probe target:(URL mà kiểm tra thực sự dùng)Listening:(thứ thực sự được bind trên cổng)Last gateway error:(nguyên nhân gốc thường gặp khi tiến trình còn sống nhưng cổng không lắng nghe)
Vì sao openclaw gateway status hiển thị "Config (cli)" và "Config (service)" khác nhau?
Vì sao openclaw gateway status hiển thị "Config (cli)" và "Config (service)" khác nhau?
--profile / OPENCLAW_STATE_DIR).Cách sửa:--profile / môi trường mà bạn muốn dịch vụ sử dụng."another gateway instance is already listening" nghĩa là gì?
"another gateway instance is already listening" nghĩa là gì?
ws://127.0.0.1:18789). Nếu bind thất bại với EADDRINUSE, nó ném GatewayLockError cho biết một thực thể khác đã đang lắng nghe.Cách sửa: dừng thực thể kia, giải phóng cổng, hoặc chạy với openclaw gateway --port <port>.Làm thế nào để chạy OpenClaw ở chế độ từ xa (client kết nối tới Gateway ở nơi khác)?
Làm thế nào để chạy OpenClaw ở chế độ từ xa (client kết nối tới Gateway ở nơi khác)?
gateway.mode: "remote" và trỏ tới một URL WebSocket từ xa, tùy chọn kèm thông tin xác thực từ xa bằng bí mật dùng chung:openclaw gatewaychỉ khởi động khigateway.modelàlocal(hoặc bạn truyền cờ ghi đè).- Ứng dụng macOS theo dõi tệp cấu hình và chuyển chế độ trực tiếp khi các giá trị này thay đổi.
gateway.remote.token/.passwordchỉ là thông tin xác thực từ xa phía client; chúng không tự bật xác thực Gateway cục bộ.
Control UI báo "unauthorized" (hoặc liên tục kết nối lại). Giờ làm gì?
Control UI báo "unauthorized" (hoặc liên tục kết nối lại). Giờ làm gì?
Tôi đặt gateway.bind là tailnet nhưng nó không thể bind và không có gì lắng nghe
Tôi đặt gateway.bind là tailnet nhưng nó không thể bind và không có gì lắng nghe
tailnet chọn một IP Tailscale từ các giao diện mạng của bạn (100.64.0.0/10). Nếu máy không ở trên Tailscale (hoặc giao diện đang tắt), sẽ không có gì để bind.Cách sửa:- Khởi động Tailscale trên máy chủ đó (để nó có địa chỉ 100.x), hoặc
- Chuyển sang
gateway.bind: "loopback"/"lan".
tailnet là rõ ràng. auto ưu tiên loopback; dùng gateway.bind: "tailnet" khi bạn muốn bind chỉ dành cho tailnet.Tôi có thể chạy nhiều Gateway trên cùng một máy chủ không?
Tôi có thể chạy nhiều Gateway trên cùng một máy chủ không?
OPENCLAW_CONFIG_PATH(cấu hình theo từng thực thể)OPENCLAW_STATE_DIR(trạng thái theo từng thực thể)agents.defaults.workspace(cô lập workspace)gateway.port(cổng duy nhất)
- Dùng
openclaw --profile <name> ...cho mỗi thực thể (tự tạo~/.openclaw-<name>). - Đặt
gateway.portduy nhất trong từng cấu hình hồ sơ (hoặc truyền--portcho các lần chạy thủ công). - Cài đặt dịch vụ theo từng hồ sơ:
openclaw --profile <name> gateway install.
ai.openclaw.<profile>; cũ com.openclaw.*, openclaw-gateway-<profile>.service, OpenClaw Gateway (<profile>)).
Hướng dẫn đầy đủ: Nhiều gateway."invalid handshake" / mã 1008 nghĩa là gì?
"invalid handshake" / mã 1008 nghĩa là gì?
connect. Nếu nhận được bất cứ thứ gì khác, nó đóng kết nối
với mã 1008 (vi phạm chính sách).Nguyên nhân thường gặp:- Bạn đã mở URL HTTP trong trình duyệt (
http://...) thay vì client WS. - Bạn dùng sai cổng hoặc đường dẫn.
- Proxy hoặc tunnel đã loại bỏ header xác thực hoặc gửi một yêu cầu không phải Gateway.
- Dùng URL WS:
ws://<host>:18789(hoặcwss://...nếu HTTPS). - Đừng mở cổng WS trong tab trình duyệt bình thường.
- Nếu xác thực đang bật, hãy bao gồm token/password trong khung
connect.
Ghi log và gỡ lỗi
Log ở đâu?
Log ở đâu?
logging.file. Mức log tệp được kiểm soát bởi logging.level. Độ chi tiết console được kiểm soát bởi --verbose và logging.consoleLevel.Theo dõi log nhanh nhất:- macOS:
$OPENCLAW_STATE_DIR/logs/gateway.logvàgateway.err.log(mặc định:~/.openclaw/logs/...; hồ sơ dùng~/.openclaw-<profile>/logs/...) - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
Làm thế nào để khởi động/dừng/khởi động lại dịch vụ Gateway?
Làm thế nào để khởi động/dừng/khởi động lại dịch vụ Gateway?
openclaw gateway --force có thể lấy lại cổng. Xem Gateway.Tôi đã đóng terminal trên Windows - làm thế nào để khởi động lại OpenClaw?
Tôi đã đóng terminal trên Windows - làm thế nào để khởi động lại OpenClaw?
Gateway đã bật nhưng phản hồi không bao giờ đến. Tôi nên kiểm tra gì?
Gateway đã bật nhưng phản hồi không bao giờ đến. Tôi nên kiểm tra gì?
- Xác thực mô hình chưa được tải trên máy chủ gateway (kiểm tra
models status). - Ghép cặp kênh/danh sách cho phép chặn phản hồi (kiểm tra cấu hình kênh + log).
- WebChat/Dashboard đang mở mà không có token đúng.
"Disconnected from gateway: no reason" - giờ làm gì?
"Disconnected from gateway: no reason" - giờ làm gì?
- Gateway có đang chạy không?
openclaw gateway status - Gateway có khỏe mạnh không?
openclaw status - UI có đúng token không?
openclaw dashboard - Nếu là từ xa, đường hầm/liên kết Tailscale có đang hoạt động không?
Telegram setMyCommands thất bại. Tôi nên kiểm tra gì?
Telegram setMyCommands thất bại. Tôi nên kiểm tra gì?
BOT_COMMANDS_TOO_MUCH: menu Telegram có quá nhiều mục. OpenClaw đã cắt giảm tới giới hạn của Telegram và thử lại với ít lệnh hơn, nhưng vẫn cần bỏ bớt một số mục menu. Giảm lệnh plugin/skill/tùy chỉnh, hoặc tắtchannels.telegram.commands.nativenếu bạn không cần menu.TypeError: fetch failed,Network request for 'setMyCommands' failed!, hoặc các lỗi mạng tương tự: nếu bạn đang dùng VPS hoặc ở sau proxy, hãy xác nhận HTTPS chiều ra được cho phép và DNS hoạt động vớiapi.telegram.org.
TUI không hiển thị đầu ra. Tôi nên kiểm tra gì?
TUI không hiển thị đầu ra. Tôi nên kiểm tra gì?
/status để xem trạng thái hiện tại. Nếu bạn mong đợi phản hồi trong một kênh chat,
hãy chắc chắn đã bật gửi đi (/deliver on).Tài liệu: TUI, Lệnh slash.Làm thế nào để dừng hẳn rồi khởi động Gateway?
Làm thế nào để dừng hẳn rồi khởi động Gateway?
Giải thích đơn giản: openclaw gateway restart so với openclaw gateway
Giải thích đơn giản: openclaw gateway restart so với openclaw gateway
openclaw gateway restart: khởi động lại dịch vụ nền (launchd/systemd).openclaw gateway: chạy Gateway ở foreground cho phiên terminal này.
openclaw gateway khi
bạn muốn chạy foreground một lần.Cách nhanh nhất để lấy thêm chi tiết khi có lỗi
Cách nhanh nhất để lấy thêm chi tiết khi có lỗi
--verbose để có thêm chi tiết trên console. Sau đó kiểm tra tệp log để xem lỗi xác thực kênh, định tuyến model và RPC.Phương tiện và tệp đính kèm
Skill của tôi đã tạo ảnh/PDF, nhưng không có gì được gửi
Skill của tôi đã tạo ảnh/PDF, nhưng không có gì được gửi
MEDIA:<path-or-url> (trên một dòng riêng). Xem Thiết lập trợ lý OpenClaw và Gửi từ agent.Gửi bằng CLI:- Kênh đích hỗ trợ phương tiện gửi ra và không bị chặn bởi allowlist.
- Tệp nằm trong giới hạn kích thước của nhà cung cấp (ảnh được đổi kích thước tối đa 2048px).
tools.fs.workspaceOnly=truegiới hạn việc gửi đường dẫn cục bộ trong workspace, temp/media-store và các tệp đã được sandbox xác thực.tools.fs.workspaceOnly=falsecho phépMEDIA:gửi các tệp cục bộ trên máy chủ mà agent đã có thể đọc, nhưng chỉ cho phương tiện cùng các loại tài liệu an toàn (ảnh, âm thanh, video, PDF và tài liệu Office). Tệp văn bản thuần và tệp giống bí mật vẫn bị chặn.
Bảo mật và kiểm soát truy cập
Có an toàn khi cho OpenClaw nhận DM gửi đến không?
Có an toàn khi cho OpenClaw nhận DM gửi đến không?
- Hành vi mặc định trên các kênh hỗ trợ DM là ghép nối:
- Người gửi không xác định nhận mã ghép nối; bot không xử lý tin nhắn của họ.
- Phê duyệt bằng:
openclaw pairing approve --channel <channel> [--account <id>] <code> - Yêu cầu đang chờ được giới hạn ở 3 mỗi kênh; kiểm tra
openclaw pairing list --channel <channel> [--account <id>]nếu mã không đến.
- Mở DM công khai yêu cầu bật rõ ràng (
dmPolicy: "open"và allowlist"*").
openclaw doctor để phát hiện các chính sách DM rủi ro.Prompt injection có chỉ là mối lo cho bot công khai không?
Prompt injection có chỉ là mối lo cho bot công khai không?
- dùng agent “đọc” chỉ đọc hoặc đã tắt công cụ để tóm tắt nội dung không đáng tin cậy
- tắt
web_search/web_fetch/browserđối với các agent đã bật công cụ - cũng xem văn bản tệp/tài liệu đã giải mã là không đáng tin cậy: OpenResponses
input_filevà việc trích xuất tệp đính kèm phương tiện đều bọc văn bản trích xuất trong các marker ranh giới nội dung bên ngoài rõ ràng thay vì truyền văn bản tệp thô - sandboxing và allowlist công cụ nghiêm ngặt
Bot của tôi có nên có email, tài khoản GitHub hoặc số điện thoại riêng không?
Bot của tôi có nên có email, tài khoản GitHub hoặc số điện thoại riêng không?
Tôi có thể cho nó quyền tự chủ với tin nhắn văn bản của tôi không và điều đó có an toàn không?
Tôi có thể cho nó quyền tự chủ với tin nhắn văn bản của tôi không và điều đó có an toàn không?
- Giữ DM ở chế độ ghép nối hoặc allowlist chặt chẽ.
- Dùng số hoặc tài khoản riêng nếu bạn muốn nó nhắn tin thay bạn.
- Để nó soạn nháp, rồi phê duyệt trước khi gửi.
Tôi có thể dùng model rẻ hơn cho tác vụ trợ lý cá nhân không?
Tôi có thể dùng model rẻ hơn cho tác vụ trợ lý cá nhân không?
Tôi đã chạy /start trong Telegram nhưng không nhận được mã ghép nối
Tôi đã chạy /start trong Telegram nhưng không nhận được mã ghép nối
dmPolicy: "pairing" được bật. Chỉ riêng /start không tạo mã.Kiểm tra yêu cầu đang chờ:dmPolicy: "open"
cho tài khoản đó.WhatsApp: nó có nhắn tin cho danh bạ của tôi không? Ghép nối hoạt động như thế nào?
WhatsApp: nó có nhắn tin cho danh bạ của tôi không? Ghép nối hoạt động như thế nào?
channels.whatsapp.selfChatMode.Lệnh chat, hủy tác vụ và “nó không dừng”
Làm thế nào để ngăn thông báo hệ thống nội bộ hiển thị trong chat?
Làm thế nào để ngăn thông báo hệ thống nội bộ hiển thị trong chat?
verboseDefault đặt
thành on trong cấu hình.Tài liệu: Suy nghĩ và verbose, Bảo mật.Làm thế nào để dừng/hủy một tác vụ đang chạy?
Làm thế nào để dừng/hủy một tác vụ đang chạy?
/, nhưng một vài lối tắt (như /status) cũng hoạt động inline cho người gửi trong allowlist.Làm thế nào để gửi tin nhắn Discord từ Telegram? ("Cross-context messaging denied")
Làm thế nào để gửi tin nhắn Discord từ Telegram? ("Cross-context messaging denied")
Tại sao có cảm giác bot "bỏ qua" các tin nhắn dồn dập?
Tại sao có cảm giác bot "bỏ qua" các tin nhắn dồn dập?
/queue để đổi chế độ:steer- xếp hàng định hướng cho ranh giới model tiếp theo trong lượt chạy hiện tạifollowup- chạy từng tin nhắn mộtcollect- gom nhóm tin nhắn và trả lời một lầnsteer-backlog- định hướng ngay, rồi xử lý tồn đọnginterrupt- hủy lượt chạy hiện tại và bắt đầu lại
steer. Bạn có thể thêm tùy chọn như debounce:0.5s cap:25 drop:summarize cho các chế độ followup. Xem Hàng đợi lệnh.Khác
Mô hình mặc định cho Anthropic với khóa API là gì?
Mô hình mặc định cho Anthropic với khóa API là gì?
ANTHROPIC_API_KEY (hoặc lưu khóa API Anthropic trong hồ sơ xác thực) bật xác thực, nhưng mô hình mặc định thực tế là bất kỳ mô hình nào bạn cấu hình trong agents.defaults.model.primary (ví dụ: anthropic/claude-sonnet-4-6 hoặc anthropic/claude-opus-4-6). Nếu bạn thấy No credentials found for profile "anthropic:default", điều đó có nghĩa là Gateway không tìm thấy thông tin xác thực Anthropic trong auth-profiles.json dự kiến cho tác tử đang chạy.Vẫn bị kẹt? Hãy hỏi trong Discord hoặc mở một thảo luận trên GitHub.
Liên quan
- Câu hỏi thường gặp lần chạy đầu tiên — cài đặt, thiết lập ban đầu, xác thực, gói đăng ký, lỗi ban đầu
- Câu hỏi thường gặp về mô hình — lựa chọn mô hình, chuyển đổi dự phòng, hồ sơ xác thực
- Khắc phục sự cố — phân loại sự cố theo triệu chứng