Довідник для об’єкта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.
api.runtime, який впроваджується в кожен plugin під час реєстрації. Використовуйте ці допоміжні функції замість прямого імпорту внутрішніх модулів хоста.
Channel plugins
Покроковий посібник, який показує використання цих допоміжних функцій у контексті для channel plugins.
Provider plugins
Покроковий посібник, який показує використання цих допоміжних функцій у контексті для provider plugins.
Завантаження конфігурації та записи
Надавайте перевагу конфігурації, яку вже було передано в активний шлях виклику, наприкладapi.config під час реєстрації або аргумент cfg у callback-функціях каналу чи провайдера. Так один знімок процесу проходитиме через усю роботу, замість повторного розбору конфігурації на гарячих шляхах.
Використовуйте api.runtime.config.current() лише тоді, коли довготривалому обробнику потрібен поточний знімок процесу, а конфігурацію не було передано цій функції. Повернене значення доступне лише для читання; перед редагуванням клонуйте його або скористайтеся допоміжною функцією мутації.
Фабрики інструментів отримують ctx.runtimeConfig і ctx.getRuntimeConfig(). Використовуйте getter усередині callback-функції execute довготривалого інструмента, коли конфігурація може змінитися після створення визначення інструмента.
Зберігайте зміни за допомогою api.runtime.config.mutateConfigFile(...) або api.runtime.config.replaceConfigFile(...). Кожен запис має вибрати явну політику afterWrite:
afterWrite: { mode: "auto" }дозволяє планувальнику перезавантаження Gateway ухвалити рішення.afterWrite: { mode: "restart", reason: "..." }примусово виконує чистий перезапуск, коли автор запису знає, що гаряче перезавантаження небезпечне.afterWrite: { mode: "none", reason: "..." }пригнічує автоматичне перезавантаження чи перезапуск лише тоді, коли викликач сам відповідає за подальші дії.
afterWrite і типізований підсумок followUp, щоб викликачі могли логувати або тестувати, чи вони запитали перезапуск. Gateway і далі відповідає за те, коли цей перезапуск фактично відбудеться.
api.runtime.config.loadConfig() і api.runtime.config.writeConfigFile(...) є застарілими допоміжними функціями сумісності в межах runtime-config-load-write. Вони один раз попереджають під час виконання й залишаються доступними для старих зовнішніх plugins протягом вікна міграції. Вбудовані plugins не повинні їх використовувати; захист межі конфігурації завершується помилкою, якщо код plugin викликає їх або імпортує ці допоміжні функції з підшляхів plugin SDK.
Для прямих імпортів SDK використовуйте спеціалізовані підшляхи конфігурації замість широкого
бареля сумісності openclaw/plugin-sdk/config-runtime: config-contracts для
типів, plugin-config-runtime для перевірок уже завантаженої конфігурації та пошуку
точки входу plugin, runtime-config-snapshot для поточних знімків процесу, а
config-mutation для записів. Тести вбудованих plugin мають мокати ці спеціалізовані
підшляхи безпосередньо, а не широкий барель сумісності.
Внутрішній runtime-код OpenClaw має той самий напрям: завантажити конфігурацію один раз на межі CLI, Gateway або процесу, а потім передавати це значення далі. Успішні записи мутації оновлюють runtime-знімок процесу й просувають його внутрішню ревізію; довготривалі кеші мають використовувати ключ кешу, яким володіє runtime, замість локальної серіалізації конфігурації. Довготривалі runtime-модулі мають сканер із нульовою толерантністю до неявних викликів loadConfig(); використовуйте переданий cfg, запит context.getRuntimeConfig() або getRuntimeConfig() на явній межі процесу.
Шляхи виконання провайдера й каналу мають використовувати активний знімок runtime-конфігурації, а не файловий знімок, повернений для зворотного читання чи редагування конфігурації. Файлові знімки зберігають вихідні значення, як-от маркери SecretRef, для UI та записів; callback-функціям провайдера потрібне розв’язане runtime-представлення. Коли допоміжну функцію можна викликати як з активним вихідним знімком, так і з активним runtime-знімком, перед читанням облікових даних маршрутизуйте через selectApplicableRuntimeConfig().
Простори імен runtime
api.runtime.agent
api.runtime.agent
Ідентичність агента, каталоги та керування сесіями.Для записів під час виконання надавайте перевагу
runEmbeddedAgent(...) — нейтральна допоміжна функція для запуску звичайного ходу агента OpenClaw з коду plugin. Вона використовує те саме розв’язання провайдера й моделі та вибір agent-harness, що й відповіді, запущені каналом.runEmbeddedPiAgent(...) залишається alias сумісності.resolveThinkingPolicy(...) повертає підтримувані рівні мислення провайдера й моделі та необов’язкове значення за замовчуванням. Provider plugins володіють специфічним для моделі профілем через свої thinking hooks, тому tool plugins мають викликати цю runtime-допоміжну функцію замість імпорту чи дублювання списків провайдерів.normalizeThinkingLevel(...) перетворює користувацький текст, як-от on, x-high або extra high, на канонічний збережений рівень перед перевіркою його за розв’язаною політикою.Допоміжні функції сховища сесій розташовані в api.runtime.agent.session:updateSessionStore(...) або updateSessionStoreEntry(...). Вони проходять через записувач сховища сесій, яким володіє Gateway, зберігають паралельні оновлення та повторно використовують гарячий кеш. saveSessionStore(...) залишається доступною для сумісності та офлайн-перезаписів у стилі обслуговування.api.runtime.agent.defaults
api.runtime.agent.defaults
Константи стандартної моделі та постачальника:
api.runtime.llm
api.runtime.llm
Запустіть текстове завершення, яким володіє хост, без імпорту внутрішніх компонентів постачальника або дублювання підготовки моделі, автентифікації чи базової URL-адреси OpenClaw.Допоміжна функція використовує той самий шлях підготовки простого завершення, що й вбудоване середовище виконання OpenClaw, а також знімок конфігурації середовища виконання, яким володіє хост. Рушії контексту отримують прив’язану до сесії можливість
llm.complete, тому виклики моделі використовують агента активної сесії та не повертаються непомітно до стандартного агента. Результат містить атрибуцію постачальника, моделі й агента, а також нормалізоване використання токенів, кешу та орієнтовної вартості, якщо доступно.api.runtime.subagent
api.runtime.subagent
Запускайте та керуйте фоновими виконаннями підагентів.
deleteSession(...) може видаляти сесії, створені тим самим плагіном через api.runtime.subagent.run(...). Видалення довільних користувацьких або операторських сесій усе ще потребує Gateway-запиту з областю адміністратора.api.runtime.nodes
api.runtime.nodes
Перелічуйте підключені вузли та викликайте команду, розміщену на вузлі, з коду плагіна, завантаженого Gateway, або з CLI-команд плагіна. Використовуйте це, коли плагін володіє локальною роботою на спареному пристрої, наприклад мостом браузера чи аудіо на іншому Mac.Усередині Gateway це середовище виконання є внутрішньопроцесним. У CLI-командах плагіна воно викликає налаштований Gateway через RPC, тож команди на кшталт
openclaw googlemeet recover-tab можуть перевіряти спарені вузли з термінала. Команди вузлів і надалі проходять через звичайне спарювання вузлів Gateway, списки дозволених команд, політики виклику вузлів плагіна та локальну обробку команд вузла.Плагіни, які надають небезпечні команди, розміщені на вузлі, мають зареєструвати політику виклику вузлів за допомогою api.registerNodeInvokePolicy(...). Політика виконується в Gateway після перевірок списку дозволених команд і перед пересиланням команди вузлу, тому прямі виклики node.invoke та інструменти плагінів вищого рівня використовують той самий шлях примусового застосування.api.runtime.tasks.managedFlows
api.runtime.tasks.managedFlows
Прив’яжіть середовище виконання Task Flow до наявного ключа сесії OpenClaw або довіреного контексту інструмента, а потім створюйте й керуйте Task Flows без передавання власника в кожному виклику.Task Flow відстежує довговічний стан багатоетапного робочого процесу. Це не планувальник:
використовуйте Cron або Використовуйте
api.session.workflow.scheduleSessionTurn(...) для майбутніх пробуджень, а потім використовуйте managedFlows із запланованого ходу, коли ця робота потребує стану потоку, дочірніх завдань, очікувань або скасування.bindSession({ sessionKey, requesterOrigin }), коли у вас уже є довірений ключ сесії OpenClaw із власного шару прив’язування. Не прив’язуйте з необробленого введення користувача.api.runtime.tts
api.runtime.tts
Синтез мовлення з тексту.Використовує основну конфігурацію
messages.tts і вибір провайдера. Повертає аудіобуфер PCM + частоту дискретизації.api.runtime.mediaUnderstanding
api.runtime.mediaUnderstanding
Аналіз зображень, аудіо та відео.Повертає
{ text: undefined }, коли результат не створено (наприклад, пропущене введення).api.runtime.stt.transcribeAudioFile(...) лишається сумісним псевдонімом для api.runtime.mediaUnderstanding.transcribeAudioFile(...).api.runtime.imageGeneration
api.runtime.imageGeneration
Генерація зображень.
api.runtime.webSearch
api.runtime.webSearch
Вебпошук.
api.runtime.media
api.runtime.media
Низькорівневі медіаутиліти.
api.runtime.config
api.runtime.config
Поточний знімок конфігурації runtime і транзакційні записи конфігурації. Надавайте перевагу
конфігурації, яку вже передано в активний шлях виклику; використовуйте
current() лише тоді, коли обробнику безпосередньо потрібен знімок процесу.mutateConfigFile(...) і replaceConfigFile(...) повертають значення followUp,
наприклад { mode: "restart", requiresRestart: true, reason },
яке фіксує намір записувача, не забираючи керування перезапуском у
gateway.api.runtime.system
api.runtime.system
Утиліти системного рівня.
api.runtime.events
api.runtime.events
Підписки на події.
api.runtime.logging
api.runtime.logging
Журналювання.
api.runtime.modelAuth
api.runtime.modelAuth
Розв’язання автентифікації моделі та провайдера.
api.runtime.state
api.runtime.state
Розв’язання каталогу стану та сховище ключів на базі SQLite.Сховища ключів переживають перезапуски й ізолюються за прив’язаним до runtime ідентифікатором plugin. Використовуйте
registerIfAbsent(...) для атомарних заявок дедуплікації: він повертає true, коли ключ був відсутній або прострочений і зареєстрований, або false, коли активне значення вже існує без перезапису його значення, часу створення чи TTL. Обмеження: maxEntries на простір імен, 1 000 активних рядків на plugin, JSON-значення до 64KB і необов’язкове завершення строку TTL.api.runtime.tools
api.runtime.tools
Фабрики інструментів пам’яті та CLI.
api.runtime.channel
api.runtime.channel
Допоміжні засоби runtime для конкретного каналу (доступні, коли завантажено plugin каналу).Доступні допоміжні засоби для згадок:
api.runtime.channel.mentions — це спільна поверхня політики вхідних згадок для вбудованих plugins каналів, які використовують ін’єкцію runtime:buildMentionRegexesmatchesMentionPatternsmatchesMentionWithExplicitimplicitMentionKindWhenresolveInboundMentionDecision
api.runtime.channel.mentions навмисно не надає старі допоміжні засоби сумісності resolveMentionGating*. Надавайте перевагу нормалізованому шляху { facts, policy }.Зберігання посилань runtime
ВикористовуйтеcreatePluginRuntimeStore, щоб зберегти посилання runtime для використання поза callback-функцією register:
Надавайте перевагу
pluginId для ідентичності runtime-сховища. Нижчорівнева форма key призначена для нетипових випадків, коли одному plugin навмисно потрібно більше ніж один слот runtime.Інші поля верхнього рівня api
Окрім api.runtime, об’єкт API також надає:
Ідентифікатор Plugin.
Відображувана назва Plugin.
Поточний знімок конфігурації (активний знімок runtime у пам’яті, коли доступний).
Конфігурація, специфічна для Plugin, з
plugins.entries.<id>.config.Логер із заданою областю (
debug, info, warn, error).Поточний режим завантаження;
"setup-runtime" — це полегшене вікно запуску/налаштування перед повним входом.Визначає шлях відносно кореня Plugin.
Пов’язане
- Внутрішні механізми Plugin — модель можливостей і реєстр
- Точки входу SDK — параметри
definePluginEntry - Огляд SDK — довідник підшляхів