Системний промпт
OpenClaw створює власний системний промпт для кожного запуску агента. Промпт належить OpenClaw і не використовує стандартний промпт pi-coding-agent. Промпт збирається OpenClaw і впроваджується в кожен запуск агента. Плагіни провайдерів можуть додавати cache-aware вказівки до промпту, не замінюючи повний промпт, що належить OpenClaw. Середовище виконання провайдера може:- замінювати невеликий набір іменованих основних секцій (
interaction_style,tool_call_style,execution_bias) - впроваджувати stable prefix над межею кешу промпту
- впроваджувати dynamic suffix під межею кешу промпту
before_prompt_build для сумісності або справді глобальних змін промпту, а не для звичайної поведінки провайдера.
Структура
Промпт навмисно компактний і використовує фіксовані секції:- Tooling: нагадування про джерело істини для structured-tool плюс вказівки щодо використання інструментів під час виконання.
- Safety: коротке нагадування про захисні обмеження, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду.
- Skills (коли доступно): пояснює моделі, як за потреби завантажувати інструкції Skills.
- OpenClaw Self-Update: як безпечно перевіряти конфігурацію за допомогою
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 package) і коли її слід читати.
- Workspace Files (injected): вказує, що нижче включено bootstrap-файли.
- Sandbox (коли ввімкнено): вказує на ізольоване середовище виконання, шляхи sandbox і чи доступний підвищений exec.
- Current Date & Time: локальний час користувача, часовий пояс і формат часу.
- Reply Tags: необов’язковий синтаксис тегів відповіді для підтримуваних провайдерів.
- Heartbeats: промпт Heartbeat і поведінка підтвердження, коли Heartbeat увімкнено для агента за замовчуванням.
- Runtime: хост, ОС, node, корінь репозиторію (коли виявлено), рівень thinking (один рядок).
- Reasoning: поточний рівень видимості + підказка про перемикання /reasoning.
- використовуйте cron для майбутнього повторного звернення (
check back later, нагадування, повторювана робота) замість циклів sleep черезexec, хитрощів із затримкоюyieldMsабо повторного опитуванняprocess - використовуйте
exec/processлише для команд, які запускаються зараз і продовжують працювати у фоновому режимі - коли ввімкнено автоматичне пробудження після завершення, запускайте команду один раз і покладайтеся на push-based шлях пробудження, коли вона виведе результат або завершиться з помилкою
- використовуйте
processдля журналів, статусу, введення або втручання, коли вам потрібно перевірити команду, що виконується - якщо завдання більше, віддавайте перевагу
sessions_spawn; завершення субагента є push-based і автоматично анонсується назад запитувачу - не опитуйте
subagents list/sessions_listу циклі лише для очікування завершення
update_plan, Tooling також повідомляє
моделі використовувати його лише для нетривіальної багатоетапної роботи, підтримувати рівно один
крок in_progress і не повторювати весь план після кожного оновлення.
Захисні обмеження безпеки в системному промпті є рекомендаційними. Вони спрямовують поведінку моделі, але не забезпечують політику примусово. Для жорсткого забезпечення використовуйте політику інструментів, схвалення exec, sandboxing і allowlist каналів; оператори можуть вимкнути це за задумом.
У каналах із нативними картками/кнопками схвалення runtime-промпт тепер повідомляє
агенту спочатку покладатися на цей нативний UI схвалення. Він має включати ручну
команду /approve, лише коли результат інструмента повідомляє, що схвалення в чаті недоступні або
ручне схвалення є єдиним шляхом.
Режими промпту
OpenClaw може рендерити менші системні промпти для субагентів. Середовище виконання задаєpromptMode для кожного запуску (це не користувацький параметр конфігурації):
full(типово): включає всі секції вище.minimal: використовується для субагентів; пропускає Skills, Memory Recall, OpenClaw Self-Update, 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як резервний варіант у нижньому регістрі
HEARTBEAT.md пропускається в звичайних запусках, коли
Heartbeat вимкнено для агента за замовчуванням або
agents.defaults.heartbeat.includeSystemPromptSection має значення false. Тримайте впроваджені
файли лаконічними — особливо MEMORY.md, який може зростати з часом і призводити до
неочікувано високого використання контексту та частішої Compaction.
Примітка: щоденні файлиВеликі файли обрізаються з маркером. Максимальний розмір одного файла контролюється черезmemory/*.mdне є частиною звичайного bootstrap Project Context. Під час звичайних ходів до них звертаються за потреби через інструментиmemory_searchіmemory_get, тому вони не враховуються у вікні контексту, якщо модель явно їх не читає. Виняток — прості ходи/newі/reset: середовище виконання може додати нещодавню щоденну пам’ять як одноразовий блок стартового контексту для цього першого ходу.
agents.defaults.bootstrapMaxChars (типово: 12000). Загальний обсяг впровадженого bootstrap-контенту
для всіх файлів обмежується agents.defaults.bootstrapTotalMaxChars
(типово: 60000). Відсутні файли впроваджують короткий маркер відсутнього файла. Коли відбувається обрізання,
OpenClaw може впровадити блок попередження в Project Context; це контролюється через
agents.defaults.bootstrapPromptTruncationWarning (off, once, always;
типово: once).
Сеанси субагентів впроваджують лише AGENTS.md і TOOLS.md (інші bootstrap-файли
відфільтровуються, щоб контекст субагента залишався малим).
Внутрішні хуки можуть перехоплювати цей крок через agent:bootstrap, щоб змінювати або замінювати
впроваджені bootstrap-файли (наприклад, підміняти SOUL.md альтернативною персоною).
Якщо ви хочете, щоб агент звучав менш шаблонно, почніть із
SOUL.md Personality Guide.
Щоб перевірити, який внесок робить кожен впроваджений файл (сирий проти впровадженого, обрізання, а також накладні витрати схеми інструментів), використовуйте /context list або /context detail. Див. Context.
Обробка часу
Системний промпт містить окрему секцію Current Date & Time, коли відомий часовий пояс користувача. Щоб зберігати стабільність кешу промпту, тепер він включає лише часовий пояс (без динамічного годинника чи формату часу). Використовуйтеsession_status, коли агенту потрібен поточний час; картка статусу
містить рядок із часовою міткою. Той самий інструмент також може за бажанням встановити
перевизначення моделі для сеансу (model=default очищує його).
Налаштовується через:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
Коли існують Skills, що відповідають умовам, OpenClaw впроваджує компактний available skills list (formatSkillsForPrompt), який містить шлях до файла для кожного Skill. Промпт
інструктує модель використовувати read, щоб завантажити SKILL.md у вказаному
розташуванні (робочий простір, кероване або вбудоване). Якщо придатних Skills немає,
секція Skills пропускається.
Відповідність умовам включає обмеження метаданих Skill, перевірки середовища виконання/конфігурації
та ефективний allowlist Skills агента, коли налаштовано agents.defaults.skills або
agents.list[].skills.
- Глобальне типове значення:
skills.limits.maxSkillsPromptChars - Перевизначення для агента:
agents.list[].skillsLimits.maxSkillsPromptChars
agents.defaults.contextLimits.*agents.list[].contextLimits.*
memory_get, результати live-інструментів і оновлення AGENTS.md після Compaction.
Documentation
Коли доступно, системний промпт містить секцію Documentation, яка вказує на локальний каталог документації OpenClaw (абоdocs/ у робочому просторі репозиторію, або документацію з вбудованого npm
package), а також згадує публічне дзеркало, вихідний репозиторій, спільноту Discord і
ClawHub (https://clawhub.ai) для пошуку Skills. Промпт інструктує модель спочатку звертатися до локальної документації
щодо поведінки OpenClaw, команд, конфігурації чи архітектури, а також самостійно запускати
openclaw status, коли це можливо (звертаючись до користувача лише тоді, коли вона не має доступу).