chore(i18n): refresh uk translations
This commit is contained in:
parent
7c97724330
commit
1c55acad4c
@ -5,33 +5,33 @@ read_when:
|
||||
summary: 'Робочий простір агента: розташування, структура та стратегія резервного копіювання'
|
||||
title: Робочий простір агента
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T18:00:35Z"
|
||||
generated_at: "2026-04-18T03:31:57Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 3735633f1098c733415369f9836fdbbc0bf869636a24ed42e95e6784610d964a
|
||||
source_hash: dd2e74614d8d45df04b1bbda48e2224e778b621803d774d38e4b544195eb234e
|
||||
source_path: concepts/agent-workspace.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Робочий простір агента
|
||||
|
||||
Робочий простір — це дім агента. Це єдиний робочий каталог, що використовується
|
||||
для файлових інструментів і для контексту робочого простору. Тримайте його приватним і ставтеся до нього як до пам’яті.
|
||||
Робочий простір — це домівка агента. Це єдиний робочий каталог, який використовується для
|
||||
інструментів роботи з файлами та для контексту робочого простору. Зберігайте його приватним і ставтеся до нього як до пам’яті.
|
||||
|
||||
Він відокремлений від `~/.openclaw/`, де зберігаються конфігурація, облікові дані та
|
||||
Це окремо від `~/.openclaw/`, де зберігаються конфігурація, облікові дані та
|
||||
сесії.
|
||||
|
||||
**Важливо:** робочий простір є **типовим cwd**, а не жорсткою пісочницею. Інструменти
|
||||
розв’язують відносні шляхи відносно робочого простору, але абсолютні шляхи все ще можуть вести
|
||||
**Важливо:** робочий простір — це **cwd за замовчуванням**, а не жорстка пісочниця. Інструменти
|
||||
розв’язують відносні шляхи відносно робочого простору, але абсолютні шляхи все одно можуть вести
|
||||
в інші місця на хості, якщо пісочницю не ввімкнено. Якщо вам потрібна ізоляція, використовуйте
|
||||
[`agents.defaults.sandbox`](/gateway/sandboxing) (та/або конфігурацію пісочниці для окремого агента).
|
||||
[`agents.defaults.sandbox`](/uk/gateway/sandboxing) (і/або конфігурацію пісочниці для окремого агента).
|
||||
Коли пісочницю ввімкнено і `workspaceAccess` не дорівнює `"rw"`, інструменти працюють
|
||||
усередині робочого простору пісочниці в `~/.openclaw/sandboxes`, а не у вашому робочому просторі хоста.
|
||||
|
||||
## Типове розташування
|
||||
## Розташування за замовчуванням
|
||||
|
||||
- Типово: `~/.openclaw/workspace`
|
||||
- Якщо задано `OPENCLAW_PROFILE` і він не дорівнює `"default"`, типове значення стає
|
||||
- За замовчуванням: `~/.openclaw/workspace`
|
||||
- Якщо встановлено `OPENCLAW_PROFILE` і його значення не `"default"`, розташування за замовчуванням стає
|
||||
`~/.openclaw/workspace-<profile>`.
|
||||
- Перевизначення в `~/.openclaw/openclaw.json`:
|
||||
|
||||
@ -44,12 +44,11 @@ x-i18n:
|
||||
```
|
||||
|
||||
`openclaw onboard`, `openclaw configure` або `openclaw setup` створять
|
||||
робочий простір і додадуть початкові bootstrap-файли, якщо їх немає.
|
||||
Копії початкових даних пісочниці приймають лише звичайні файли всередині робочого простору; псевдоніми symlink/hardlink,
|
||||
що розв’язуються за межі вихідного робочого простору, ігноруються.
|
||||
робочий простір і заповнять його початковими файлами bootstrap, якщо їх немає.
|
||||
Початкове копіювання для пісочниці приймає лише звичайні файли в межах робочого простору; псевдоніми symlink/hardlink,
|
||||
які вказують за межі вихідного робочого простору, ігноруються.
|
||||
|
||||
Якщо ви вже самі керуєте файлами робочого простору, можете вимкнути створення
|
||||
bootstrap-файлів:
|
||||
Якщо ви вже самі керуєте файлами робочого простору, можна вимкнути створення bootstrap-файлів:
|
||||
|
||||
```json5
|
||||
{ agent: { skipBootstrap: true } }
|
||||
@ -57,11 +56,12 @@ bootstrap-файлів:
|
||||
|
||||
## Додаткові папки робочого простору
|
||||
|
||||
У старих установленнях могла бути створена `~/openclaw`. Зберігання кількох каталогів
|
||||
робочого простору може спричинити плутанину з автентифікацією або розходженням стану, оскільки одночасно активним є лише один робочий простір.
|
||||
Старі інсталяції могли створювати `~/openclaw`. Наявність кількох каталогів
|
||||
робочого простору може спричиняти плутанину з автентифікацією або розсинхронізацію стану, оскільки
|
||||
одночасно активний лише один робочий простір.
|
||||
|
||||
**Рекомендація:** залишайте один активний робочий простір. Якщо ви більше не використовуєте
|
||||
додаткові папки, заархівуйте їх або перемістіть до кошика (наприклад `trash ~/openclaw`).
|
||||
**Рекомендація:** тримайте один активний робочий простір. Якщо ви більше не використовуєте
|
||||
додаткові папки, архівуйте їх або перемістіть до кошика (наприклад, `trash ~/openclaw`).
|
||||
Якщо ви навмисно зберігаєте кілька робочих просторів, переконайтеся, що
|
||||
`agents.defaults.workspace` вказує на активний.
|
||||
|
||||
@ -69,24 +69,24 @@ bootstrap-файлів:
|
||||
|
||||
## Карта файлів робочого простору (що означає кожен файл)
|
||||
|
||||
Це стандартні файли, які OpenClaw очікує всередині робочого простору:
|
||||
Ось стандартні файли, які OpenClaw очікує всередині робочого простору:
|
||||
|
||||
- `AGENTS.md`
|
||||
- Операційні інструкції для агента і те, як він має використовувати пам’ять.
|
||||
- Операційні інструкції для агента та правила використання пам’яті.
|
||||
- Завантажується на початку кожної сесії.
|
||||
- Гарне місце для правил, пріоритетів і деталей «як поводитися».
|
||||
- Добре підходить для правил, пріоритетів і деталей «як поводитися».
|
||||
|
||||
- `SOUL.md`
|
||||
- Персона, тон і межі.
|
||||
- Завантажується в кожній сесії.
|
||||
- Посібник: [Посібник з особистості SOUL.md](/concepts/soul)
|
||||
- Посібник: [Посібник з особистості SOUL.md](/uk/concepts/soul)
|
||||
|
||||
- `USER.md`
|
||||
- Хто є користувачем і як до нього звертатися.
|
||||
- Хто такий користувач і як до нього звертатися.
|
||||
- Завантажується в кожній сесії.
|
||||
|
||||
- `IDENTITY.md`
|
||||
- Ім’я агента, вайб і emoji.
|
||||
- Ім’я агента, вайб і емодзі.
|
||||
- Створюється/оновлюється під час bootstrap-ритуалу.
|
||||
|
||||
- `TOOLS.md`
|
||||
@ -94,12 +94,12 @@ bootstrap-файлів:
|
||||
- Не керує доступністю інструментів; це лише рекомендації.
|
||||
|
||||
- `HEARTBEAT.md`
|
||||
- Необов’язковий маленький контрольний список для запусків heartbeat.
|
||||
- Тримайте його коротким, щоб не спалювати токени.
|
||||
- Необов’язковий короткий чекліст для запусків Heartbeat.
|
||||
- Тримайте його коротким, щоб не витрачати токени.
|
||||
|
||||
- `BOOT.md`
|
||||
- Необов’язковий стартовий контрольний список, що виконується під час перезапуску gateway, коли ввімкнено внутрішні хуки.
|
||||
- Тримайте його коротким; для вихідних надсилань використовуйте інструмент message.
|
||||
- Необов’язковий стартовий чекліст, який виконується під час перезапуску Gateway, коли ввімкнено внутрішні хуки.
|
||||
- Тримайте його коротким; для вихідних надсилань використовуйте інструмент повідомлень.
|
||||
|
||||
- `BOOTSTRAP.md`
|
||||
- Одноразовий ритуал першого запуску.
|
||||
@ -108,53 +108,53 @@ bootstrap-файлів:
|
||||
|
||||
- `memory/YYYY-MM-DD.md`
|
||||
- Щоденний журнал пам’яті (один файл на день).
|
||||
- Рекомендовано читати сьогоднішній + вчорашній на початку сесії.
|
||||
- Рекомендовано читати файл за сьогодні + вчора на початку сесії.
|
||||
|
||||
- `MEMORY.md` (необов’язково)
|
||||
- Відібрана довгострокова пам’ять.
|
||||
- Завантажується лише в основній приватній сесії (не в спільних/групових контекстах).
|
||||
- Кураторська довгострокова пам’ять.
|
||||
- Завантажуйте лише в основній приватній сесії (не в спільних/групових контекстах).
|
||||
|
||||
Див. [Пам’ять](/concepts/memory) щодо процесу й автоматичного скидання пам’яті.
|
||||
Див. [Пам’ять](/uk/concepts/memory) щодо робочого процесу та автоматичного скидання пам’яті.
|
||||
|
||||
- `skills/` (необов’язково)
|
||||
- Skills, специфічні для цього робочого простору.
|
||||
- Розташування skills із найвищим пріоритетом для цього робочого простору.
|
||||
- Має перевагу над skills агента проєкту, персональними skills агента, керованими skills, вбудованими skills і `skills.load.extraDirs`, якщо назви збігаються.
|
||||
- Розташування Skills з найвищим пріоритетом для цього робочого простору.
|
||||
- Має пріоритет над skills агента проєкту, персональними skills агента, керованими skills, вбудованими skills і `skills.load.extraDirs`, якщо назви збігаються.
|
||||
|
||||
- `canvas/` (необов’язково)
|
||||
- Файли Canvas UI для відображення вузлів (наприклад `canvas/index.html`).
|
||||
- Файли інтерфейсу Canvas для відображення Node (наприклад, `canvas/index.html`).
|
||||
|
||||
Якщо будь-який bootstrap-файл відсутній, OpenClaw вставляє маркер «відсутній файл» у
|
||||
сесію та продовжує. Великі bootstrap-файли обрізаються під час вставлення;
|
||||
ліміти можна налаштувати через `agents.defaults.bootstrapMaxChars` (типово: 20000) і
|
||||
`agents.defaults.bootstrapTotalMaxChars` (типово: 150000).
|
||||
`openclaw setup` може відновити відсутні типові файли, не перезаписуючи
|
||||
наявні.
|
||||
Якщо будь-який bootstrap-файл відсутній, OpenClaw вставляє в сесію маркер «відсутній файл»
|
||||
і продовжує роботу. Великі bootstrap-файли обрізаються під час вставлення;
|
||||
ліміти можна налаштувати через `agents.defaults.bootstrapMaxChars` (типово: 12000) і
|
||||
`agents.defaults.bootstrapTotalMaxChars` (типово: 60000).
|
||||
`openclaw setup` може відновити відсутні типові файли без перезапису наявних
|
||||
файлів.
|
||||
|
||||
## ЩО НЕ входить до робочого простору
|
||||
## ЩО НЕ знаходиться в робочому просторі
|
||||
|
||||
Це розташовано в `~/.openclaw/` і НЕ повинно потрапляти до репозиторію робочого простору:
|
||||
Ось що зберігається в `~/.openclaw/` і **НЕ** повинно комітитися до репозиторію робочого простору:
|
||||
|
||||
- `~/.openclaw/openclaw.json` (конфігурація)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (профілі автентифікації моделей: OAuth + API keys)
|
||||
- `~/.openclaw/credentials/` (стан каналу/провайдера плюс застарілі дані імпорту OAuth)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (профілі автентифікації моделей: OAuth + API-ключі)
|
||||
- `~/.openclaw/credentials/` (стан каналів/провайдерів плюс застарілі дані імпорту OAuth)
|
||||
- `~/.openclaw/agents/<agentId>/sessions/` (транскрипти сесій + метадані)
|
||||
- `~/.openclaw/skills/` (керовані skills)
|
||||
- `~/.openclaw/skills/` (керовані Skills)
|
||||
|
||||
Якщо вам потрібно перенести сесії або конфігурацію, копіюйте їх окремо й не включайте
|
||||
до системи контролю версій.
|
||||
Якщо вам потрібно перенести сесії або конфігурацію, копіюйте їх окремо й не
|
||||
додавайте до системи контролю версій.
|
||||
|
||||
## Резервне копіювання через Git (рекомендовано, приватне)
|
||||
## Резервне копіювання через Git (рекомендовано, приватно)
|
||||
|
||||
Ставтеся до робочого простору як до приватної пам’яті. Помістіть його в **приватний** git-репозиторій, щоб мати
|
||||
резервну копію й можливість відновлення.
|
||||
Ставтеся до робочого простору як до приватної пам’яті. Помістіть його в **приватний** git-репозиторій, щоб
|
||||
мати резервну копію та можливість відновлення.
|
||||
|
||||
Виконуйте ці кроки на машині, де працює Gateway (саме там розташований
|
||||
робочий простір).
|
||||
Виконуйте ці кроки на машині, де працює Gateway (саме там
|
||||
розташований робочий простір).
|
||||
|
||||
### 1) Ініціалізуйте репозиторій
|
||||
|
||||
Якщо git установлено, абсолютно нові робочі простори ініціалізуються автоматично. Якщо цей
|
||||
Якщо git встановлено, абсолютно нові робочі простори ініціалізуються автоматично. Якщо цей
|
||||
робочий простір ще не є репозиторієм, виконайте:
|
||||
|
||||
```bash
|
||||
@ -164,12 +164,12 @@ git add AGENTS.md SOUL.md TOOLS.md IDENTITY.md USER.md HEARTBEAT.md memory/
|
||||
git commit -m "Add agent workspace"
|
||||
```
|
||||
|
||||
### 2) Додайте приватний remote (варіанти для початківців)
|
||||
### 2) Додайте приватний remote (зручні варіанти для початківців)
|
||||
|
||||
Варіант A: GitHub web UI
|
||||
Варіант A: веб-інтерфейс GitHub
|
||||
|
||||
1. Створіть новий **приватний** репозиторій на GitHub.
|
||||
2. Не ініціалізуйте його з README (це дозволить уникнути конфліктів злиття).
|
||||
2. Не ініціалізуйте його README (це допоможе уникнути конфліктів злиття).
|
||||
3. Скопіюйте HTTPS URL remote.
|
||||
4. Додайте remote і виконайте push:
|
||||
|
||||
@ -186,10 +186,10 @@ gh auth login
|
||||
gh repo create openclaw-workspace --private --source . --remote origin --push
|
||||
```
|
||||
|
||||
Варіант C: GitLab web UI
|
||||
Варіант C: веб-інтерфейс GitLab
|
||||
|
||||
1. Створіть новий **приватний** репозиторій на GitLab.
|
||||
2. Не ініціалізуйте його з README (це дозволить уникнути конфліктів злиття).
|
||||
2. Не ініціалізуйте його README (це допоможе уникнути конфліктів злиття).
|
||||
3. Скопіюйте HTTPS URL remote.
|
||||
4. Додайте remote і виконайте push:
|
||||
|
||||
@ -212,14 +212,14 @@ git push
|
||||
|
||||
Навіть у приватному репозиторії уникайте зберігання секретів у робочому просторі:
|
||||
|
||||
- API keys, OAuth tokens, паролі або приватні облікові дані.
|
||||
- Усе, що знаходиться в `~/.openclaw/`.
|
||||
- Сирі дампи чатів або чутливі вкладення.
|
||||
- API-ключів, OAuth-токенів, паролів або приватних облікових даних.
|
||||
- Будь-чого з `~/.openclaw/`.
|
||||
- Сирих дампів чатів або чутливих вкладень.
|
||||
|
||||
Якщо вам обов’язково потрібно зберігати чутливі посилання, використовуйте заповнювачі й тримайте справжній
|
||||
секрет в іншому місці (менеджер паролів, змінні середовища або `~/.openclaw/`).
|
||||
Якщо вам все ж потрібно зберігати чутливі посилання, використовуйте заповнювачі, а справжній
|
||||
секрет зберігайте деінде (у менеджері паролів, змінних середовища або `~/.openclaw/`).
|
||||
|
||||
Рекомендований початковий `.gitignore`:
|
||||
Рекомендований початковий варіант `.gitignore`:
|
||||
|
||||
```gitignore
|
||||
.DS_Store
|
||||
@ -232,21 +232,21 @@ git push
|
||||
## Перенесення робочого простору на нову машину
|
||||
|
||||
1. Клонуйте репозиторій у потрібний шлях (типово `~/.openclaw/workspace`).
|
||||
2. Установіть `agents.defaults.workspace` на цей шлях у `~/.openclaw/openclaw.json`.
|
||||
3. Запустіть `openclaw setup --workspace <path>`, щоб додати всі відсутні файли.
|
||||
2. Встановіть `agents.defaults.workspace` на цей шлях у `~/.openclaw/openclaw.json`.
|
||||
3. Виконайте `openclaw setup --workspace <path>`, щоб створити відсутні файли.
|
||||
4. Якщо вам потрібні сесії, окремо скопіюйте `~/.openclaw/agents/<agentId>/sessions/` зі
|
||||
старої машини.
|
||||
|
||||
## Додаткові примітки
|
||||
|
||||
- Маршрутизація кількох агентів може використовувати різні робочі простори для різних агентів. Див.
|
||||
[Маршрутизація каналів](/channels/channel-routing) щодо конфігурації маршрутизації.
|
||||
- Багатоагентна маршрутизація може використовувати різні робочі простори для різних агентів. Див.
|
||||
[Маршрутизація каналів](/uk/channels/channel-routing) щодо конфігурації маршрутизації.
|
||||
- Якщо ввімкнено `agents.defaults.sandbox`, неосновні сесії можуть використовувати робочі простори
|
||||
пісочниці для окремих сесій у `agents.defaults.sandbox.workspaceRoot`.
|
||||
пісочниці для кожної сесії в `agents.defaults.sandbox.workspaceRoot`.
|
||||
|
||||
## Пов’язане
|
||||
## Пов’язані матеріали
|
||||
|
||||
- [Standing Orders](/automation/standing-orders) — постійні інструкції у файлах робочого простору
|
||||
- [Heartbeat](/gateway/heartbeat) — файл робочого простору HEARTBEAT.md
|
||||
- [Session](/concepts/session) — шляхи зберігання сесій
|
||||
- [Sandboxing](/gateway/sandboxing) — доступ до робочого простору в середовищах із пісочницею
|
||||
- [Standing Orders](/uk/automation/standing-orders) — постійні інструкції у файлах робочого простору
|
||||
- [Heartbeat](/uk/gateway/heartbeat) — файл робочого простору HEARTBEAT.md
|
||||
- [Session](/uk/concepts/session) — шляхи зберігання сесій
|
||||
- [Sandboxing](/uk/gateway/sandboxing) — доступ до робочого простору в середовищах із пісочницею
|
||||
|
||||
@ -2,50 +2,50 @@
|
||||
read_when:
|
||||
- Ви хочете зрозуміти, що означає «контекст» в OpenClaw
|
||||
- Ви налагоджуєте, чому модель «знає» щось (або забула це)
|
||||
- Ви хочете зменшити накладні витрати контексту (/context, /status, /compact)
|
||||
- Ви хочете зменшити накладні витрати контексту (`/context`, `/status`, `/compact`)
|
||||
summary: 'Контекст: що бачить модель, як її побудовано та як її перевірити'
|
||||
title: Контекст
|
||||
x-i18n:
|
||||
generated_at: "2026-04-12T18:22:02Z"
|
||||
generated_at: "2026-04-18T03:32:03Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 3620db1a8c1956d91a01328966df491388d3a32c4003dc4447197eb34316c77d
|
||||
source_hash: 477ccb1d9654968d0e904b6846b32b8c14db6b6c0d3d2ec2b7409639175629f9
|
||||
source_path: concepts/context.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Контекст
|
||||
|
||||
«Контекст» — це **все, що OpenClaw надсилає моделі для одного запуску**. Його обмежує **вікно контексту** моделі (ліміт токенів).
|
||||
«Контекст» — це **все, що OpenClaw надсилає моделі для запуску**. Його обмежує **вікно контексту** моделі (ліміт токенів).
|
||||
|
||||
Ментальна модель для початківців:
|
||||
|
||||
- **Системний промпт** (побудований OpenClaw): правила, інструменти, список Skills, час/середовище виконання та впроваджені файли робочого простору.
|
||||
- **Історія розмови**: ваші повідомлення + повідомлення помічника в цій сесії.
|
||||
- **Системний промпт** (побудований OpenClaw): правила, інструменти, список Skills, час/середовище виконання та вбудовані файли робочого простору.
|
||||
- **Історія розмови**: ваші повідомлення + повідомлення асистента для цієї сесії.
|
||||
- **Виклики/результати інструментів + вкладення**: вивід команд, читання файлів, зображення/аудіо тощо.
|
||||
|
||||
Контекст _не є тим самим_, що й «пам’ять»: пам’ять може зберігатися на диску та повторно завантажуватися пізніше; контекст — це те, що знаходиться всередині поточного вікна моделі.
|
||||
Контекст _не те саме_, що й «пам’ять»: пам’ять може зберігатися на диску та перезавантажуватися пізніше; контекст — це те, що знаходиться в поточному вікні моделі.
|
||||
|
||||
## Швидкий старт (перевірка контексту)
|
||||
|
||||
- `/status` → швидкий перегляд «наскільки заповнене моє вікно?» + налаштування сесії.
|
||||
- `/context list` → що впроваджується + приблизні розміри (для кожного файлу + підсумки).
|
||||
- `/context detail` → глибший розбір: розміри для кожного файлу, для кожної схеми інструмента, для кожного запису Skills і розмір системного промпту.
|
||||
- `/usage tokens` → додає виноску з використанням токенів до звичайних відповідей.
|
||||
- `/context list` → що вбудовано + приблизні розміри (для кожного файлу + загалом).
|
||||
- `/context detail` → глибший розбір: для кожного файлу, розміри схем інструментів, розміри записів Skills і розмір системного промпту.
|
||||
- `/usage tokens` → додає нижній колонтитул із використанням до звичайних відповідей.
|
||||
- `/compact` → підсумовує старішу історію в компактний запис, щоб звільнити місце у вікні.
|
||||
|
||||
Див. також: [Косі команди](/uk/tools/slash-commands), [Використання токенів і вартість](/uk/reference/token-use), [Compaction](/uk/concepts/compaction).
|
||||
Див. також: [Слеш-команди](/uk/tools/slash-commands), [Використання токенів і витрати](/uk/reference/token-use), [Compaction](/uk/concepts/compaction).
|
||||
|
||||
## Приклад виводу
|
||||
|
||||
Значення відрізняються залежно від моделі, провайдера, політики інструментів і того, що є у вашому робочому просторі.
|
||||
Значення залежать від моделі, провайдера, політики інструментів і того, що є у вашому робочому просторі.
|
||||
|
||||
### `/context list`
|
||||
|
||||
```
|
||||
🧠 Розбір контексту
|
||||
🧠 Context breakdown
|
||||
Workspace: <workspaceDir>
|
||||
Bootstrap max/file: 20,000 chars
|
||||
Bootstrap max/file: 12,000 chars
|
||||
Sandbox: mode=non-main sandboxed=false
|
||||
System prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))
|
||||
|
||||
@ -70,7 +70,7 @@ Session tokens (cached): 14,250 total / ctx=32,000
|
||||
### `/context detail`
|
||||
|
||||
```
|
||||
🧠 Детальний розбір контексту
|
||||
🧠 Context breakdown (detailed)
|
||||
…
|
||||
Top skills (prompt entry size):
|
||||
- frontend-design: 412 chars (~103 tok)
|
||||
@ -83,33 +83,33 @@ Top tools (schema size):
|
||||
… (+N more tools)
|
||||
```
|
||||
|
||||
## Що зараховується до вікна контексту
|
||||
## Що враховується у вікні контексту
|
||||
|
||||
Зараховується все, що отримує модель, зокрема:
|
||||
Усе, що отримує модель, зараховується, зокрема:
|
||||
|
||||
- Системний промпт (усі розділи).
|
||||
- Історія розмови.
|
||||
- Виклики інструментів + результати інструментів.
|
||||
- Вкладення/транскрипти (зображення/аудіо/файли).
|
||||
- Підсумки Compaction і артефакти обрізання.
|
||||
- «Обгортки» провайдера або приховані заголовки (не видно, але все одно зараховуються).
|
||||
- «Обгортки» провайдера або приховані заголовки (не видимі, але все одно враховуються).
|
||||
|
||||
## Як OpenClaw будує системний промпт
|
||||
|
||||
Системний промпт **належить OpenClaw** і перебудовується для кожного запуску. Він містить:
|
||||
Системний промпт **належить OpenClaw** і перебудовується для кожного запуску. Він включає:
|
||||
|
||||
- Список інструментів + короткі описи.
|
||||
- Список Skills (лише метадані; див. нижче).
|
||||
- Розташування робочого простору.
|
||||
- Час (UTC + перетворений час користувача, якщо налаштовано).
|
||||
- Метадані середовища виконання (хост/ОС/модель/мислення).
|
||||
- Впроваджені файли bootstrap робочого простору в розділі **Project Context**.
|
||||
- Вбудовані bootstrap-файли робочого простору в розділі **Project Context**.
|
||||
|
||||
Повний розбір: [Системний промпт](/uk/concepts/system-prompt).
|
||||
Повний розбір: [System Prompt](/uk/concepts/system-prompt).
|
||||
|
||||
## Впроваджені файли робочого простору (Project Context)
|
||||
## Вбудовані файли робочого простору (Project Context)
|
||||
|
||||
Типово OpenClaw впроваджує фіксований набір файлів робочого простору (якщо вони є):
|
||||
За замовчуванням OpenClaw вбудовує фіксований набір файлів робочого простору (якщо вони присутні):
|
||||
|
||||
- `AGENTS.md`
|
||||
- `SOUL.md`
|
||||
@ -119,68 +119,67 @@ Top tools (schema size):
|
||||
- `HEARTBEAT.md`
|
||||
- `BOOTSTRAP.md` (лише під час першого запуску)
|
||||
|
||||
Великі файли обрізаються для кожного файлу окремо за допомогою `agents.defaults.bootstrapMaxChars` (типово `20000` символів). OpenClaw також застосовує загальне обмеження на сумарний обсяг впровадження bootstrap для всіх файлів через `agents.defaults.bootstrapTotalMaxChars` (типово `150000` символів). `/context` показує розміри **raw vs injected** і те, чи відбулося обрізання.
|
||||
Великі файли обрізаються для кожного файлу окремо за допомогою `agents.defaults.bootstrapMaxChars` (типово `12000` символів). OpenClaw також застосовує загальний ліміт вбудовування bootstrap для всіх файлів через `agents.defaults.bootstrapTotalMaxChars` (типово `60000` символів). `/context` показує розміри **raw vs injected** і те, чи відбулося обрізання.
|
||||
|
||||
Коли відбувається обрізання, середовище виконання може впровадити попереджувальний блок прямо в промпт у розділі Project Context. Налаштуйте це через `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; типово `once`).
|
||||
Коли відбувається обрізання, середовище виконання може вбудувати в промпт блок попередження в розділі Project Context. Це налаштовується через `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; типово `once`).
|
||||
|
||||
## Skills: впроваджуються чи завантажуються на вимогу
|
||||
## Skills: вбудовані чи завантажувані на вимогу
|
||||
|
||||
Системний промпт містить компактний **список Skills** (назва + опис + розташування). Цей список має реальні накладні витрати.
|
||||
Системний промпт містить компактний **список Skills** (назва + опис + розташування). Цей список створює реальні накладні витрати.
|
||||
|
||||
Інструкції Skills _типово не включаються_. Очікується, що модель викличе `read` для `SKILL.md` цього Skills **лише за потреби**.
|
||||
Інструкції Skills _не_ включаються за замовчуванням. Очікується, що модель викличе `read` для `SKILL.md` потрібного Skill **лише за потреби**.
|
||||
|
||||
## Інструменти: є дві складові вартості
|
||||
|
||||
Інструменти впливають на контекст двома способами:
|
||||
|
||||
1. **Текст списку інструментів** у системному промпті (те, що ви бачите як «Tooling»).
|
||||
2. **Схеми інструментів** (JSON). Вони надсилаються моделі, щоб вона могла викликати інструменти. Вони зараховуються до контексту, навіть якщо ви не бачите їх як звичайний текст.
|
||||
2. **Схеми інструментів** (JSON). Вони надсилаються моделі, щоб вона могла викликати інструменти. Вони враховуються в контексті, хоча ви не бачите їх як звичайний текст.
|
||||
|
||||
`/context detail` розбиває найбільші схеми інструментів, щоб ви могли побачити, що домінує.
|
||||
|
||||
## Команди, директиви та "вбудовані скорочення"
|
||||
## Команди, директиви та «вбудовані скорочення»
|
||||
|
||||
Косі команди обробляє Gateway. Є кілька різних варіантів поведінки:
|
||||
Слеш-команди обробляються Gateway. Є кілька різних варіантів поведінки:
|
||||
|
||||
- **Окремі команди**: повідомлення, яке складається лише з `/...`, виконується як команда.
|
||||
- **Директиви**: `/think`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/model`, `/queue` видаляються до того, як модель побачить повідомлення.
|
||||
- **Директиви**: `/think`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/model`, `/queue` вилучаються до того, як модель побачить повідомлення.
|
||||
- Повідомлення, що містять лише директиви, зберігають налаштування сесії.
|
||||
- Вбудовані директиви у звичайному повідомленні діють як підказки лише для цього повідомлення.
|
||||
- **Вбудовані скорочення** (лише для відправників із allowlist): певні токени `/...` усередині звичайного повідомлення можуть виконуватися негайно (наприклад: “hey /status”), і видаляються до того, як модель побачить решту тексту.
|
||||
- Вбудовані директиви у звичайному повідомленні працюють як підказки для конкретного повідомлення.
|
||||
- **Вбудовані скорочення** (лише для відправників із allowlist): певні токени `/...` усередині звичайного повідомлення можуть виконуватися негайно (приклад: «hey /status»), і вилучаються до того, як модель побачить решту тексту.
|
||||
|
||||
Докладніше: [Косі команди](/uk/tools/slash-commands).
|
||||
Докладніше: [Слеш-команди](/uk/tools/slash-commands).
|
||||
|
||||
## Сесії, Compaction та обрізання (що зберігається)
|
||||
## Сесії, Compaction і pruning (що зберігається)
|
||||
|
||||
Що зберігається між повідомленнями, залежить від механізму:
|
||||
Те, що зберігається між повідомленнями, залежить від механізму:
|
||||
|
||||
- **Звичайна історія** зберігається в транскрипті сесії, доки не буде стиснена/обрізана згідно з політикою.
|
||||
- **Compaction** зберігає підсумок у транскрипті й залишає недавні повідомлення недоторканими.
|
||||
- **Pruning** видаляє старі результати інструментів із _внутрішньопам’ятного_ промпту для запуску, але не переписує транскрипт.
|
||||
- **Звичайна історія** зберігається в транскрипті сесії, доки не буде стиснена/обрізана політикою.
|
||||
- **Compaction** зберігає підсумок у транскрипті та залишає недавні повідомлення недоторканими.
|
||||
- **Pruning** видаляє старі результати інструментів із _контексту в пам’яті_ для запуску, але не переписує транскрипт.
|
||||
|
||||
Документація: [Сесія](/uk/concepts/session), [Compaction](/uk/concepts/compaction), [Обрізання сесії](/uk/concepts/session-pruning).
|
||||
Документація: [Session](/uk/concepts/session), [Compaction](/uk/concepts/compaction), [Session pruning](/uk/concepts/session-pruning).
|
||||
|
||||
Типово OpenClaw використовує вбудований рушій контексту `legacy` для збирання
|
||||
та compaction. Якщо ви встановите Plugin, який надає `kind: "context-engine"` і
|
||||
виберете його через `plugins.slots.contextEngine`, OpenClaw натомість делегує
|
||||
збирання контексту, `/compact` і пов’язані хуки життєвого циклу контексту
|
||||
субагента цьому рушію. `ownsCompaction: false` не викликає автоматичного
|
||||
повернення до рушія legacy; активний рушій усе одно має правильно реалізовувати `compact()`. Див.
|
||||
За замовчуванням OpenClaw використовує вбудований рушій контексту `legacy` для збирання
|
||||
та compaction. Якщо ви встановите Plugin, який надає `kind: "context-engine"`, і
|
||||
виберете його через `plugins.slots.contextEngine`, OpenClaw натомість делегує збирання контексту, `/compact` і пов’язані хуки життєвого циклу контексту субагента цьому
|
||||
рушію. `ownsCompaction: false` не вмикає автоматичний fallback до рушія legacy;
|
||||
активний рушій усе одно має коректно реалізовувати `compact()`. Див.
|
||||
[Context Engine](/uk/concepts/context-engine), щоб ознайомитися з повним
|
||||
підключуваним інтерфейсом, хуками життєвого циклу та конфігурацією.
|
||||
|
||||
## Що насправді показує `/context`
|
||||
|
||||
`/context` надає перевагу найновішому звіту про системний промпт, **побудованому під час запуску**, якщо він доступний:
|
||||
`/context` за можливості використовує найновіший звіт про системний промпт, **побудований під час запуску**:
|
||||
|
||||
- `System prompt (run)` = захоплено з останнього вбудованого запуску (з підтримкою інструментів) і збережено в сховищі сесії.
|
||||
- `System prompt (estimate)` = обчислено на льоту, коли звіт про запуск відсутній (або під час запуску через бекенд CLI, який не генерує цей звіт).
|
||||
- `System prompt (run)` = захоплено з останнього вбудованого запуску (зі здатністю виклику інструментів) і збережено в сховищі сесії.
|
||||
- `System prompt (estimate)` = обчислено на льоту, коли звіт запуску відсутній (або під час роботи через бекенд CLI, який не створює звіт).
|
||||
|
||||
У будь-якому разі він повідомляє про розміри та найбільших учасників; він **не** виводить повний системний промпт або схеми інструментів.
|
||||
У будь-якому разі він показує розміри та найбільші складові; він **не** виводить повний системний промпт або схеми інструментів.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Context Engine](/uk/concepts/context-engine) — власне впровадження контексту через plugins
|
||||
- [Context Engine](/uk/concepts/context-engine) — власне вбудовування контексту через plugins
|
||||
- [Compaction](/uk/concepts/compaction) — підсумовування довгих розмов
|
||||
- [Системний промпт](/uk/concepts/system-prompt) — як будується системний промпт
|
||||
- [Цикл агента](/uk/concepts/agent-loop) — повний цикл виконання агента
|
||||
- [System Prompt](/uk/concepts/system-prompt) — як будується системний промпт
|
||||
- [Agent Loop](/uk/concepts/agent-loop) — повний цикл виконання агента
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Редагування тексту системного промпту, списку інструментів або розділів часу/Heartbeat
|
||||
- Зміна поведінки початкового налаштування робочого простору або ін’єкції Skills
|
||||
- Зміна поведінки початкового налаштування робочого простору або впровадження Skills
|
||||
summary: Що містить системний промпт OpenClaw і як він збирається
|
||||
title: Системний промпт
|
||||
x-i18n:
|
||||
generated_at: "2026-04-15T18:07:35Z"
|
||||
generated_at: "2026-04-18T03:32:01Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: c740e4646bc4980567338237bfb55126af0df72499ca00a48e4848d9a3608ab4
|
||||
source_hash: e60705994cebdd9768926168cb1c6d17ab717d7ff02353a5d5e7478ba8191cab
|
||||
source_path: concepts/system-prompt.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -19,81 +19,86 @@ OpenClaw створює власний системний промпт для к
|
||||
|
||||
Промпт збирається OpenClaw і впроваджується в кожен запуск агента.
|
||||
|
||||
Плагіни провайдерів можуть додавати cache-aware настанови для промпту, не замінюючи весь промпт, що належить OpenClaw. Середовище виконання провайдера може:
|
||||
Плагіни провайдерів можуть додавати cache-aware вказівки до промпту, не замінюючи
|
||||
повний промпт, що належить OpenClaw. Середовище виконання провайдера може:
|
||||
|
||||
- замінювати невеликий набір іменованих базових розділів (`interaction_style`,
|
||||
- замінювати невеликий набір іменованих основних секцій (`interaction_style`,
|
||||
`tool_call_style`, `execution_bias`)
|
||||
- впроваджувати **стабільний префікс** над межею кешу промпту
|
||||
- впроваджувати **динамічний суфікс** під межею кешу промпту
|
||||
- впроваджувати **stable prefix** над межею кешу промпту
|
||||
- впроваджувати **dynamic suffix** під межею кешу промпту
|
||||
|
||||
Використовуйте внески, що належать провайдеру, для налаштування під конкретне сімейство моделей. Зберігайте застарілу мутацію промпту `before_prompt_build` для сумісності або справді глобальних змін промпту, а не для звичайної поведінки провайдера.
|
||||
Використовуйте внески, що належать провайдеру, для налаштування під конкретне сімейство моделей. Зберігайте застарілу
|
||||
мутацію промпту `before_prompt_build` для сумісності або справді глобальних змін промпту, а не для звичайної поведінки провайдера.
|
||||
|
||||
## Структура
|
||||
|
||||
Промпт навмисно компактний і використовує фіксовані розділи:
|
||||
Промпт навмисно компактний і використовує фіксовані секції:
|
||||
|
||||
- **Інструменти**: нагадування про джерело істини для структурованих інструментів і настанови щодо використання інструментів під час виконання.
|
||||
- **Безпека**: коротке нагадування про запобіжні обмеження, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду.
|
||||
- **Skills** (коли доступні): пояснює моделі, як завантажувати інструкції Skills за потреби.
|
||||
- **Самооновлення OpenClaw**: як безпечно перевіряти конфігурацію за допомогою
|
||||
`config.schema.lookup`, вносити зміни до конфігурації через `config.patch`, замінювати повну
|
||||
конфігурацію через `config.apply` і запускати `update.run` лише за явним запитом
|
||||
користувача. Інструмент `gateway`, доступний лише власнику, також відмовляється переписувати
|
||||
`tools.exec.ask` / `tools.exec.security`, зокрема застарілі
|
||||
псевдоніми `tools.bash.*`, які нормалізуються до цих захищених шляхів exec.
|
||||
- **Робочий простір**: робочий каталог (`agents.defaults.workspace`).
|
||||
- **Документація**: локальний шлях до документації OpenClaw (репозиторій або npm package) і коли її слід читати.
|
||||
- **Файли робочого простору (впроваджено)**: вказує, що файли bootstrap включено нижче.
|
||||
- **Пісочниця** (коли ввімкнено): вказує на ізольоване середовище виконання, шляхи пісочниці й те, чи доступний exec з підвищеними правами.
|
||||
- **Поточна дата й час**: локальний час користувача, часовий пояс і формат часу.
|
||||
- **Теги відповіді**: необов’язковий синтаксис тегів відповіді для підтримуваних провайдерів.
|
||||
- **Heartbeat**: промпт Heartbeat і поведінка підтвердження, коли Heartbeat увімкнено для стандартного агента.
|
||||
- **Середовище виконання**: хост, ОС, node, модель, корінь репозиторію (коли виявлено), рівень thinking (один рядок).
|
||||
- **Міркування**: поточний рівень видимості + підказка для перемикання `/reasoning`.
|
||||
- **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.
|
||||
|
||||
Розділ «Інструменти» також містить настанови для тривалої роботи під час виконання:
|
||||
Секція Tooling також містить вказівки під час виконання для тривалої роботи:
|
||||
|
||||
- використовуйте Cron для майбутніх повторних дій (`check back later`, нагадування, періодична робота),
|
||||
а не цикли сну через `exec`, трюки із затримкою `yieldMs` або повторне опитування `process`
|
||||
- використовуйте cron для майбутнього повторного звернення (`check back later`, нагадування, повторювана робота)
|
||||
замість циклів sleep через `exec`, хитрощів із затримкою `yieldMs` або повторного
|
||||
опитування `process`
|
||||
- використовуйте `exec` / `process` лише для команд, які запускаються зараз і продовжують працювати
|
||||
у фоновому режимі
|
||||
- коли ввімкнено автоматичне пробудження після завершення, запускайте команду один раз і покладайтеся на
|
||||
push-based механізм пробудження, коли вона виводить результат або завершується помилкою
|
||||
- використовуйте `process` для журналів, стану, введення або втручання, коли потрібно
|
||||
перевірити виконувану команду
|
||||
- якщо завдання більше, віддавайте перевагу `sessions_spawn`; завершення субагента відбувається через
|
||||
push-based механізм і автоматично повідомляється назад запитувачу
|
||||
push-based шлях пробудження, коли вона виведе результат або завершиться з помилкою
|
||||
- використовуйте `process` для журналів, статусу, введення або втручання, коли вам потрібно
|
||||
перевірити команду, що виконується
|
||||
- якщо завдання більше, віддавайте перевагу `sessions_spawn`; завершення субагента є
|
||||
push-based і автоматично анонсується назад запитувачу
|
||||
- не опитуйте `subagents list` / `sessions_list` у циклі лише для очікування
|
||||
завершення
|
||||
|
||||
Коли ввімкнено експериментальний інструмент `update_plan`, розділ «Інструменти» також повідомляє
|
||||
моделі використовувати його лише для нетривіальної багатокрокової роботи, підтримувати рівно один крок
|
||||
`in_progress` і не повторювати весь план після кожного оновлення.
|
||||
Коли ввімкнено експериментальний інструмент `update_plan`, Tooling також повідомляє
|
||||
моделі використовувати його лише для нетривіальної багатоетапної роботи, підтримувати рівно один
|
||||
крок `in_progress` і не повторювати весь план після кожного оновлення.
|
||||
|
||||
Запобіжні обмеження безпеки в системному промпті мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують примусове виконання політики. Для жорсткого забезпечення використовуйте політику інструментів, погодження exec, пісочницю та allowlists каналів; оператори можуть вимкнути це за задумом.
|
||||
Захисні обмеження безпеки в системному промпті є рекомендаційними. Вони спрямовують поведінку моделі, але не забезпечують політику примусово. Для жорсткого забезпечення використовуйте політику інструментів, схвалення exec, sandboxing і allowlist каналів; оператори можуть вимкнути це за задумом.
|
||||
|
||||
У каналах із вбудованими картками/кнопками погодження промпт середовища виконання тепер повідомляє
|
||||
агенту спочатку покладатися на цей вбудований інтерфейс погодження. Він має включати ручну
|
||||
команду `/approve` лише тоді, коли результат інструмента повідомляє, що погодження в чаті недоступні або
|
||||
ручне погодження — єдиний шлях.
|
||||
У каналах із нативними картками/кнопками схвалення runtime-промпт тепер повідомляє
|
||||
агенту спочатку покладатися на цей нативний UI схвалення. Він має включати ручну
|
||||
команду `/approve`, лише коли результат інструмента повідомляє, що схвалення в чаті недоступні або
|
||||
ручне схвалення є єдиним шляхом.
|
||||
|
||||
## Режими промпту
|
||||
|
||||
OpenClaw може формувати менші системні промпти для субагентів. Середовище виконання встановлює
|
||||
`promptMode` для кожного запуску (це не користувацьке налаштування):
|
||||
OpenClaw може рендерити менші системні промпти для субагентів. Середовище виконання задає
|
||||
`promptMode` для кожного запуску (це не користувацький параметр конфігурації):
|
||||
|
||||
- `full` (типово): включає всі розділи вище.
|
||||
- `minimal`: використовується для субагентів; пропускає **Skills**, **Виклик пам’яті**, **Самооновлення OpenClaw**, **Псевдоніми моделей**, **Ідентичність користувача**, **Теги відповіді**,
|
||||
**Обмін повідомленнями**, **Тихі відповіді** і **Heartbeat**. Розділи «Інструменти», **Безпека**,
|
||||
«Робочий простір», «Пісочниця», «Поточна дата й час» (коли відомо), «Середовище виконання» та впроваджений
|
||||
- `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`, додаткові впроваджені промпти позначаються як **Контекст субагента**, а не **Контекст групового чату**.
|
||||
Коли `promptMode=minimal`, додаткові впроваджені промпти позначаються як **Subagent
|
||||
Context** замість **Group Chat Context**.
|
||||
|
||||
## Впровадження bootstrap робочого простору
|
||||
|
||||
Файли bootstrap обрізаються й додаються в розділ **Контекст проєкту**, щоб модель бачила контекст ідентичності та профілю без потреби в явному читанні:
|
||||
Bootstrap-файли обрізаються й додаються в **Project Context**, щоб модель бачила контекст ідентичності та профілю без потреби в явному читанні:
|
||||
|
||||
- `AGENTS.md`
|
||||
- `SOUL.md`
|
||||
@ -101,66 +106,68 @@ OpenClaw може формувати менші системні промпти
|
||||
- `IDENTITY.md`
|
||||
- `USER.md`
|
||||
- `HEARTBEAT.md`
|
||||
- `BOOTSTRAP.md` (лише у зовсім нових робочих просторах)
|
||||
- `MEMORY.md`, якщо наявний, інакше `memory.md` як резервний варіант у нижньому регістрі
|
||||
- `BOOTSTRAP.md` (лише в абсолютно нових робочих просторах)
|
||||
- `MEMORY.md`, якщо присутній, інакше `memory.md` як резервний варіант у нижньому регістрі
|
||||
|
||||
Усі ці файли **впроваджуються у вікно контексту** на кожному ході, якщо не застосовується окремий файловий бар’єр. `HEARTBEAT.md` пропускається під час звичайних запусків, коли Heartbeat вимкнено для стандартного агента або
|
||||
`agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Зберігайте впроваджені
|
||||
файли стислими — особливо `MEMORY.md`, який з часом може зростати й призводити до
|
||||
неочікувано високого використання контексту та частішого Compaction.
|
||||
Усі ці файли **впроваджуються у вікно контексту** на кожному ході, якщо
|
||||
не застосовується обмеження для конкретного файла. `HEARTBEAT.md` пропускається в звичайних запусках, коли
|
||||
Heartbeat вимкнено для агента за замовчуванням або
|
||||
`agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Тримайте впроваджені
|
||||
файли лаконічними — особливо `MEMORY.md`, який може зростати з часом і призводити до
|
||||
неочікувано високого використання контексту та частішої Compaction.
|
||||
|
||||
> **Примітка:** щоденні файли `memory/*.md` **не** входять до звичайного bootstrap
|
||||
> Контексту проєкту. Під час звичайних ходів доступ до них відбувається за потреби через
|
||||
> інструменти `memory_search` і `memory_get`, тому вони не займають
|
||||
> вікно контексту, доки модель явно їх не прочитає. Винятком є прості ходи `/new` і
|
||||
> `/reset`: середовище виконання може додавати недавню щоденну пам’ять як одноразовий блок
|
||||
> стартового контексту для цього першого ходу.
|
||||
> **Примітка:** щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap
|
||||
> Project Context. Під час звичайних ходів до них звертаються за потреби через
|
||||
> інструменти `memory_search` і `memory_get`, тому вони не враховуються у
|
||||
> вікні контексту, якщо модель явно їх не читає. Виняток — прості ходи `/new` і
|
||||
> `/reset`: середовище виконання може додати нещодавню щоденну пам’ять
|
||||
> як одноразовий блок стартового контексту для цього першого ходу.
|
||||
|
||||
Великі файли обрізаються з маркером. Максимальний розмір на файл контролюється через
|
||||
`agents.defaults.bootstrapMaxChars` (типово: 20000). Загальний обсяг упровадженого bootstrap-вмісту
|
||||
Великі файли обрізаються з маркером. Максимальний розмір одного файла контролюється через
|
||||
`agents.defaults.bootstrapMaxChars` (типово: 12000). Загальний обсяг впровадженого bootstrap-контенту
|
||||
для всіх файлів обмежується `agents.defaults.bootstrapTotalMaxChars`
|
||||
(типово: 150000). Для відсутніх файлів упроваджується короткий маркер відсутнього файла. Коли відбувається обрізання,
|
||||
OpenClaw може впровадити блок попередження в Контекст проєкту; це контролюється через
|
||||
(типово: 60000). Відсутні файли впроваджують короткий маркер відсутнього файла. Коли відбувається обрізання,
|
||||
OpenClaw може впровадити блок попередження в Project Context; це контролюється через
|
||||
`agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`;
|
||||
типово: `once`).
|
||||
|
||||
Сеанси субагентів упроваджують лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли
|
||||
Сеанси субагентів впроваджують лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли
|
||||
відфільтровуються, щоб контекст субагента залишався малим).
|
||||
|
||||
Внутрішні hooks можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінювати або замінювати
|
||||
впроваджені bootstrap-файли (наприклад, замінювати `SOUL.md` на альтернативну персону).
|
||||
Внутрішні хуки можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінювати або замінювати
|
||||
впроваджені bootstrap-файли (наприклад, підміняти `SOUL.md` альтернативною персоною).
|
||||
|
||||
Якщо ви хочете, щоб агент звучав менш узагальнено, почніть із
|
||||
[Посібника з особистості SOUL.md](/uk/concepts/soul).
|
||||
Якщо ви хочете, щоб агент звучав менш шаблонно, почніть із
|
||||
[SOUL.md Personality Guide](/uk/concepts/soul).
|
||||
|
||||
Щоб перевірити, який внесок робить кожен впроваджений файл (сирий та впроваджений розмір, обрізання, а також накладні витрати схеми інструментів), використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context).
|
||||
Щоб перевірити, який внесок робить кожен впроваджений файл (сирий проти впровадженого, обрізання, а також накладні витрати схеми інструментів), використовуйте `/context list` або `/context detail`. Див. [Context](/uk/concepts/context).
|
||||
|
||||
## Обробка часу
|
||||
|
||||
Системний промпт містить окремий розділ **Поточна дата й час**, коли відомий
|
||||
часовий пояс користувача. Щоб зберегти стабільність кешу промпту, тепер він містить лише
|
||||
Системний промпт містить окрему секцію **Current Date & Time**, коли
|
||||
відомий часовий пояс користувача. Щоб зберігати стабільність кешу промпту, тепер він включає лише
|
||||
**часовий пояс** (без динамічного годинника чи формату часу).
|
||||
|
||||
Використовуйте `session_status`, коли агенту потрібен поточний час; картка стану
|
||||
містить рядок із часовою позначкою. Той самий інструмент також може за потреби встановити перевизначення моделі для сеансу
|
||||
(`model=default` очищає його).
|
||||
Використовуйте `session_status`, коли агенту потрібен поточний час; картка статусу
|
||||
містить рядок із часовою міткою. Той самий інструмент також може за бажанням встановити
|
||||
перевизначення моделі для сеансу (`model=default` очищує його).
|
||||
|
||||
Налаштовується через:
|
||||
|
||||
- `agents.defaults.userTimezone`
|
||||
- `agents.defaults.timeFormat` (`auto` | `12` | `24`)
|
||||
|
||||
Деталі повної поведінки див. у [Дата й час](/uk/date-time).
|
||||
Див. [Date & Time](/uk/date-time) для повних подробиць поведінки.
|
||||
|
||||
## Skills
|
||||
|
||||
Коли існують відповідні Skills, OpenClaw впроваджує компактний **список доступних Skills**
|
||||
(`formatSkillsForPrompt`), який включає **шлях до файла** для кожного skill. Промпт
|
||||
інструктує модель використовувати `read` для завантаження SKILL.md за вказаним
|
||||
розташуванням (робочий простір, кероване або вбудоване). Якщо відповідних Skills немає,
|
||||
розділ Skills пропускається.
|
||||
Коли існують Skills, що відповідають умовам, OpenClaw впроваджує компактний **available skills list**
|
||||
(`formatSkillsForPrompt`), який містить **шлях до файла** для кожного Skill. Промпт
|
||||
інструктує модель використовувати `read`, щоб завантажити SKILL.md у вказаному
|
||||
розташуванні (робочий простір, кероване або вбудоване). Якщо придатних Skills немає,
|
||||
секція Skills пропускається.
|
||||
|
||||
Відповідність включає перевірки метаданих skill, перевірки середовища виконання/конфігурації
|
||||
Відповідність умовам включає обмеження метаданих Skill, перевірки середовища виконання/конфігурації
|
||||
та ефективний allowlist Skills агента, коли налаштовано `agents.defaults.skills` або
|
||||
`agents.list[].skills`.
|
||||
|
||||
@ -174,26 +181,26 @@ OpenClaw може впровадити блок попередження в Ко
|
||||
</available_skills>
|
||||
```
|
||||
|
||||
Це зберігає базовий промпт малим, водночас усе ще даючи змогу цілеспрямовано використовувати skills.
|
||||
Це зберігає базовий промпт малим, водночас дозволяючи цілеспрямоване використання Skills.
|
||||
|
||||
Бюджет списку Skills належить підсистемі Skills:
|
||||
|
||||
- Глобальне типове значення: `skills.limits.maxSkillsPromptChars`
|
||||
- Перевизначення для окремого агента: `agents.list[].skillsLimits.maxSkillsPromptChars`
|
||||
- Перевизначення для агента: `agents.list[].skillsLimits.maxSkillsPromptChars`
|
||||
|
||||
Загальні обмежені витяги середовища виконання використовують іншу поверхню:
|
||||
Узагальнені обмежені витяги під час виконання використовують іншу поверхню:
|
||||
|
||||
- `agents.defaults.contextLimits.*`
|
||||
- `agents.list[].contextLimits.*`
|
||||
|
||||
Такий поділ зберігає окреме керування розміром Skills і розміром читання/впровадження під час виконання, як-от
|
||||
`memory_get`, живі результати інструментів і оновлення AGENTS.md після Compaction.
|
||||
Такий поділ зберігає розмір Skills окремо від розмірів читання/впровадження під час виконання, таких
|
||||
як `memory_get`, результати live-інструментів і оновлення AGENTS.md після Compaction.
|
||||
|
||||
## Документація
|
||||
## Documentation
|
||||
|
||||
Коли доступно, системний промпт містить розділ **Документація**, який указує на
|
||||
локальний каталог документації OpenClaw (або `docs/` у робочому просторі репозиторію, або документацію у вбудованому npm
|
||||
Коли доступно, системний промпт містить секцію **Documentation**, яка вказує на
|
||||
локальний каталог документації OpenClaw (або `docs/` у робочому просторі репозиторію, або документацію з вбудованого npm
|
||||
package), а також згадує публічне дзеркало, вихідний репозиторій, спільноту Discord і
|
||||
ClawHub ([https://clawhub.ai](https://clawhub.ai)) для пошуку Skills. Промпт інструктує модель спочатку звертатися до локальної документації
|
||||
щодо поведінки OpenClaw, команд, конфігурації чи архітектури, а також
|
||||
самостійно запускати `openclaw status`, коли це можливо (звертаючись до користувача лише тоді, коли доступу немає).
|
||||
щодо поведінки OpenClaw, команд, конфігурації чи архітектури, а також самостійно запускати
|
||||
`openclaw status`, коли це можливо (звертаючись до користувача лише тоді, коли вона не має доступу).
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user