Tài liệu tham khảo cho đối tượngDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
api.runtime được chèn vào mọi Plugin trong quá trình đăng ký. Dùng các helper này thay vì nhập trực tiếp phần nội bộ của host.
Channel plugins
Hướng dẫn từng bước sử dụng các helper này trong ngữ cảnh cho Plugin kênh.
Provider plugins
Hướng dẫn từng bước sử dụng các helper này trong ngữ cảnh cho Plugin nhà cung cấp.
Tải và ghi cấu hình
Ưu tiên cấu hình đã được truyền vào luồng gọi đang hoạt động, ví dụapi.config trong quá trình đăng ký hoặc đối số cfg trên callback kênh/nhà cung cấp. Cách này giữ một snapshot tiến trình duy nhất chảy xuyên suốt công việc thay vì phân tích lại cấu hình trên các hot path.
Chỉ dùng api.runtime.config.current() khi một handler tồn tại lâu cần snapshot tiến trình hiện tại và không có cấu hình nào được truyền vào hàm đó. Giá trị trả về là readonly; hãy clone hoặc dùng helper mutation trước khi chỉnh sửa.
Factory công cụ nhận ctx.runtimeConfig cùng với ctx.getRuntimeConfig(). Dùng getter bên trong callback execute của công cụ tồn tại lâu khi cấu hình có thể thay đổi sau khi định nghĩa công cụ đã được tạo.
Lưu thay đổi bằng api.runtime.config.mutateConfigFile(...) hoặc api.runtime.config.replaceConfigFile(...). Mỗi lần ghi phải chọn một chính sách afterWrite rõ ràng:
afterWrite: { mode: "auto" }để trình quyết định tải lại của Gateway quyết định.afterWrite: { mode: "restart", reason: "..." }buộc khởi động lại sạch khi bên ghi biết hot reload không an toàn.afterWrite: { mode: "none", reason: "..." }chỉ chặn tự động tải lại/khởi động lại khi bên gọi sở hữu bước theo dõi tiếp theo.
afterWrite cùng một bản tóm tắt followUp có kiểu để bên gọi có thể ghi log hoặc kiểm thử liệu họ đã yêu cầu khởi động lại hay chưa. Gateway vẫn sở hữu thời điểm việc khởi động lại đó thực sự diễn ra.
api.runtime.config.loadConfig() và api.runtime.config.writeConfigFile(...) là các helper tương thích đã ngừng khuyến nghị dưới runtime-config-load-write. Chúng cảnh báo một lần tại runtime và vẫn có sẵn cho các Plugin bên ngoài cũ trong thời gian chuyển đổi. Các Plugin được đóng gói không được dùng chúng; lớp bảo vệ ranh giới cấu hình sẽ lỗi nếu mã Plugin gọi chúng hoặc nhập các helper đó từ các đường dẫn con của SDK Plugin.
Đối với các import SDK trực tiếp, dùng các đường dẫn con cấu hình tập trung thay vì barrel tương thích rộng
openclaw/plugin-sdk/config-runtime: config-types cho
type, plugin-config-runtime cho assertion cấu hình đã tải và tra cứu entry
Plugin, runtime-config-snapshot cho snapshot tiến trình hiện tại, và
config-mutation cho thao tác ghi. Kiểm thử Plugin được đóng gói nên mock trực tiếp các
đường dẫn con tập trung này thay vì mock barrel tương thích rộng.
Mã runtime nội bộ của OpenClaw đi theo cùng hướng: tải cấu hình một lần tại ranh giới CLI, Gateway, hoặc tiến trình, rồi truyền giá trị đó xuyên suốt. Các lần ghi mutation thành công làm mới snapshot runtime của tiến trình và tăng revision nội bộ của nó; các cache tồn tại lâu nên dựa vào khóa cache do runtime sở hữu thay vì tự serialize cấu hình cục bộ. Các module runtime tồn tại lâu có bộ quét không khoan nhượng đối với các lệnh gọi loadConfig() xung quanh; hãy dùng một cfg được truyền vào, context.getRuntimeConfig() của request, hoặc getRuntimeConfig() tại một ranh giới tiến trình rõ ràng.
Các đường dẫn thực thi nhà cung cấp và kênh phải dùng snapshot cấu hình runtime đang hoạt động, không phải snapshot tệp được trả về để đọc lại hoặc chỉnh sửa cấu hình. Snapshot tệp giữ nguyên các giá trị nguồn như marker SecretRef cho UI và thao tác ghi; callback nhà cung cấp cần chế độ xem runtime đã được phân giải. Khi một helper có thể được gọi với snapshot nguồn đang hoạt động hoặc snapshot runtime đang hoạt động, hãy đi qua selectApplicableRuntimeConfig() trước khi đọc thông tin đăng nhập.
Namespace runtime
api.runtime.agent
api.runtime.agent
Danh tính agent, thư mục, và quản lý phiên.
runEmbeddedAgent(...) là helper trung lập để bắt đầu một lượt agent OpenClaw thông thường từ mã Plugin. Nó dùng cùng cơ chế phân giải nhà cung cấp/model và lựa chọn agent-harness như các phản hồi được kích hoạt từ kênh.runEmbeddedPiAgent(...) vẫn là alias tương thích.resolveThinkingPolicy(...) trả về các mức suy nghĩ được hỗ trợ của nhà cung cấp/model và giá trị mặc định tùy chọn. Plugin nhà cung cấp sở hữu hồ sơ theo model thông qua các hook suy nghĩ của chúng, nên Plugin công cụ nên gọi helper runtime này thay vì nhập hoặc nhân đôi danh sách nhà cung cấp.normalizeThinkingLevel(...) chuyển đổi văn bản người dùng như on, x-high, hoặc extra high thành mức lưu trữ chuẩn trước khi kiểm tra nó với chính sách đã phân giải.Helper kho phiên nằm dưới api.runtime.agent.session:api.runtime.agent.defaults
api.runtime.agent.defaults
Hằng số model và nhà cung cấp mặc định:
api.runtime.subagent
api.runtime.subagent
Khởi chạy và quản lý các lần chạy subagent nền.
deleteSession(...) có thể xóa các phiên được tạo bởi cùng Plugin thông qua api.runtime.subagent.run(...). Việc xóa phiên tùy ý của người dùng hoặc operator vẫn cần một request Gateway có phạm vi admin.api.runtime.nodes
api.runtime.nodes
Liệt kê các node đã kết nối và gọi một lệnh do node-host cung cấp từ mã Plugin được Gateway tải hoặc từ lệnh CLI của Plugin. Dùng mục này khi Plugin sở hữu công việc cục bộ trên thiết bị đã ghép cặp, ví dụ một cầu nối trình duyệt hoặc âm thanh trên một máy Mac khác.Bên trong Gateway, runtime này chạy trong cùng tiến trình. Trong các lệnh CLI của Plugin, nó gọi Gateway đã cấu hình qua RPC, nên các lệnh như
openclaw googlemeet recover-tab có thể kiểm tra các node đã ghép cặp từ terminal. Lệnh node vẫn đi qua quy trình ghép cặp node Gateway thông thường, allowlist lệnh, và xử lý lệnh cục bộ trên node.api.runtime.tasks.managedFlows
api.runtime.tasks.managedFlows
Liên kết một runtime Task Flow với khóa phiên OpenClaw hiện có hoặc ngữ cảnh công cụ đáng tin cậy, sau đó tạo và quản lý Task Flow mà không cần truyền owner trong mỗi lần gọi.Dùng
bindSession({ sessionKey, requesterOrigin }) khi bạn đã có một khóa phiên OpenClaw đáng tin cậy từ lớp binding của riêng bạn. Không bind từ dữ liệu nhập thô của người dùng.api.runtime.tts
api.runtime.tts
Tổng hợp văn bản thành giọng nói.Dùng cấu hình
messages.tts lõi và lựa chọn nhà cung cấp. Trả về bộ đệm âm thanh PCM + tần số lấy mẫu.api.runtime.mediaUnderstanding
api.runtime.mediaUnderstanding
Phân tích hình ảnh, âm thanh, và video.Trả về
{ text: undefined } khi không có đầu ra nào được tạo ra (ví dụ: dữ liệu nhập bị bỏ qua).api.runtime.stt.transcribeAudioFile(...) vẫn là bí danh tương thích cho api.runtime.mediaUnderstanding.transcribeAudioFile(...).api.runtime.imageGeneration
api.runtime.imageGeneration
Tạo hình ảnh.
api.runtime.webSearch
api.runtime.webSearch
Tìm kiếm trên web.
api.runtime.media
api.runtime.media
Tiện ích media cấp thấp.
api.runtime.config
api.runtime.config
Ảnh chụp cấu hình runtime hiện tại và các thao tác ghi cấu hình theo giao dịch. Ưu tiên
cấu hình đã được truyền vào đường dẫn lệnh gọi đang hoạt động; chỉ dùng
current() khi handler cần trực tiếp ảnh chụp tiến trình.mutateConfigFile(...) và replaceConfigFile(...) trả về giá trị followUp,
ví dụ { mode: "restart", requiresRestart: true, reason },
ghi lại ý định của trình ghi mà không lấy quyền điều khiển khởi động lại khỏi
gateway.api.runtime.system
api.runtime.system
Tiện ích cấp hệ thống.
api.runtime.events
api.runtime.events
Đăng ký nhận sự kiện.
api.runtime.logging
api.runtime.logging
Ghi log.
api.runtime.modelAuth
api.runtime.modelAuth
Phân giải xác thực model và provider.
api.runtime.state
api.runtime.state
Phân giải thư mục trạng thái và lưu trữ khóa-giá trị dựa trên SQLite.Kho khóa-giá trị tồn tại qua các lần khởi động lại và được cô lập theo id plugin gắn với runtime. Giới hạn:
maxEntries cho mỗi namespace, 1.000 hàng đang hoạt động cho mỗi plugin, giá trị JSON dưới 64KB, và tùy chọn hết hạn TTL.api.runtime.tools
api.runtime.tools
Factory công cụ bộ nhớ và CLI.
api.runtime.channel
api.runtime.channel
Helper runtime dành riêng cho kênh (có sẵn khi một plugin kênh được tải).Các helper nhắc đến có sẵn:
api.runtime.channel.mentions là bề mặt chính sách nhắc đến đầu vào dùng chung cho các plugin kênh đóng gói sẵn sử dụng tiêm runtime:buildMentionRegexesmatchesMentionPatternsmatchesMentionWithExplicitimplicitMentionKindWhenresolveInboundMentionDecision
api.runtime.channel.mentions cố ý không phơi bày các helper tương thích resolveMentionGating* cũ hơn. Ưu tiên đường dẫn { facts, policy } đã chuẩn hóa.Lưu trữ tham chiếu runtime
DùngcreatePluginRuntimeStore để lưu trữ tham chiếu runtime cho việc sử dụng bên ngoài callback register:
Ưu tiên
pluginId cho danh tính runtime-store. Dạng key cấp thấp hơn dành cho những trường hợp không phổ biến khi một plugin cố ý cần nhiều hơn một slot runtime.Các trường api cấp cao nhất khác
Ngoài api.runtime, đối tượng API cũng cung cấp:
Id plugin.
Tên hiển thị của plugin.
Ảnh chụp cấu hình hiện tại (ảnh chụp runtime trong bộ nhớ đang hoạt động khi có sẵn).
Cấu hình dành riêng cho plugin từ
plugins.entries.<id>.config.Logger theo phạm vi (
debug, info, warn, error).Chế độ tải hiện tại;
"setup-runtime" là khoảng thời gian khởi động/thiết lập nhẹ trước entry đầy đủ.Phân giải một đường dẫn tương đối với gốc plugin.
Liên quan
- Nội bộ plugin — mô hình khả năng và registry
- Điểm vào SDK — tùy chọn
definePluginEntry - Tổng quan SDK — tham chiếu subpath