Công cụ (OpenClaw)
OpenClaw exposes first-class agent tools for browser, canvas, nodes, and cron. These replace the oldopenclaw-* skills: the tools are typed, no shelling,
and the agent should rely on them directly.
Tắt công cụ
You can globally allow/deny tools viatools.allow / tools.deny in openclaw.json
(deny wins). This prevents disallowed tools from being sent to model providers.
- So khớp không phân biệt chữ hoa/chữ thường.
- Hỗ trợ ký tự đại diện
*("*"nghĩa là tất cả công cụ). - Nếu
tools.allowchỉ tham chiếu các tên công cụ plugin không tồn tại hoặc chưa được tải, OpenClaw ghi cảnh báo và bỏ qua allowlist để các công cụ lõi vẫn khả dụng.
Hồ sơ công cụ (allowlist cơ sở)
tools.profile sets a base tool allowlist before tools.allow/tools.deny.
Per-agent override: agents.list[].tools.profile.
Các hồ sơ:
minimal: chỉsession_statuscoding:group:fs,group:runtime,group:sessions,group:memory,imagemessaging:group:messaging,sessions_list,sessions_history,sessions_send,session_statusfull: không hạn chế (giống như không đặt)
Chính sách công cụ theo nhà cung cấp
Usetools.byProvider to further restrict tools for specific providers
(or a single provider/model) without changing your global defaults.
Per-agent override: agents.list[].tools.byProvider.
This is applied after the base tool profile and before allow/deny lists,
so it can only narrow the tool set.
Provider keys accept either provider (e.g. google-antigravity) or
provider/model (e.g. openai/gpt-5.2).
Ví dụ (giữ hồ sơ coding toàn cục, nhưng công cụ tối thiểu cho Google Antigravity):
Nhóm công cụ (viết tắt)
Chính sách tool (toàn cục, theo tác tử, sandbox) hỗ trợ các mụcgroup:* mở rộng thành nhiều tool.
Use these in tools.allow / tools.deny.
Các nhóm có sẵn:
group:runtime:exec,bash,processgroup:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,web_fetchgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:openclaw: tất cả công cụ OpenClaw tích hợp sẵn (không bao gồm plugin của nhà cung cấp)
Plugin + công cụ
Plugins can register additional tools (and CLI commands) beyond the core set. See Plugins for install + config, and Skills for how tool usage guidance is injected into prompts. Some plugins ship their own skills alongside tools (for example, the voice-call plugin). Công cụ plugin tùy chọn:- Lobster: runtime workflow có kiểu với phê duyệt có thể tiếp tục (yêu cầu Lobster CLI trên máy chủ gateway).
- LLM Task: bước LLM chỉ JSON cho đầu ra workflow có cấu trúc (xác thực schema tùy chọn).
Danh mục công cụ
apply_patch
Apply structured patches across one or more files. Use for multi-hunk edits.
Experimental: enable via tools.exec.applyPatch.enabled (OpenAI models only).
tools.exec.applyPatch.workspaceOnly mặc định là true (giới hạn trong workspace). Chỉ đặt thành false nếu bạn thực sự muốn apply_patch ghi/xóa bên ngoài thư mục workspace.
exec
Chạy lệnh shell trong workspace.
Tham số cốt lõi:
command(bắt buộc)yieldMs(tự chuyển nền sau thời gian chờ, mặc định 10000)background(chạy nền ngay)timeout(giây; kết thúc tiến trình nếu vượt quá, mặc định 1800)elevated(bool; chạy trên host nếu chế độ nâng quyền được bật/cho phép; chỉ thay đổi hành vi khi tác tử bị sandbox)host(sandbox | gateway | node)security(deny | allowlist | full)ask(off | on-miss | always)node(id/tên node chohost=node)- Need a real TTY? Set
pty: true.
- Trả về
status: "running"kèmsessionIdkhi chạy nền. - Dùng
processđể thăm dò/ghi log/ghi/giết/xóa phiên nền. - Nếu
processbị từ chối,execchạy đồng bộ và bỏ quayieldMs/background. elevatedbị chặn bởitools.elevatedcộng với bất kỳ ghi đèagents.list[].tools.elevatednào (cả hai phải cho phép) và là bí danh chohost=gateway+security=full.elevatedchỉ thay đổi hành vi khi tác tử bị sandbox (ngược lại là không tác dụng).host=nodecó thể nhắm tới ứng dụng đồng hành macOS hoặc một node host headless (openclaw node run).- phê duyệt và allowlist gateway/node: Exec approvals.
process
Quản lý các phiên exec chạy nền.
Hành động cốt lõi:
list,poll,log,write,kill,clear,remove
polltrả về đầu ra mới và trạng thái thoát khi hoàn tất.loghỗ trợoffset/limittheo dòng (bỏoffsetđể lấy N dòng cuối).processcó phạm vi theo từng tác tử; không thấy các phiên của tác tử khác.
web_search
Tìm kiếm web bằng Brave Search API.
Tham số cốt lõi:
query(bắt buộc)count(1–10; mặc định từtools.web.search.maxResults)
- Yêu cầu khóa API Brave (khuyến nghị:
openclaw configure --section web, hoặc đặtBRAVE_API_KEY). - Bật qua
tools.web.search.enabled. - Phản hồi được cache (mặc định 15 phút).
- Xem Web tools để thiết lập.
web_fetch
Lấy và trích xuất nội dung dễ đọc từ URL (HTML → markdown/text).
Tham số cốt lõi:
url(bắt buộc)extractMode(markdown|text)maxChars(cắt ngắn trang dài)
- Bật qua
tools.web.fetch.enabled. maxCharsbị kẹp bởitools.web.fetch.maxCharsCap(mặc định 50000).- Phản hồi được cache (mặc định 15 phút).
- Với site nặng JS, ưu tiên dùng công cụ trình duyệt.
- Xem Web tools để thiết lập.
- Xem Firecrawl cho phương án chống bot tùy chọn.
browser
Điều khiển trình duyệt do OpenClaw quản lý chuyên dụng.
Hành động cốt lõi:
status,start,stop,tabs,open,focus,closesnapshot(aria/ai)screenshot(trả về khối ảnh +MEDIA:<path>)act(hành động UI: click/type/press/hover/drag/select/fill/resize/wait/evaluate)navigate,console,pdf,upload,dialog
profiles— liệt kê tất cả hồ sơ trình duyệt kèm trạng tháicreate-profile— tạo hồ sơ mới với cổng được cấp tự động (hoặccdpUrl)delete-profile— dừng trình duyệt, xóa dữ liệu người dùng, gỡ khỏi cấu hình (chỉ local)reset-profile— kill tiến trình mồ côi trên cổng của hồ sơ (chỉ local)
profile(tùy chọn; mặc định làbrowser.defaultProfile)target(sandbox|host|node)node(tùy chọn; chọn id/tên node cụ thể) Ghi chú:- Yêu cầu
browser.enabled=true(mặc định làtrue; đặtfalseđể tắt). - Tất cả hành động chấp nhận tham số
profiletùy chọn cho hỗ trợ đa instance. - Khi bỏ
profile, dùngbrowser.defaultProfile(mặc định “chrome”). - Tên hồ sơ: chữ thường chữ số + dấu gạch ngang (tối đa 64 ký tự).
- Dải cổng: 18800-18899 (~tối đa 100 hồ sơ).
- Hồ sơ từ xa chỉ cho phép attach (không start/stop/reset).
- Nếu có node hỗ trợ trình duyệt được kết nối, công cụ có thể tự định tuyến tới đó (trừ khi bạn ghim
target). snapshotmặc định làaikhi đã cài Playwright; dùngariacho cây accessibility.snapshotcũng hỗ trợ các tùy chọn role-snapshot (interactive,compact,depth,selector) trả về các ref nhưe12.actyêu cầureftừsnapshot(giá trị số12từ AI snapshots, hoặce12từ role snapshots); dùngevaluatecho các trường hợp hiếm cần CSS selector.- Tránh
act→waittheo mặc định; chỉ dùng trong trường hợp đặc biệt (không có trạng thái UI đáng tin cậy để chờ). uploadcó thể truyềnrefđể tự click sau khi kích hoạt.uploadcũng hỗ trợinputRef(aria ref) hoặcelement(CSS selector) để đặt<input type="file">trực tiếp.
canvas
Điều khiển Canvas của node (present, eval, snapshot, A2UI).
Hành động cốt lõi:
present,hide,navigate,evalsnapshot(trả về khối ảnh +MEDIA:<path>)a2ui_push,a2ui_reset
- Sử dụng
node.invokecủa gateway ở phía dưới. - Nếu không cung cấp
node, công cụ chọn mặc định (node đơn đang kết nối hoặc mac node local). - A2UI chỉ v0.8 (không
createSurface); CLI từ chối JSONL v0.9 với lỗi theo dòng. - Kiểm tra nhanh:
openclaw nodes canvas a2ui push --node <id> --text "Hello from A2UI".
nodes
Khám phá và nhắm mục tiêu các node đã ghép cặp; gửi thông báo; ghi camera/màn hình.
Hành động cốt lõi:
status,describepending,approve,reject(ghép cặp)notify(macOSsystem.notify)run(macOSsystem.run)camera_snap,camera_clip,screen_recordlocation_get
- Lệnh camera/màn hình yêu cầu ứng dụng node ở tiền cảnh.
- Ảnh trả về khối ảnh +
MEDIA:<path>. - Video trả về
FILE:<path>(mp4). - Vị trí trả về payload JSON (lat/lon/accuracy/timestamp).
- Tham số
run: mảng argvcommand; tùy chọncwd,env(KEY=VAL),commandTimeoutMs,invokeTimeoutMs,needsScreenRecording.
run):
image
Phân tích một hình ảnh bằng mô hình ảnh đã cấu hình.
Tham số cốt lõi:
image(đường dẫn hoặc URL bắt buộc)prompt(tùy chọn; mặc định “Describe the image.”)model(ghi đè tùy chọn)maxBytesMb(giới hạn kích thước tùy chọn)
- Chỉ khả dụng khi
agents.defaults.imageModelđược cấu hình (chính hoặc dự phòng), hoặc khi có thể suy ra ngầm mô hình ảnh từ mô hình mặc định + xác thực đã cấu hình (ghép cặp best-effort). - Dùng trực tiếp mô hình ảnh (độc lập với mô hình chat chính).
message
Gửi tin nhắn và hành động kênh trên Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/iMessage/MS Teams.
Hành động cốt lõi:
send(văn bản + media tùy chọn; MS Teams cũng hỗ trợcardcho Adaptive Cards)poll(polls WhatsApp/Discord/MS Teams)react/reactions/read/edit/deletepin/unpin/list-pinspermissionsthread-create/thread-list/thread-replysearchstickermember-info/role-infoemoji-list/emoji-upload/sticker-uploadrole-add/role-removechannel-info/channel-listvoice-statusevent-list/event-createtimeout/kick/ban
sendđịnh tuyến WhatsApp qua Gateway; các kênh khác đi trực tiếp.polldùng Gateway cho WhatsApp và MS Teams; polls Discord đi trực tiếp.- Khi một lời gọi công cụ nhắn tin được ràng buộc với phiên chat đang hoạt động, việc gửi bị giới hạn vào mục tiêu của phiên đó để tránh rò rỉ ngữ cảnh chéo.
cron
Quản lý cron jobs và wakeups của Gateway.
Hành động cốt lõi:
status,listadd,update,remove,run,runswake(xếp hàng sự kiện hệ thống + heartbeat ngay lập tức tùy chọn)
addyêu cầu một đối tượng cron job đầy đủ (cùng schema với RPCcron.add).updatedùng{ jobId, patch }(chấp nhậnidđể tương thích).
gateway
Khởi động lại hoặc áp dụng cập nhật cho tiến trình Gateway đang chạy (tại chỗ).
Hành động cốt lõi:
restart(ủy quyền + gửiSIGUSR1để khởi động lại trong tiến trình;openclaw gatewaykhởi động lại tại chỗ)config.get/config.schemaconfig.apply(xác thực + ghi cấu hình + khởi động lại + wake)config.patch(gộp cập nhật một phần + khởi động lại + wake)update.run(chạy cập nhật + khởi động lại + wake)
- Dùng
delayMs(mặc định 2000) để tránh gián đoạn một phản hồi đang diễn ra. restartbị tắt theo mặc định; bật bằngcommands.restart: true.
sessions_list / sessions_history / sessions_send / sessions_spawn / session_status
Liệt kê phiên, kiểm tra lịch sử transcript, hoặc gửi sang phiên khác.
Tham số cốt lõi:
sessions_list:kinds?,limit?,activeMinutes?,messageLimit?(0 = không)sessions_history:sessionKey(hoặcsessionId),limit?,includeTools?sessions_send:sessionKey(hoặcsessionId),message,timeoutSeconds?(0 = fire-and-forget)sessions_spawn:task,label?,agentId?,model?,runTimeoutSeconds?,cleanup?session_status:sessionKey?(mặc định hiện tại; chấp nhậnsessionId),model?(defaultxóa ghi đè)
mainlà khóa direct-chat chuẩn; global/unknown bị ẩn.messageLimit > 0lấy N tin nhắn cuối mỗi phiên (lọc tin nhắn công cụ).sessions_sendchờ hoàn tất cuối cùng khitimeoutSeconds > 0.- Việc giao/announce diễn ra sau khi hoàn tất và theo best-effort;
status: "ok"xác nhận lần chạy tác tử đã kết thúc, không đảm bảo announce đã được gửi. sessions_spawnkhởi chạy một tác tử con và đăng một phản hồi announce về chat yêu cầu.sessions_spawnkhông chặn và trả vềstatus: "accepted"ngay lập tức.sessions_sendchạy ping‑pong phản hồi‑lại (trả lờiREPLY_SKIPđể dừng; số lượt tối đa quasession.agentToAgent.maxPingPongTurns, 0–5).- Sau ping‑pong, tác tử mục tiêu chạy bước announce; trả lời
ANNOUNCE_SKIPđể chặn announce.
agents_list
Liệt kê id tác tử mà phiên hiện tại có thể nhắm tới bằng sessions_spawn.
Ghi chú:
- Kết quả bị giới hạn theo allowlist từng tác tử (
agents.list[].subagents.allowAgents). - Khi cấu hình
["*"], công cụ bao gồm tất cả tác tử đã cấu hình và đánh dấuallowAny: true.
Tham số (chung)
Các công cụ dựa trên Gateway (canvas, nodes, cron):
gatewayUrl(mặc địnhws://127.0.0.1:18789)gatewayToken(nếu bật xác thực)timeoutMs
gatewayUrl is set, include gatewayToken explicitly. Tools do not inherit config
or environment credentials for overrides, and missing explicit credentials is an error.
Công cụ trình duyệt:
profile(tùy chọn; mặc định làbrowser.defaultProfile)target(sandbox|host|node)node(tùy chọn; ghim id/tên node cụ thể)
Luồng tác tử được khuyến nghị
Tự động hóa trình duyệt:browser→status/startsnapshot(ai hoặc aria)act(click/type/press)screenshotnếu cần xác nhận trực quan
canvas→presenta2ui_push(tùy chọn)snapshot
nodes→statusdescribetrên node đã chọnnotify/run/camera_snap/screen_record
An toàn
- Tránh
system.runtrực tiếp; chỉ dùngnodes→runkhi có sự đồng ý rõ ràng của người dùng. - Tôn trọng sự đồng ý của người dùng đối với việc ghi camera/màn hình.
- Dùng
status/describeđể đảm bảo quyền trước khi gọi các lệnh media.
Cách công cụ được trình bày cho tác tử
Công cụ được hiển thị qua hai kênh song song:- Văn bản system prompt: danh sách dễ đọc + hướng dẫn.
- Schema công cụ: các định nghĩa hàm có cấu trúc được gửi tới API mô hình.