Системний запит
OpenClaw створює власний системний запит для кожного запуску агента. Цей запит належить OpenClaw і не використовує типовий запит pi-coding-agent. Запит збирається OpenClaw і додається до кожного запуску агента. Плагіни провайдерів можуть додавати cache-aware інструкції для запиту без заміни повного запиту, яким володіє OpenClaw. Runtime провайдера може:- замінювати невеликий набір іменованих основних розділів (
interaction_style,tool_call_style,execution_bias) - додавати стабільний префікс над межею prompt cache
- додавати динамічний суфікс під межею prompt cache
before_prompt_build залишайте для сумісності або для справді глобальних змін запиту, а не для звичайної поведінки провайдера.
Структура
Запит навмисно компактний і використовує фіксовані розділи:- Tooling: нагадування про джерело істини для structured-tool плюс інструкції runtime щодо використання tools.
- Safety: коротке нагадування про запобіжники, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду.
- Skills (коли доступні): пояснює моделі, як завантажувати інструкції навичок на вимогу.
- Самооновлення OpenClaw: як безпечно перевіряти конфігурацію через
config.schema.lookup, змінювати конфігурацію черезconfig.patch, замінювати повну конфігурацію черезconfig.applyі запускатиupdate.runлише на явний запит користувача. Інструментgateway, доступний лише власнику, також відмовляється переписуватиtools.exec.ask/tools.exec.security, включно із застарілими псевдонімамиtools.bash.*, які нормалізуються до цих захищених exec-шляхів. - Workspace: робочий каталог (
agents.defaults.workspace). - Documentation: локальний шлях до документації OpenClaw (репозиторій або npm-пакунок) і коли її читати.
- Workspace Files (injected): вказує, що bootstrap-файли включено нижче.
- Sandbox (коли ввімкнено): вказує на sandbox runtime, шляхи sandbox і чи доступний підвищений exec.
- Current Date & Time: локальний час користувача, часовий пояс і формат часу.
- Reply Tags: необов’язковий синтаксис тегів відповіді для підтримуваних провайдерів.
- Heartbeats: запит heartbeat і поведінка ack.
- Runtime: хост, ОС, node, модель, корінь репозиторію (коли виявлено), рівень thinking (один рядок).
- Reasoning: поточний рівень видимості + підказка для перемикання
/reasoning.
- використовувати cron для майбутніх дій (
check back later, нагадування, повторювана робота) замість циклів сну черезexec, трюків затримкиyieldMsабо повторного опитуванняprocess - використовувати
exec/processлише для команд, які стартують зараз і продовжують працювати у фоновому режимі - коли ввімкнено автоматичне пробудження після завершення, запускати команду лише один раз і покладатися на шлях push-сповіщення, коли вона виводить результат або завершується з помилкою
- використовувати
processдля журналів, стану, введення або втручання, коли потрібно перевірити запущену команду - якщо завдання більше, надавати перевагу
sessions_spawn; завершення субагента відбувається через push і автоматично анонсується назад запитувачу - не опитувати
subagents list/sessions_listу циклі лише для очікування завершення
update_plan, Tooling також повідомляє
моделі використовувати його лише для нетривіальної багатокрокової роботи, підтримувати рівно один
крок in_progress і не повторювати весь план після кожного оновлення.
Запобіжники безпеки в системному запиті мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують примусове виконання політики. Для жорсткого контролю використовуйте політики tools, схвалення exec, sandboxing і allowlist каналів; оператори можуть вимкнути це за задумом.
На каналах із рідними картками/кнопками схвалення запит runtime тепер інструктує
агента насамперед покладатися на цей рідний UI схвалення. Він має додавати ручну
команду /approve лише тоді, коли результат tool повідомляє, що схвалення в чаті недоступні або
ручне схвалення є єдиним шляхом.
Режими запиту
OpenClaw може рендерити менші системні запити для субагентів. Runtime встановлюєpromptMode для кожного запуску (це не користувацьке налаштування):
full(за замовчуванням): включає всі наведені вище розділи.minimal: використовується для субагентів; пропускає Skills, Memory Recall, Самооновлення OpenClaw, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies і Heartbeats. Tooling, Safety, Workspace, Sandbox, Current Date & Time (коли відомо), Runtime та інʼєктований контекст залишаються доступними.none: повертає лише базовий рядок ідентичності.
promptMode=minimal, додаткові інʼєктовані запити позначаються як Subagent
Context замість Group Chat Context.
Інʼєкція bootstrap робочого простору
Bootstrap-файли обрізаються та додаються в розділ Project Context, щоб модель бачила контекст ідентичності та профілю без потреби в явному читанні:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(лише в абсолютно нових робочих просторах)MEMORY.md, якщо він є, інакшеmemory.mdяк резервний варіант у нижньому регістрі
MEMORY.md, який може
зростати з часом і призводити до неочікувано великого використання контексту та частішого
ущільнення.
Примітка: щоденні файлиВеликі файли обрізаються з маркером. Максимальний розмір одного файла контролюється черезmemory/*.mdне інʼєктуються автоматично. До них звертаються на вимогу через toolsmemory_searchіmemory_get, тож вони не впливають на вікно контексту, якщо модель явно їх не читає.
agents.defaults.bootstrapMaxChars (за замовчуванням: 20000). Загальний обсяг інʼєктованого bootstrap-вмісту
між файлами обмежується agents.defaults.bootstrapTotalMaxChars
(за замовчуванням: 150000). Для відсутніх файлів інʼєктується короткий маркер відсутності. Коли відбувається обрізання,
OpenClaw може додавати блок попередження в Project Context; це контролюється через
agents.defaults.bootstrapPromptTruncationWarning (off, once, always;
за замовчуванням: once).
Сесії субагентів інʼєктують лише AGENTS.md і TOOLS.md (інші bootstrap-файли
відфільтровуються, щоб контекст субагента залишався малим).
Внутрішні hooks можуть перехоплювати цей крок через agent:bootstrap, щоб змінити або замінити
інʼєктовані bootstrap-файли (наприклад, підмінити SOUL.md на альтернативну персону).
Якщо ви хочете, щоб агент звучав менш узагальнено, почніть із
Посібника з індивідуальності SOUL.md.
Щоб перевірити, який внесок дає кожен інʼєктований файл (сирий проти інʼєктованого, обрізання, а також накладні витрати схеми tool), використовуйте /context list або /context detail. Див. Context.
Обробка часу
Системний запит включає окремий розділ Current Date & Time, коли відомий часовий пояс користувача. Щоб зберігати prompt cache стабільним, тепер він містить лише часовий пояс (без динамічного годинника чи формату часу). Використовуйтеsession_status, коли агенту потрібен поточний час; картка стану
містить рядок з часовою позначкою. Той самий tool також може за бажанням встановлювати перевизначення моделі для сесії
(model=default очищає його).
Налаштовується через:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
Коли існують допустимі навички, OpenClaw інʼєктує компактний список доступних навичок (formatSkillsForPrompt), який включає шлях до файла для кожної навички. Запит
інструктує модель використовувати read, щоб завантажити SKILL.md за вказаним
розташуванням (workspace, managed або bundled). Якщо допустимих навичок немає, розділ
Skills пропускається.
Допустимість включає метадані навичок, перевірки runtime environment/config і ефективний allowlist навичок агента, коли налаштовано agents.defaults.skills або
agents.list[].skills.
Documentation
Коли доступно, системний запит включає розділ Documentation, який указує на локальний каталог документації OpenClaw (абоdocs/ у робочому просторі репозиторію, або документацію з вбудованого npm-пакунка) і також згадує публічне дзеркало, вихідний репозиторій, спільноту Discord і
ClawHub (https://clawhub.ai) для пошуку Skills. Запит інструктує модель спочатку звертатися до локальної документації
щодо поведінки, команд, конфігурації чи архітектури OpenClaw, а також самостійно виконувати
openclaw status, коли це можливо (запитуючи користувача лише тоді, коли доступу немає).