OpenClaw створює власний системний промпт для кожного запуску агента. Промпт належить OpenClaw і не використовує типовий промпт pi-coding-agent. Промпт збирається OpenClaw і впроваджується в кожен запуск агента. Збирання промпта має три шари: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.
buildAgentSystemPromptрендерить промпт з явних вхідних даних. Він має залишатися чистим рендерером і не повинен напряму читати глобальну конфігурацію.resolveAgentSystemPromptConfigвизначає підкріплені конфігурацією параметри промпта, як-от відображення власника, підказки TTS, псевдоніми моделей, режим цитування памʼяті та режим делегування субагентам для конкретного агента.- Адаптери виконання (вбудований, CLI, попередні перегляди команд/експорту, Compaction) збирають актуальні факти, як-от інструменти, стан пісочниці, можливості каналів, контекстні файли та внески провайдера в промпт, а потім викликають налаштований фасад промпта.
- замінити невеликий набір іменованих основних розділів (
interaction_style,tool_call_style,execution_bias) - впровадити стабільний префікс над межею кешу промпта
- впровадити динамічний суфікс під межею кешу промпта
before_prompt_build для сумісності або справді глобальних змін промпта,
а не для звичайної поведінки провайдера.
Накладка сімейства OpenAI GPT-5 зберігає основне правило виконання компактним і додає
специфічні для моделі настанови щодо закріплення персони, стислого виводу, дисципліни інструментів,
паралельного пошуку, покриття результатів, перевірки, браку контексту та
гігієни термінальних інструментів.
Структура
Промпт навмисно компактний і використовує фіксовані розділи:- Інструменти: нагадування про джерело істини для структурованих інструментів плюс runtime-настанови щодо використання інструментів.
- Схильність до виконання: компактні настанови щодо доведення справ до кінця: діяти в межах поточного ходу для дієвих запитів, продовжувати до завершення або блокування, відновлюватися після слабких результатів інструментів, перевіряти змінний стан наживо та виконувати перевірку перед фіналізацією.
- Безпека: коротке нагадування про запобіжники, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду.
- Skills (коли доступні): пояснює моделі, як завантажувати інструкції Skills на вимогу.
- Керування OpenClaw: вказує моделі надавати перевагу інструменту
gatewayдля роботи з конфігурацією/перезапуском і не вигадувати команди CLI. - Самооновлення OpenClaw: як безпечно інспектувати конфігурацію за допомогою
config.schema.lookup, виправляти конфігурацію черезconfig.patch, замінювати повну конфігурацію черезconfig.applyі запускатиupdate.runлише на явний запит користувача. Інструментgatewayлише для власника також відмовляється переписуватиtools.exec.ask/tools.exec.security, включно із застарілими псевдонімамиtools.bash.*, які нормалізуються до цих захищених exec-шляхів. - Робоча область: робочий каталог (
agents.defaults.workspace). - Документація: локальний шлях до docs/source OpenClaw і коли їх читати.
- Файли робочої області (впроваджені): вказує, що bootstrap-файли включено нижче.
- Пісочниця (коли ввімкнено): вказує sandboxed runtime, шляхи пісочниці та чи доступний підвищений exec.
- Поточна дата й час: лише часовий пояс (стабільний для кешу; живий годинник надходить із
session_status). - Директиви виводу асистента: компактний синтаксис вкладень, голосових нотаток і тегів відповіді.
- Heartbeat: промпт Heartbeat і поведінка підтвердження, коли Heartbeat увімкнено для типового агента.
- Runtime: хост, ОС, Node, модель, корінь репозиторію (коли виявлено), рівень мислення (один рядок).
- Міркування: поточний рівень видимості + підказка перемикача /reasoning.
- використовуйте Cron для майбутніх подальших дій (
check back later, нагадування, повторювана робота) замість циклів снуexec, хитрощів із затримкоюyieldMsабо повторного опитуванняprocess - використовуйте
exec/processлише для команд, які запускаються зараз і продовжують працювати у фоновому режимі - коли ввімкнено автоматичне пробудження після завершення, запустіть команду один раз і покладайтеся на push-based шлях пробудження, коли вона виведе дані або завершиться з помилкою
- використовуйте
processдля логів, стану, вводу або втручання, коли потрібно інспектувати команду, що виконується - якщо завдання більше, надавайте перевагу
sessions_spawn; завершення субагента є push-based і автоматично оголошується назад запитувачу - не опитуйте
subagents list/sessions_listу циклі лише для очікування завершення
agents.defaults.subagents.delegationMode може посилити ці настанови. Типовий
режим suggest зберігає базове мʼяке заохочення. prefer додає окремий
розділ Делегування субагентам, який вказує головному агенту діяти як чуйний
координатор і передавати через sessions_spawn усе, що складніше за пряму відповідь.
Це лише промпт; політика інструментів усе ще контролює, чи доступний
sessions_spawn.
Коли експериментальний інструмент update_plan увімкнено, розділ «Інструменти» також вказує
моделі використовувати його лише для нетривіальної багатокрокової роботи, тримати рівно один
крок in_progress і не повторювати весь план після кожного оновлення.
Запобіжники безпеки в системному промпті мають рекомендаційний характер. Вони скеровують поведінку моделі, але не забезпечують примусове виконання політики. Для жорсткого примусу використовуйте політику інструментів, схвалення exec, пісочницю та allowlist каналів; оператори можуть вимикати їх за задумом.
На каналах із нативними картками/кнопками схвалення runtime-промпт тепер вказує
агенту спочатку покладатися на цей нативний UI схвалення. Він має включати ручну
команду /approve лише тоді, коли результат інструмента каже, що схвалення в чаті недоступні або
ручне схвалення є єдиним шляхом.
Режими промпта
OpenClaw може рендерити менші системні промпти для субагентів. Runtime задаєpromptMode для кожного запуску (це не користувацька конфігурація):
full(типовий): включає всі розділи вище.minimal: використовується для субагентів; пропускає Відновлення памʼяті, Самооновлення OpenClaw, Псевдоніми моделей, Ідентичність користувача, Директиви виводу асистента, Повідомлення, Тихі відповіді та Heartbeat. Інструменти, Безпека, Skills, коли надано, Робоча область, Пісочниця, Поточна дата й час (коли відомо), Runtime і впроваджений контекст залишаються доступними.none: повертає лише базовий рядок ідентичності.
promptMode=minimal, додаткові впроваджені промпти позначаються як Контекст субагента
замість Контекст групового чату.
Для запусків автовідповідей у каналі OpenClaw може пропускати загальний розділ Тихі відповіді,
коли контекст прямого/групового чату вже містить визначену
специфічну для розмови поведінку NO_REPLY. Це уникає повторення механіки токенів
і в глобальному системному промпті, і в контексті каналу.
Знімки промпта
OpenClaw зберігає закомічені знімки промпта для щасливого шляху runtime Codex уtest/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/. Вони рендерять
вибрані параметри треду/ходу app-server плюс реконструйований стек шарів промпта, привʼязаного до моделі,
для прямих Telegram, групових Discord і Heartbeat-ходів. Цей стек
містить зафіксовану фікстуру промпта моделі Codex gpt-5.5, згенеровану з форми
каталогу/кешу моделей Codex, developer-текст дозволів щасливого шляху Codex,
developer-інструкції OpenClaw, інструкції режиму співпраці в межах ходу,
коли OpenClaw їх надає, ввід користувацького ходу та посилання на динамічні специфікації інструментів.
Оновлюйте зафіксовану фікстуру промпта моделі Codex за допомогою
pnpm prompt:snapshots:sync-codex-model. Типово скрипт шукає
runtime-кеш Codex у $CODEX_HOME/models_cache.json, потім у
~/.codex/models_cache.json, і лише після цього повертається до конвенції checkout Codex
для мейнтейнера в ~/code/codex/codex-rs/models-manager/models.json. Якщо
жодного з цих джерел не існує, команда завершується без зміни закоміченої
фікстури. Передайте --catalog <path>, щоб оновити з конкретного файлу models_cache.json
або models.json.
Ці знімки все ще не є побайтовим сирим захопленням запиту OpenAI. Codex
може додавати контекст робочої області, що належить runtime, як-от AGENTS.md, контекст
середовища, памʼять, інструкції app/plugin і вбудовані типові
інструкції режиму співпраці всередині runtime Codex після того, як OpenClaw надішле
параметри треду й ходу.
Регенеруйте їх за допомогою pnpm prompt:snapshots:gen і перевіряйте дрейф за допомогою
pnpm prompt:snapshots:check. CI запускає перевірку дрейфу в додатковому
boundary shard, щоб зміни промпта й оновлення знімків залишалися привʼязаними до того самого
PR.
Впровадження bootstrap робочої області
Bootstrap-файли обрізаються й додаються під Контекстом проєкту, щоб модель бачила контекст ідентичності та профілю без потреби явного читання:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(лише в абсолютно нових робочих областях)MEMORY.md, коли наявний
HEARTBEAT.md пропускається у звичайних запусках, коли
Heartbeat вимкнено для типового агента або
agents.defaults.heartbeat.includeSystemPromptSection має значення false. Тримайте впроваджені
файли стислими, особливо MEMORY.md. MEMORY.md призначений залишатися
кураторським довгостроковим підсумком; докладні щоденні нотатки належать до memory/*.md, звідки
memory_search і memory_get можуть отримувати їх на вимогу. Надмірно великі
файли MEMORY.md збільшують використання промпта і можуть бути частково впроваджені через
обмеження bootstrap-файлів нижче.
Коли сесія працює на нативному harness Codex, Codex завантажує AGENTS.md
через власне виявлення проєктної документації. OpenClaw усе ще визначає решту
bootstrap-файлів і передає їх як інструкції конфігурації Codex, тож SOUL.md,
TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md і
MEMORY.md зберігають ту саму роль контексту робочої області без дублювання
AGENTS.md.
Щоденні файли
memory/*.md не є частиною звичайного bootstrap Контексту проєкту. У звичайних ходах до них звертаються на вимогу через інструменти memory_search і memory_get, тому вони не враховуються у вікні контексту, якщо модель явно їх не читає. Виняток становлять прості ходи /new і /reset: runtime може додати нещодавню щоденну памʼять як одноразовий блок стартового контексту для цього першого ходу.agents.defaults.bootstrapMaxChars (типово: 12000). Загальний впроваджений bootstrap-
вміст у всіх файлах обмежено agents.defaults.bootstrapTotalMaxChars
(типово: 60000). Відсутні файли впроваджують короткий маркер відсутнього файлу. Коли відбувається обрізання,
OpenClaw може впровадити стислий попереджувальний notice у системний промпт; керуйте цим за допомогою
agents.defaults.bootstrapPromptTruncationWarning (off, once, always;
типово: once). Докладні сирі/впроваджені лічильники залишаються в діагностиці, як-от
/context, /status, doctor і логи.
Для файлів памʼяті обрізання не є втратою даних: файл залишається цілим на диску,
але модель бачить лише скорочену впроваджену копію, доки напряму не прочитає або не пошукає
памʼять. Якщо MEMORY.md неодноразово обрізається, зведіть його до
коротшого довговічного підсумку й перенесіть докладну історію в memory/*.md, або
свідомо підвищте bootstrap-ліміти.
Сесії субагентів впроваджують лише AGENTS.md і TOOLS.md (інші bootstrap-файли
відфільтровуються, щоб контекст субагента залишався малим).
Внутрішні hooks можуть перехоплювати цей крок через agent:bootstrap, щоб змінити або замінити
впроваджені bootstrap-файли (наприклад, замінити SOUL.md на альтернативну персону).
Якщо ви хочете, щоб агент звучав менш узагальнено, почніть із
SOUL.md Personality Guide.
Щоб перевірити, скільки додає кожен інʼєктований файл (сирий проти інʼєктованого, усічення, а також накладні витрати схеми інструментів), використовуйте /context list або /context detail. Див. Context.
Обробка часу
Системний промпт містить спеціальний розділ Поточна дата й час, коли часовий пояс користувача відомий. Щоб промпт залишався стабільним для кешу, тепер він містить лише часовий пояс (без динамічного годинника чи формату часу). Використовуйтеsession_status, коли агенту потрібен поточний час; картка стану
містить рядок із часовою позначкою. Той самий інструмент також може за потреби встановити перевизначення моделі для окремого сеансу
(model=default очищає його).
Налаштовується через:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
Коли існують придатні Skills, OpenClaw інʼєктує компактний список доступних Skills (formatSkillsForPrompt), який містить шлях до файлу для кожного Skill. Промпт
інструктує модель використовувати read, щоб завантажити SKILL.md у вказаному
місці (робочий простір, кероване або вбудоване). Якщо придатних Skills немає, розділ
Skills пропускається.
Придатність охоплює обмеження метаданих Skill, перевірки середовища виконання/конфігурації
та ефективний allowlist Skills агента, коли налаштовано agents.defaults.skills або
agents.list[].skills.
Skills, вбудовані в Plugin, придатні лише тоді, коли ввімкнено Plugin, якому вони належать.
Це дає змогу Plugin інструментів надавати глибші операційні інструкції без вбудовування всієї
цієї інструктивної інформації безпосередньо в кожен опис інструмента.
- Глобальне значення за замовчуванням:
skills.limits.maxSkillsPromptChars - Перевизначення для окремого агента:
agents.list[].skillsLimits.maxSkillsPromptChars
agents.defaults.contextLimits.*agents.list[].contextLimits.*
memory_get, результати живих інструментів і оновлення AGENTS.md після Compaction.
Документація
Системний промпт містить розділ Документація. Коли доступна локальна документація, він вказує на локальний каталог документації OpenClaw (docs/ у Git checkout або документацію з вбудованого npm
пакета). Якщо локальна документація недоступна, використовується резервний варіант
https://docs.openclaw.ai.
Той самий розділ також містить розташування вихідного коду OpenClaw. Git checkouts показують локальний
корінь вихідного коду, щоб агент міг безпосередньо перевіряти код. Встановлення пакетів містять URL
вихідного коду на GitHub і наказують агенту переглядати код там, коли документація неповна або
застаріла. Промпт також згадує публічне дзеркало документації, спільноту Discord і ClawHub
(https://clawhub.ai) для пошуку Skills. Він наказує моделі
спочатку звертатися до документації щодо поведінки OpenClaw, команд, конфігурації або архітектури, а також
самостійно запускати openclaw status, коли це можливо (запитуючи користувача лише тоді, коли немає доступу).
Зокрема для конфігурації він спрямовує агентів до дії інструмента gateway
config.schema.lookup для точних документів і обмежень на рівні полів, а потім до
docs/gateway/configuration.md і docs/gateway/configuration-reference.md
для ширших настанов.