60 giây đầu tiên nếu có gì đó bị hỏng
-
Trạng thái nhanh (kiểm tra đầu tiên)
Tóm tắt cục bộ nhanh: OS + bản cập nhật, khả năng truy cập gateway/dịch vụ, tác nhân/phiên, cấu hình nhà cung cấp + vấn đề runtime (khi gateway truy cập được).
-
Báo cáo có thể dán (an toàn để chia sẻ)
Chẩn đoán chỉ đọc kèm phần đuôi log (token đã được biên tập ẩn).
-
Trạng thái daemon + cổng
Hiển thị runtime của supervisor so với khả năng truy cập RPC, URL mục tiêu của phép dò, và cấu hình mà dịch vụ có khả năng đã dùng.
-
Các phép dò sâu
Chạy phép dò sức khỏe gateway trực tiếp, bao gồm các phép dò kênh khi được hỗ trợ (yêu cầu gateway truy cập được). Xem Sức khỏe.
-
Theo dõi log mới nhất
Nếu RPC ngừng hoạt động, chuyển sang:Log tệp tách biệt với log dịch vụ; xem Ghi log và Khắc phục sự cố.
-
Chạy doctor (sửa chữa)
Sửa chữa/di chuyển 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 cung cấp ả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
Phần hỏi đáp lần chạy đầu tiên — cài đặt, onboard, tuyến xác thực, đă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 theo từng tác nhân và chuyển đổi dự phòng.
- 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 nhân: tách tác nhân theo kênh, tài khoản, hoặc tác vụ, mỗi tác nhân 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 vào 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 website (WordPress, Shopify, hoặc một trang tĩnh đơn giản).
- Tạo nguyên mẫu ứ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ì?
- Bản tóm tắt cá nhân: tóm tắt hộp thư đến, 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à danh sách kiểm tra được điều khiển bởi cron hoặc heartbeat.
- 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.
- Điều phối đa thiết bị: gửi một tác vụ từ điện thoại, để Gateway chạy tác vụ đó trên máy chủ, và nhận lại kết quả trong chat.
OpenClaw có thể hỗ trợ tạo khách hàng tiềm năng, tiếp cận, quảng cáo, và blog cho SaaS không?
OpenClaw có thể hỗ trợ tạo khách hàng tiềm năng, tiếp cận, 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 liên tục qua 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ừ mọi nơi)
- Node cho trình duyệt/màn hình/camera/exec cục bộ
Skills và tự động hóa
Làm cách nào để tùy chỉnh skills mà không làm repo bị bẩn?
Làm cách 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 các override đượ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 skill được cài toàn cục nhưng chỉ hiển thị với một số tác nhân, 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à được gử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 (ư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 mặc định cài vào ./skills, mà OpenClaw 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 nhân nhất định, kết hợp điều đó với agents.defaults.skills hoặc agents.list[].skills.Làm cách nào để dùng các mô hình hoặc thiết lập khác nhau cho các tác vụ khác nhau?
Làm cách nào để dùng các mô hình hoặc thiết lập 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 override
modeltheo từng công việc. - Tác nhân: định tuyến tác vụ tới các tác nhân riêng với mô hình mặc định, mức suy nghĩ, và tham số stream khác nhau.
- Chuyển đổi theo yêu cầu: dùng
/modelđể chuyển mô hình phiên hiện tại bất cứ lúc nào.
agents.defaults.models["provider/model"].params, sau đó đặt override riêng cho tác nhân trong agents.list[].params phẳng. Không định nghĩa các mục agents.list[].models["provider/model"].params lồng nhau riêng biệt cho cùng một mô hình; agents.list[].models dành cho danh mục mô hình theo tác nhân và override runtime.Xem Công việc Cron, Định tuyến đa tác nhân, Cấu hình, và Lệnh gạch chéo.Bot bị đơ khi làm việc nặng. Làm cách nào để chuyển tải việc đó?
Bot bị đơ khi làm việc nặng. Làm cách nào để chuyển tải việc đó?
/subagents.
Dùng /status trong chat để xem Gateway đang làm gì ngay lúc này (và liệu nó có đang bận không).Mẹo token: tác vụ dài và tác nhân phụ đều tiêu thụ token. Nếu chi phí là mối lo, đặt
mô hình rẻ hơn cho tác nhân phụ qua agents.defaults.subagents.model.Tài liệu: Tác nhân phụ, Tác vụ nền.Các phiên subagent ràng buộc theo luồng hoạt động như thế nào trên Discord?
Các phiên subagent ràng buộc theo luồng hoạt động như thế nào trên Discord?
- Spawn bằng
sessions_spawnvớithread: true(và tùy chọnmode: "session"cho theo dõi tiếp liên tục). - Hoặc ràng buộc thủ công bằng
/focus <target>. - Dùng
/agentsđể kiểm tra trạng thái ràng buộc. - 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 luồng.
- Mặc định toàn cục:
session.threadBindings.enabled,session.threadBindings.idleHours,session.threadBindings.maxAgeHours. - Override Discord:
channels.discord.threadBindings.enabled,channels.discord.threadBindings.idleHours,channels.discord.threadBindings.maxAgeHours. - Tự động ràng buộc khi spawn:
channels.discord.threadBindings.spawnSessionsmặc định làtrue; đặt thànhfalseđể tắt spawn phiên ràng buộc theo luồng.
Một subagent đã hoàn tất, nhưng bản cập nhật hoàn tất được gửi sai nơi 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 bản cập nhật hoàn tất được gửi sai nơi hoặc không bao giờ được đăng. Tôi nên kiểm tra gì?
- Việc gửi subagent ở chế độ hoàn tất ưu tiên mọi luồng đã ràng buộc hoặc tuyến hội thoại khi tồn tại.
- Nếu nguồn hoàn tất chỉ mang theo một kênh, OpenClaw chuyển sang tuyến đã lưu của phiên requester (
lastChannel/lastTo/lastAccountId) để gửi trực tiếp vẫn có thể thành công. - Nếu không có tuyến đã ràng buộc lẫn tuyến đã lưu có thể dùng, gửi trực tiếp có thể thất bại và kết quả chuyển sang gửi phiên đã xếp hàng thay vì đăng ngay vào chat.
- Mục tiêu không hợp lệ hoặc cũ vẫn có thể buộc chuyển sang hàng đợi hoặc làm lần 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 đó. - Đầu ra Tool/toolResult không được nâng lên thành văn bản kết quả của tiến trình con; kết quả là câu trả lời trợ lý hiển thị mới nhất của tiến trình con.
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 đã được 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 tác vụ (
--tzso với múi giờ của máy chủ).
Cron đã chạy, nhưng không có gì được gửi đến kênh. Vì sao?
Cron đã chạy, nhưng không có gì được gửi đến kênh. Vì 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ó tuyến chat. --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à tác nhân chưa tự gửi.Debug:Vì sao một lượt chạy cron cô lập lại đổi mô hình hoặc thử lại một lần?
Vì sao một lượt chạy cron cô lập lại đổi mô hình hoặc thử lại một lần?
LiveSessionModelSwitchError. Lần thử lại giữ nguyên
nhà cung cấp/mô hình đã chuyển, và nếu việc chuyển có kèm một ghi đè hồ sơ xác thực mới,
cron cũng lưu điều đó trước khi thử lại.Các quy tắc chọn liên quan:- Ghi đè mô hình của hook Gmail thắng trước khi áp dụng được.
- Sau đó là
modeltheo từng tác vụ. - Sau đó là mọi ghi đè mô hình cron-session đã lưu.
- Sau đó là lựa chọn mô hình tác nhân/mặc định thông thường.
Tôi cài đặt Skills trên Linux như thế nào?
Tôi cài đặt Skills trên Linux như thế nào?
openclaw skills gốc hoặc thả Skills vào workspace của bạn. Giao diện Skills trên macOS không có 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. Thêm --global để cài vào thư mục
Skills được quản lý dùng chung cho tất cả tác nhân cục bộ. 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. Dùng
agents.defaults.skills hoặc agents.list[].skills nếu bạn muốn thu hẹp
những tác nhân nào có thể thấy Skills dùng chung.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ên lịch hoặc lặp lại (được giữ qua các lần khởi động lại).
- Heartbeat cho các kiểm tra định kỳ của “phiên chính”.
- Tác vụ cô lập cho các tác nhân tự trị đăng bản 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 với các binary bắt buộc, và Skills chỉ xuất hiện trong prompt hệ thống khi đủ đ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 đè cơ chế 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, sau đó kết nối từ Linux ở 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 một Node macOS (không SSH).
Chạy Gateway trên Linux, ghép nối một Node macOS (ứng dụng thanh menu), và đặt Lệnh chạy Node thành “Luôn hỏi” hoặc “Luôn cho phép” 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. Tác nhân chạy các Skills đó qua công cụ nodes. Nếu bạn chọn “Luôn hỏi”, việc phê duyệt “Luôn cho phép” 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ữ cho nó đủ điều kiện.-
Tạo wrapper SSH cho binary (ví dụ:
memocho Apple Notes): -
Đưa wrapper vào
PATHtrên máy chủ Linux (ví dụ~/bin/memo). -
Ghi đè metadata của Skill (workspace hoặc
~/.openclaw/skills) để cho phép Linux: - Bắt đầu một phiên mới để ảnh chụp nhanh 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 tác nhân lấy trang đó khi bắt đầu phiên.
skills/ của workspace đang hoạt động. Đối với Skills dùng chung trên tất cả tác nhân cục bộ, dùng openclaw skills install @owner/<skill-slug> --global (hoặc đặt thủ công vào ~/.openclaw/skills/<name>/SKILL.md). Nếu chỉ một số tác nhân nên thấy bản cài 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 Câu hỏi thường gặp về Homebrew Linux ở trên). Xem Skills, Cấu hình Skills, và ClawHub.Tôi dùng Chrome hiện có đã đăng nhập với OpenClaw như thế nào?
Tôi dùng Chrome hiện có đã đăng nhập với OpenClaw như thế nào?
user tích hợp sẵn, hồ sơ này gắn qua Chrome DevTools MCP:existing-session / user:- hành động 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 chỉ hỗ trợ một tệp mỗi lần responsebody, xuất PDF, chặn tải xuống, và hành động 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 riêng về sandboxing không?
Có tài liệu riêng về sandboxing không?
Docker có vẻ bị giới hạn - làm sao bật đầy đủ tính năng?
Docker có vẻ bị giới hạn - làm sao bật đầy đủ tính năng?
node, nên nó không
bao gồm các gói hệ thống, Homebrew, hoặc trình duyệt đi kèm. Để thiết lập đầy đủ hơn:- Lưu giữ
/home/nodebằngOPENCLAW_HOME_VOLUMEđể cache tồn tại. - Đưa dependency hệ thống vào image bằng
OPENCLAW_IMAGE_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 lưu giữ.
Tôi có thể giữ DM cá nhân nhưng làm cho nhóm công khai/sandboxed với một tác nhân không?
Tôi có thể giữ DM cá nhân nhưng làm cho nhóm công khai/sandboxed với một tác nhân không?
agents.defaults.sandbox.mode: "non-main" để các phiên nhóm/kênh (khóa 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 những công cụ có sẵn trong các 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 chiếu cấu hình chính: Cấu hình GatewayTôi gắn một thư mục máy chủ vào sandbox như thế nào?
Tôi gắn một thư mục máy chủ vào sandbox như thế nào?
agents.defaults.sandbox.docker.binds thành ["host:path:mode"] (ví dụ, "/home/user/src:/src:ro"). Bind toàn cục + theo từng tác nhân được hợp nhất; bind theo từng tác nhân bị bỏ qua khi scope: "shared". Dùng :ro cho mọi thứ nhạy cảm và nhớ rằng bind vượt qua các bứ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 tổ tiên sâu nhất hiện có. Điều đó nghĩa là thoát qua symlink-parent vẫn fail closed ngay cả khi đoạn đường dẫn cuối cùng chưa tồn tại, và các kiểm tra gốc được cho phép 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 nâng quyền để biết 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 được 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 sao để lưu lại lâu dài?
Bộ nhớ cứ quên mọi thứ. Làm sao để lưu lại lâu dài?
MEMORY.md,
ngữ cảnh ngắn hạn đi vào memory/YYYY-MM-DD.md.Đây vẫn là một lĩnh vực chúng tôi đang cải thiện. Việc nhắc mô hình lưu bộ nhớ sẽ hữu ích;
nó sẽ biết cần 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 một
không gian làm việc trong mọi lần chạy.Tài liệu: Bộ nhớ, Không gian làm việc của tác nhân.Bộ nhớ có tồn tại mãi mãi không? Giới hạn là gì?
Bộ nhớ có tồn tại mã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 rõ nhà cung cấp, OpenClaw dùng OpenAI embeddings. Các cấu hình cũ
vẫn ghi memorySearch.provider = "auto" cũng phân giải về OpenAI. Nếu không có khóa
API OpenAI, tìm kiếm bộ nhớ ngữ nghĩa sẽ vẫn không khả dụng cho đến khi bạn cấu hình
khóa hoặc chọn rõ một nhà cung cấp khác.Nếu bạn muốn giữ cục bộ, đặt memorySearch.provider = "local" (và tùy chọn
memorySearch.fallback = "none"). Nếu bạn muốn Gemini embeddings, đặ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,
tương thích OpenAI, Gemini, Voyage, Mistral, Bedrock, Ollama, LM Studio, GitHub Copilot,
DeepInfra, hoặc cục bộ - xem Bộ nhớ để biết chi tiết thiết lập.Vị trí của mọi thứ 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à không gian làm việc nằm trên máy chủ Gateway
(
~/.openclaw+ thư mục không gian làm việc của bạn). - Từ xa do cần thiết: tin nhắn bạn gửi tới nhà cung cấp mô hình (Anthropic/OpenAI/v.v.) đi tới API của họ, và các nền tảng chat (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 hồ sơ xác thực trong lần dùng đầu) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | Hồ sơ xác thực (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 tác nhân (agentDir + phiên) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | Lịch sử và trạng thái cuộc trò chuyện (theo từng tác nhân) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | Siêu dữ liệu phiên (theo từng tác nhân) |
~/.openclaw/agent/* (được di chuyển bởi openclaw doctor).Không gian làm việc của bạn (AGENTS.md, tệp bộ nhớ, skills, v.v.) tách 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.- Không gian làm việc (theo từng tác nhân):
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md,HEARTBEAT.mdtùy chọn.memory.mdchữ thường ở thư mục 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 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, hồ sơ xác thực, phiên, nhật ký, và Skills dùng chung (~/.openclaw/skills).
~/.openclaw/workspace, có thể cấu hình qua:Tôi có thể làm SOUL.md lớn hơn không?
Tôi có thể làm SOUL.md lớn hơn không?
SOUL.md là một trong các tệp khởi tạo không gian làm việc được chèn vào
ngữ cảnh tác nhân. Giới hạn chèn mặc định theo từng tệp là 20000 ký tự,
và ngân sách khởi tạo tổng cộng trên các tệp là 60000 ký tự.Thay đổi mặc định dùng chung trong cấu hình OpenClaw của bạn:/context để kiểm tra kích thước thô so với kích thước đã chèn và liệu việc cắt bớt có xảy ra hay không.
Giữ SOUL.md tập trung vào giọng nói, lập trường và tính cách; đặt quy tắc vận hành
trong AGENTS.md và các sự kiện bền vững trong bộ nhớ.Xem Ngữ cảnh và Cấu hình tác nhân.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 đăng nhập, phiên, token, hoặc payload bí mật đã mã hóa).
Nếu bạn cần khôi phục đầy đủ, hãy sao lưu cả không gian làm việc và thư mục trạng thái
riêng biệt (xem câu hỏi di chuyển ở trên).Tài liệu: Không gian làm việc của tác nhân.Làm sao để gỡ cài đặt hoàn toàn OpenClaw?
Làm sao để gỡ cài đặt hoàn toàn OpenClaw?
Tác nhân có thể làm việc bên ngoài không gian làm việc không?
Tác nhân có thể làm việc bên ngoài không gian làm việc không?
agents.defaults.sandbox hoặc thiết lập sandbox theo từng tác nhân. 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 tác nhân đó
tới gốc repo. Repo OpenClaw chỉ là mã nguồn; hãy giữ không gian làm việc tách biệt
trừ khi bạn cố ý muốn tác nhân làm việc bên trong đó.Ví dụ (repo làm cwd mặc định):Chế độ từ xa: kho phiên nằm ở đâu?
Chế độ từ xa: kho 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 không được ủy quyền
Tôi đặt gateway.bind: "lan" (hoặc "tailnet") và giờ không có gì lắng nghe / UI báo không được ủy quyền
- xác thực shared-secret: token hoặc mật khẩu
gateway.auth.mode: "trusted-proxy"phía sau reverse proxy nhận biết danh tính được cấu hình đúng
gateway.remote.token/.passwordtự chúng không bật xác thực gateway cục bộ.- Các đường gọi cục bộ chỉ có thể dùng
gateway.remote.*làm dự phòng khigateway.auth.*chưa được đặt. - Với xác thực mật khẩu, hãy đặt
gateway.auth.mode: "password"cùng vớigateway.auth.password(hoặcOPENCLAW_GATEWAY_PASSWORD) thay thế. - Nếu
gateway.auth.token/gateway.auth.passwordđược cấu hình rõ qua SecretRef và không phân giải được, quá trình phân giải sẽ fail closed (không bị dự phòng từ xa che khuất). - Thiết lập Control UI shared-secret xác thực qua
connect.params.auth.tokenhoặcconnect.params.auth.password(được lưu trong cài đặt app/UI). Các chế độ mang danh tính như Tailscale Serve hoặctrusted-proxydùng header yêu cầu thay thế. Tránh đặt shared secret trong URL. - Với
gateway.auth.mode: "trusted-proxy", reverse proxy loopback cùng máy chủ yêu cầugateway.auth.trustedProxy.allowLoopback = truerõ ràng và một mục loopback tronggateway.trustedProxies.
Tại sao giờ tôi cần token trên localhost?
Tại sao giờ tôi cần token trên localhost?
gateway.auth.token, gateway.auth.password, OPENCLAW_GATEWAY_TOKEN, hoặc OPENCLAW_GATEWAY_PASSWORD khi client cần một bí mật ổn định qua các lần khởi động lại. Đ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 dùng một đường dẫn xác thực khác, bạn có thể chọn rõ 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ực sự muốn mở loopback, hãy đặt rõ gateway.auth.mode: "none" trong cấu hình. Doctor có thể tạo token cho bạn bất cứ 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 thế nào để tắt các khẩu hiệu CLI hài hước?
Làm thế nào để tắt các khẩu hiệu CLI hài hước?
cli.banner.taglineMode trong cấu hình:off: ẩn văn bản khẩu hiệu nhưng vẫn giữ dòng tiêu đề/phiên bản của banner.default: luôn dùngAll your chats, one OpenClaw..random: xoay vòng các khẩu hiệu hài hước/theo mùa (hành vi mặc định).- Nếu bạn không muốn có banner nào, đặt env
OPENCLAW_HIDE_BANNER=1.
Làm thế nào để bật tìm kiếm web (và tải web)?
Làm thế nào để bật tìm kiếm web (và tải web)?
web_fetch hoạt động 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, Kimi, MiniMax Search, Perplexity và Tavily yêu cầu thiết lập khóa API thông thường của họ.
- Grok có thể dùng lại OAuth xAI từ xác thực mô hình, hoặc dùng dự phòng
XAI_API_KEY/ cấu hình web-search của Plugin. - Ollama Web Search không cần khóa, nhưng 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 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: OAuth xAI,
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 được tải tạm thờ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 web-fetch của Firecrawl nằm trong plugins.entries.firecrawl.config.webFetch.*.Ghi chú:- Nếu bạn dùng allowlist, 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 tự động phát hiện nhà cung cấp dự phòng fetch sẵn sàng đầu tiên từ các thông tin xác thực có sẵn. Plugin Firecrawl chính thức cung cấp dự phòng đó. - Daemon đọc biến env từ
~/.openclaw/.env(hoặc môi trường dịch vụ).
config.apply đã xóa sạch cấu hình của tôi. Làm thế nào để khôi phục và tránh việc này?
config.apply đã xóa sạch cấu hình của tôi. Làm thế nào để khôi phục và tránh việc 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 đè vô tình:- Các lần ghi cấu hình thuộc OpenClaw xác thực toàn bộ cấu hình sau thay đổi trước khi ghi.
- Các lần ghi không hợp lệ hoặc có tính phá hủy thuộc OpenClaw 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ẽ đóng an toàn hoặc bỏ qua lần tải lại; nó không ghi lại
openclaw.json. openclaw doctor --fixsở hữu việc sửa chữa và có thể khôi phục bản tốt cuối cùng đã biết, đồng thời lưu tệp bị từ chối dưới dạngopenclaw.json.clobbered.*.
- Kiểm tra
openclaw logs --followđể tìmInvalid config at,Config write rejected:, hoặcconfig reload skipped (invalid 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. - Chạy
openclaw config validatevàopenclaw doctor --fix. - Chỉ sao chép lại các khóa mong muốn bằng
openclaw config sethoặcconfig.patch. - Nếu bạn không có bản tốt cuối cùng đã 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 các kênh/mô hình. - Nếu việc này ngoài dự kiến, hãy báo lỗi và đính kèm cấu hình cuối cùng bạn biết hoặc bất kỳ bản sao lưu nào.
- Một tác nhân lập trình cục bộ thường có thể tái dựng một 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 configurecho 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 các tóm tắt con trực tiếp để đào 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ụ
gatewayhướng tới tác nhân từ một lần chạy tác nhân, 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 thế nào để chạy một Gateway trung tâm với các worker chuyên biệt trên nhiều thiết bị?
Làm thế nào để chạy một 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 các kênh (Signal/WhatsApp), định tuyến và phiên.
- Node (thiết bị): Mac/iOS/Android kết nối như ngoại vi và phơi bày các công cụ cục bộ (
system.run,canvas,camera). - Tác nhân (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”).
- Tác nhân phụ: tạo công việc nền từ tác nhân chính khi bạn muốn song song hóa.
- TUI: kết nối tới Gateway và chuyển đổi tác nhân/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 cho 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 phiên headless.
Làm thế nào để dùng Brave để điều khiển trình duyệt?
Làm thế nào để dùng Brave để điều khiển trình duyệt?
browser.executablePath thành binary 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
Lệnh lan truyền giữa Telegram, gateway và node như thế nào?
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.Tác nhân 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?
Tác nhân 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 SSH tunnel).
- 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 tưởng 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. Làm gì tiếp?
Tailscale đã kết nối nhưng tôi không nhận được phản hồi. Làm gì tiếp?
- 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 chắc rằng
gateway.auth.allowTailscaleđược đặt đúng. - Nếu bạn kết nối qua SSH tunnel, xác nhận tunnel cục bộ đang hoạt động và trỏ tới đúng cổng.
- Xác nhận allowlist của bạn (DM hoặc nhóm) 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 chat nơi bot kia
lắng nghe. Nếu một bot ở VPS từ xa, 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 VPS riêng cho nhiều tác nhân không?
Tôi có cần VPS riêng cho nhiều tác nhân không?
Có lợi ích gì khi dùng một node trên laptop cá nhân của tôi thay vì SSH từ VPS không?
Có lợi ích gì khi dùng một node trên laptop cá nhân của tôi thay vì SSH từ VPS không?
- Không cần SSH inbound. Node kết nối ra Gateway WebSocket và dùng ghép cặp thiết bị.
- Kiểm soát thực thi an toàn hơn.
system.runđược kiểm soát bằng 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ột 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à bề mặt plugin được lưu trữ.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 node schema nông của nó, gợi ý UI khớp, và 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 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 nóng khi có thể và khởi động lại khi cần- Công cụ runtime
gatewaydành cho agent vẫn từ chối ghi lạitools.exec.ask/tools.exec.security; các alias 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 cách nào để thiết lập Tailscale trên VPS và kết nối từ Mac của tôi?
Làm cách 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 hostname tailnet
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - Gateway WS:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
Làm cách nào để kết nối node Mac tới Gateway từ xa (Tailscale Serve)?
Làm cách nào để kết nối node Mac tới Gateway từ xa (Tailscale Serve)?
- Đảm bảo VPS + Mac ở trên cùng tailnet.
- Dùng ứng dụng macOS ở chế độ Remote (đích SSH có thể là hostname tailnet). Ứng dụng sẽ tạo tunnel cho 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 đặt trên laptop thứ hai hay chỉ thêm một node?
Tôi nên cài đặt 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ó.
Biến thông tin xác thực nhà cung cấp là ngoại lệ với .env workspace: các khóa như
GEMINI_API_KEY, XAI_API_KEY, hoặc MISTRAL_API_KEY bị bỏ qua trong .env
workspace và nên nằm trong môi trường tiến trình, ~/.openclaw/.env, hoặc cấu hình env.Bạn cũng có thể định nghĩa biến môi trường inline 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 dịch vụ và các biến môi trường của tôi biến mất. Giờ làm gì?
Tôi khởi động Gateway qua dịch vụ và các biến môi trường của tôi biến mất. Giờ làm gì?
- Đặt các khóa bị thiếu vào
~/.openclaw/.envđể chúng được nhận ngay cả khi dịch vụ không kế thừa môi trường shell của bạn. - Bật nhập từ shell (tiện ích chọn tham gia):
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.Tôi đã đặt COPILOT_GITHUB_TOKEN, nhưng trạng thái model hiển thị "Shell env: off." Tại sao?
Tôi đã đặt COPILOT_GITHUB_TOKEN, nhưng trạng thái model hiển thị "Shell env: off." Tại sao?
openclaw models status báo cáo liệu nhập env từ shell có được bật hay không. “Shell env: off”
không có nghĩa là các 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
login shell của bạn.Nếu Gateway chạy như một dịch vụ (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 từ 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 cách nào để bắt đầu một cuộc trò chuyện mới?
Làm cách nào để bắt đầu một cuộc trò chuyện mới?
/new hoặc /reset dưới dạng tin nhắn độc lập. 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 nó thành một giá trị 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 đội các instance OpenClaw (một CEO và nhiều agent) không?
Có cách nào để tạo một đội các instance OpenClaw (một CEO và nhiều agent) không?
Tại sao ngữ cảnh bị cắt giữa tác vụ? Làm cách nào để ngăn điều đó?
Tại sao ngữ cảnh bị cắt giữa tác vụ? Làm cách nào để 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 workspace và yêu cầu bot đọc lại.
- Dùng sub-agent cho công việc dài hoặc song song để chat chính nhỏ hơn.
- Chọn model 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 cách nào để đặt lại OpenClaw hoàn toàn nhưng vẫn giữ cài đặt?
Làm cách nào để đặt lại OpenClaw hoàn toàn nhưng vẫn giữ cài đặt?
- Onboarding cũng cung cấp Reset nếu thấy cấu hình hiện có. Xem Onboarding (CLI).
- Nếu bạn đã dùng hồ sơ (
--profile/OPENCLAW_PROFILE), hãy đặt lại từng thư mục trạng thái (mặc định là~/.openclaw-<profile>). - Reset 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 + workspace).
Tôi gặp lỗi "context too large" - làm cách nào để reset hoặc compact?
Tôi gặp lỗi "context too large" - làm cách nào để reset 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 bản tóm tắt. -
Reset (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 output công cụ cũ. - Dùng model có cửa sổ ngữ cảnh lớn hơn.
Tại sao tôi thấy "LLM request rejected: messages.content.tool_use.input field required"?
Tại sao tôi thấy "LLM request rejected: messages.content.tool_use.input field required"?
tool_use mà 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 thread 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 độc lập).Tại sao tôi nhận được thông báo Heartbeat mỗi 30 phút?
Tại sao tôi nhận được thông báo Heartbeat mỗi 30 phút?
HEARTBEAT.md tồn tại nhưng về thực chất là rỗng (chỉ có dòng trống,
chú thích Markdown/HTML, tiêu đề Markdown như # Heading, dấu đánh dấu khối mã,
hoặc các mục checklist trống), OpenClaw bỏ qua lượt chạy Heartbeat để tiết kiệm lệnh gọi API.
Nếu thiếu tệp này, 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 chỉ muốn bạn có thể kích hoạt phản hồi trong nhóm:Làm cách nào để lấy JID của một nhóm WhatsApp?
Làm cách 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?
- Chặn theo lượt nhắc đang bật (mặc định). Bạn phải @nhắc bot (hoặc khớp
mentionPatterns). - Bạn đã cấu hình
channels.whatsapp.groupsmà không có"*"và nhóm chưa được đưa vào allowlist.
Nhóm/luồng có dùng chung ngữ cảnh với DM không?
Nhóm/luồng có dùng chung ngữ cảnh với DM không?
Tôi có thể tạo bao nhiêu workspace và agent?
Tôi có thể tạo bao nhiêu workspace và agent?
- Dung lượng đĩa tăng: phiên + bản ghi nằm trong
~/.openclaw/agents/<agentId>/sessions/. - Chi phí token: nhiều agent hơn nghĩa là nhiều lượt dùng mô hình đồng thời hơn.
- Chi phí vận hành: hồ sơ xác thực, workspace và định tuyến kênh theo từng agent.
- Giữ một workspace đang hoạt động cho mỗi agent (
agents.defaults.workspace). - Dọn các 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 workspace lạc và hồ sơ 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 agent cho mỗi vai trò (binding).
- Kênh Slack được gắn với các agent đó.
- Trình duyệt cục bộ qua Chrome MCP hoặc một node khi cần.
Mô hình, chuyển 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 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 điều khiển 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à phép kiểm tra thực sự đã dùng)Listening:(thứ thực sự đang đượ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 phiên bản khác đã đang lắng nghe.Cách sửa: dừng phiên bản kia, giải phóng cổng, hoặc chạy với openclaw gateway --port <port>.Làm cách nào để chạy OpenClaw ở chế độ từ xa (client kết nối tới Gateway ở nơi khác)?
Làm cách 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 URL WebSocket từ xa, tùy chọn kèm thông tin xác thực từ xa bằng shared secret: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; riêng chúng không bật xác thực Gateway cục bộ.
Tôi đặt gateway.bind là tailnet nhưng không thể bind và không có gì lắng nghe
Tôi đặt gateway.bind là tailnet nhưng 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 phiên bản)OPENCLAW_STATE_DIR(trạng thái theo từng phiên bản)agents.defaults.workspace(cô lập workspace)gateway.port(cổng duy nhất)
- Dùng
openclaw --profile <name> ...cho mỗi phiên bản (tự tạo~/.openclaw-<name>). - Đặt
gateway.portduy nhất trong cấu hình của từng hồ sơ (hoặc truyền--portcho lượt chạy thủ công). - Cài 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 bất kỳ 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ì một client WS. - Bạn dùng sai cổng hoặc đường dẫn.
- Một proxy hoặc tunnel đã loại bỏ header xác thực hoặc gửi 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 thông thường.
- Nếu xác thực đang bật, hãy đưa token/password vào frame
connect.
Ghi nhật ký và gỡ lỗi
Nhật ký ở đâu?
Nhật ký ở đâu?
logging.file. Cấp độ log tệp được kiểm soát bởi logging.level. Độ chi tiết của console được kiểm soát bởi --verbose và logging.consoleLevel.Theo dõi log nhanh nhất:- stdout launchd trên macOS:
~/Library/Logs/openclaw/gateway.log(profile dùnggateway-<profile>.log; stderr bị tắt) - 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ể giành 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 đang chạy nhưng phản hồi không bao giờ đến. Tôi nên kiểm tra gì?
Gateway đang chạy nhưng phản hồi không bao giờ đến. Tôi nên kiểm tra gì?
- Xác thực model chưa được tải trên máy chủ gateway (kiểm tra
models status). - Ghép nối/allowlist của kênh đang chặn phản hồi (kiểm tra cấu hình kênh + log).
- WebChat/Dashboard đang mở mà không có đúng token.
"Đã ngắt kết nối khỏi gateway: không có lý do" - giờ làm gì?
"Đã ngắt kết nối khỏi gateway: không có lý do" - giờ làm gì?
- Gateway có đang chạy không?
openclaw gateway status - Gateway có khỏe không?
openclaw status - UI có đúng token không?
openclaw dashboard - Nếu truy cập từ xa, liên kết tunnel/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 bớt theo giới hạn của Telegram và thử lại với ít lệnh hơn, nhưng một số mục menu vẫn cần bị bỏ. Giảm số 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 lỗi mạng tương tự: nếu bạn đang dùng VPS hoặc ở sau proxy, xác nhận HTTPS đi 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 rằng việc gửi đã được bật (/deliver on).Tài liệu: TUI, Lệnh slash.Làm thế nào để dừng hoàn toàn rồi khởi động Gateway?
Làm thế nào để dừng hoàn toà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 xác thực kênh, định tuyến model và lỗi RPC.Media và tệp đính kèm
Skill của tôi đã tạo hình ảnh/PDF, nhưng không có gì được gửi
Skill của tôi đã tạo hình ảnh/PDF, nhưng không có gì được gửi
media, mediaUrl, path, hoặc filePath. Xem thiết lập trợ lý OpenClaw và Agent send.Gửi bằng CLI:- Kênh đích hỗ trợ media đi ra và không bị allowlist chặn.
- Tệp nằm trong giới hạn kích thước của provider (hình ả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ép gửi media cục bộ có cấu trúc bằng các tệp cục bộ trên máy chủ mà agent đã có thể đọc, nhưng chỉ cho media cộng với các loại tài liệu an toàn (hình ảnh, âm thanh, video, PDF, tài liệu Office, và tài liệu văn bản đã xác thực như Markdown/MD, TXT, JSON, YAML, và YML). Đây không phải là trình quét bí mật: mộtsecret.txthoặcconfig.jsonmà agent đọc được có thể được đính kèm khi phần mở rộng và xác thực nội dung khớp. Giữ tệp nhạy cảm ngoài các đường dẫn agent có thể đọc, hoặc giữtools.fs.workspaceOnly=trueđể gửi đường dẫn cục bộ chặt chẽ hơn.
Bảo mật và kiểm soát truy cập
Có an toàn khi để OpenClaw nhận DM đi vào không?
Có an toàn khi để OpenClaw nhận DM đi vào 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 để hiển thị các chính sách DM rủi ro.Prompt injection chỉ là mối lo cho bot công khai phải không?
Prompt injection chỉ là mối lo cho bot công khai phải không?
- dùng một agent “reader” 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/browsercho các agent có 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 media đều bọc văn bản được trích xuất trong các dấu mốc 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
OpenClaw có kém an toàn hơn vì dùng TypeScript/Node thay vì Rust/WASM không?
OpenClaw có kém an toàn hơn vì dùng TypeScript/Node thay vì Rust/WASM không?
- giữ Gateway riêng tư hoặc được xác thực
- dùng ghép nối và allowlist cho DM và nhóm
- từ chối hoặc sandbox công cụ rủi ro cho đầu vào không đáng tin cậy
- chỉ cài đặt plugin và Skills đáng tin cậy
- chạy
openclaw security audit --deepsau khi thay đổi cấu hình
Tôi thấy báo cáo về các phiên bản OpenClaw bị lộ. Tôi nên kiểm tra gì?
Tôi thấy báo cáo về các phiên bản OpenClaw bị lộ. Tôi nên kiểm tra gì?
- Gateway bind vào
loopback, hoặc chỉ được phơi bày qua truy cập riêng tư có xác thực như tailnet, SSH tunnel, xác thực token/mật khẩu, hoặc proxy tin cậy được cấu hình đúng - DM ở chế độ
pairinghoặcallowlist - nhóm được allowlist và chặn bằng mention trừ khi mọi thành viên đều đáng tin cậy
- công cụ rủi ro cao (
exec,browser,gateway,cron) bị từ chối hoặc giới hạn chặt cho các agent đọc nội dung không đáng tin cậy - sandboxing được bật khi việc thực thi công cụ cần phạm vi tác động nhỏ hơn
Skills ClawHub và plugin bên thứ ba có an toàn để cài đặt không?
Skills ClawHub và plugin bên thứ ba có an toàn để cài đặt không?
security.installPolicy do operator sở hữu cho các quyết định cho phép/chặn cục bộ.Mẫu an toàn hơn:- ưu tiên tác giả đáng tin cậy và phiên bản được ghim
- đọc skill hoặc plugin trước khi bật
- giữ allowlist plugin và skill hẹp
- chạy quy trình làm việc với đầu vào không đáng tin cậy trong sandbox với công cụ tối thiểu
- tránh cấp cho mã bên thứ ba quyền truy cập rộng vào filesystem, exec, trình duyệt, hoặc bí mậ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 mình không và như vậy 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 mình không và như vậy có an toàn không?
- Giữ tin nhắn trực tiếp ở chế độ ghép cặp hoặc một danh sách cho phép 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 mặt bạn.
- Để nó soạn nháp, rồi phê duyệt trước khi gửi.
Tôi có thể dùng các mô hình rẻ hơn cho tác vụ trợ lý cá nhân không?
Tôi có thể dùng các mô hình 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 cặp
Tôi đã chạy /start trong Telegram nhưng không nhận được mã ghép cặp
dmPolicy: "pairing" được bật. Riêng /start không tạo mã.Kiểm tra các 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 cặp hoạt động thế nào?
WhatsApp: nó có nhắn tin cho danh bạ của tôi không? Ghép cặp hoạt động thế nào?
channels.whatsapp.selfChatMode.Lệnh trò chuyện, hủy tác vụ và “nó sẽ 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 trò chuyện?
Làm thế nào để ngăn thông báo hệ thống nội bộ hiển thị trong trò chuyện?
verboseDefault được đặ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 nội tuyến với người gửi trong danh sách cho phép.Làm thế nào để gửi tin nhắn Discord từ Telegram? ("Nhắn tin xuyên ngữ cảnh bị từ chối")
Làm thế nào để gửi tin nhắn Discord từ Telegram? ("Nhắn tin xuyên ngữ cảnh bị từ chối")
Tại sao có cảm giác bot "bỏ qua" các tin nhắn gửi dồn dập?
Tại sao có cảm giác bot "bỏ qua" các tin nhắn gửi dồn dập?
/queue để chọn hành vi của lượt chạy đang hoạt động:steer- hướng dẫn lượt chạy đang hoạt động tại ranh giới mô hình tiếp theofollowup- xếp hàng tin nhắn và chạy từng tin một sau khi lượt chạy hiện tại kết thúccollect- xếp hàng các tin nhắn tương thích và trả lời một lần sau khi lượt chạy hiện tại kết thúcinterrupt- hủy lượt chạy hiện tại và bắt đầu mới
steer. Bạn có thể thêm các tùy chọn như debounce:0.5s cap:25 drop:summarize cho các chế độ xếp hàng. Xem Hàng đợi lệnh và Hàng đợi điều hướng.Linh tinh
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) sẽ 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 đó 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 agent đang chạy.Vẫn bị kẹt? Hãy hỏi trong Discord hoặc mở một thảo luận GitHub.
Liên quan
- Câu hỏi thường gặp khi chạy lần đầu — cài đặt, khởi tạo, xác thực, gói đăng ký, lỗi sớm
- Câu hỏi thường gặp về mô hình — lựa chọn mô hình, chuyển dự phòng, hồ sơ xác thực
- Khắc phục sự cố — phân loại theo triệu chứng trước