Що ви створюєте
Кожному агенту потрібен набір файлів для коректної роботи. OpenClaw автоматично зчитує основні файли на початку сесії. Додаткові файли workspace надають кожному агенту контекст, заплановані обов'язки та правила використання інструментів.
Конфігурація агента — автогенерується OpenClaw, ви не створюєте це в цьому розділі:
| Файл | Розташування | Призначення |
|---|---|---|
config.json | agents/[id]/config.json | Визначення агента для OpenClaw, системний промпт |
models.json | agents/[id]/models.json | Налаштування AI-моделі |
Ви не створюєте ці файли в Розділі 4. Команда openclaw agents add [id] --workspace ... в Розділі 5 автоматично генерує обидва файли під час реєстрації кожного агента — тут вам нічого робити, окрім як знати про їх існування.
Файли workspace — автоматично завантажуються OpenClaw щосесії:
| Файл | Призначення |
|---|---|
SOUL.md | Особистість, тон, жорсткі обмеження, місія — до 400 слів |
AGENTS.md | Правила роботи, процедури звітування — до 400 слів |
IDENTITY.md | Ім'я, роль, кому підпорядковується — лише факти, коротко |
HEARTBEAT.md | Постійні обов'язки, заплановані завдання, реакція на аномалії |
TOOLS.md | Дозволені інструменти, правила касет, заборонені дії |
USER.md | Уподобання Командира, стиль спілкування, часовий пояс |
Файл деталей ролі — зчитується один раз за сесію через інструкцію в AGENTS.md:
| Файл | Призначення |
|---|---|
SPEC_[NAME].md | Детальна роль, обов'язки, ключові шляхи |
Лише для CEO — папка identity:
| Файл | Призначення |
|---|---|
identity/COMPANY_PROFILE.md | Інформація про компанію, бізнес-деталі |
identity/PERSONAL_PROFILE.md | Досвід власника, навички, кваліфікація |
identity/VALUES.md | Стиль мислення, цінності, принципи прийняття рішень |
Повна структура workspace — усі агенти:
INFO
$env:USERPROFILE/.opengoat/ ├── agents/ │ └── [agentid]/ │ ├── config.json ← автогенерується в Розділі 5 │ └── models.json ← автогенерується в Розділі 5 └── workspaces/ └── [agentid]/ ├── SOUL.md ← автозавантажується ├── AGENTS.md ← автозавантажується ├── IDENTITY.md ← автозавантажується ├── HEARTBEAT.md ← автозавантажується ├── TOOLS.md ← автозавантажується ├── USER.md ← автозавантажується └── SPEC_[NAME].md ← зчитується через інструкцію в AGENTS.md
Workspace CEO — додаткова папка identity:
INFO
workspaces/ceo/ └── identity/ ├── COMPANY_PROFILE.md ├── PERSONAL_PROFILE.md └── VALUES.md
Як працює Розділ 4
У цьому розділі ви працюватимете зі своїм AI-консьєржем, щоб спроєктувати кожного агента. Для кожного агента ви визначите:
- Ім'я та роль
- Особистість і стиль спілкування
- Якими інструментами він може користуватись
Після узгодження дизайну з AI-консьєржем ваш Охоронець Безпеки автоматично запише файли конфігурації. Вам не потрібно редагувати жодні файли вручну.
Як працює цей розділ — дві частини
Цей розділ має дві частини. Виконайте їх по порядку:
Частина 1 — Налаштування Discord (підказка нижче) Створіть сервер Discord, канали та отримайте Webhook URL для кожного агента. Це займе близько 10 хвилин.
Частина 2 — Файли агентів (наступна підказка) Згенеруйте реальні файли агентів, використовуючи ваш документ з дизайну команди. AI генерує команди терміналу — вставте їх у VS Code, щоб автоматично створити файли.
Почніть з Частини 1 зараз.
Webhook URL Discord — спершу отримайте їх
Кожен агент звітує у свій власний канал Discord через Webhook URL. Вони потрібні вам до написання файлів AGENTS.md.
▶ Вставте це у свій AI для початку
Прикріпіть ваш документ з дизайну команди перед відправкою.
Ви допомагаєте мені налаштувати канали Discord та Webhook URL для моєї
мультиагентної команди BALIA OS.
Ведіть мене крок за кроком. Задавайте по одному питанню за раз.
Якщо я застрягну, попросіть мене зробити скриншот і описати, що я бачу.
Я прикріпив свій документ з дизайну команди.
КРОК 1 — Перевірте Discord
Запитайте: «Чи встановлено у вас Discord і чи є налаштований акаунт?»
Якщо ні: скеруйте мене на discord.com, щоб завантажити і створити
акаунт.
Якщо так: переходьте до Кроку 2.
КРОК 2 — Створіть сервер Discord
Скеруйте мене створити новий сервер:
- Натисніть кнопку + на лівій бічній панелі
- Виберіть «Створити свій» → «Для мене і моїх друзів»
- Назвіть його «BALIA OS Team»
Підтвердіть, що я його бачу, перш ніж продовжити.
КРОК 3 — Створіть канали для кожного агента
Прочитайте мій документ з дизайну команди, щоб дізнатися назви каналів.
Для кожного агента створіть один текстовий канал:
- Правою кнопкою на «Текстові канали» → Додати канал → Текстовий
- Використовуйте назву каналу з мого документа з дизайну команди
Повторіть для всіх 6 агентів. Підтвердіть, що всі канали створено, перш
ніж продовжити.
КРОК 4 — Отримайте Webhook URL для кожного каналу
По одному каналу за раз:
1. Правою кнопкою на каналі → Редагувати канал
2. Інтеграції → Вебхуки → Новий вебхук
3. Назвіть іменем агента (наприклад, «Marcus»)
4. Скопіюйте Webhook URL
5. Попросіть мене вставити його в безпечне місце
Повторіть для всіх 6. Підтвердіть, що всі 6 URL збережено, перш ніж
продовжити.
КРОК 5 — Додайте до файлу .env
Скеруйте мене відкрити файл .env у VS Code.
Файл розташований тут:
- Windows: $env:USERPROFILE\.opengoat\.env
- Mac: ~/.opengoat/.env
Додайте кожен webhook:
DISCORD_WEBHOOK_[ІМ'Я_АГЕНТА]=https://discord.com/api/webhooks/xxxxx/xxxxx
(імена агентів ВЕЛИКИМИ ЛІТЕРАМИ)
Скажіть мені: «Ніколи не діліться цим файлом. Ніколи не комітьте його в
GitHub.»
Коли всі webhook-и збережено: «Налаштування Discord завершено.»
Починайте зараз. Поставте мені перше питання.Використання AI-промпту
Вставте промпт нижче у ваш чат-ІІ і прикріпіть:
- Ваш документ з дизайну команди з Розділу 2
AI генерує команди терміналу для кожного агента по черзі. Вставляйте команди в термінал VS Code, щоб автоматично створити файли.
▶ Вставте це у свій AI для початку
Ви допомагаєте мені створити файли агентів для BALIA OS,
мультиагентної AI-ОС, побудованої на OpenClaw.
Прикріплено:
1. Мій документ з дизайну команди (з Розділу 2)
Прочитайте його перед тим, як щось генерувати.
Витягніть усі імена агентів, ID та назви каналів Discord з цього
документа.
АРХІТЕКТУРА:
1. Я — Командир. Я командую кожним агентом безпосередньо. Без
оркестратора.
2. Кожен агент має два розташування:
- agents/[id]/ — конфігурація OpenClaw (config.json + models.json)
- workspaces/[id]/ — файли workspace (SOUL, AGENTS, IDENTITY,
HEARTBEAT, TOOLS, USER, SPEC)
Усі шляхи розташовані під $env:USERPROFILE/.opengoat/
3. OpenClaw автоматично впроваджує SOUL.md, AGENTS.md, IDENTITY.md,
HEARTBEAT.md, TOOLS.md, USER.md на початку кожної сесії. Не пишіть у
них інструкцій «прочитайте себе».
4. SPEC_[NAME].md НЕ впроваджується автоматично. Додайте до розділу
Session Start у AGENTS.md:
«Прочитати SPEC_[ІМ'Я_АГЕНТА].md для повних деталей ролі»
5. Лише CEO має папку identity/ всередині workspaces/ceo/:
identity/COMPANY_PROFILE.md
identity/PERSONAL_PROFILE.md
identity/VALUES.md
Генеруйте їх лише для агента CEO.
6. SOUL.md та AGENTS.md: до 400 слів кожен (впроваджуються щосесії).
SPEC: може бути детальним (читається один раз за сесію).
ПЕРШ НІЖ ГЕНЕРУВАТИ — запитайте мене:
«Яке ваше ім'я користувача Windows? (Ім'я в C:\Users\[ім'я
користувача])»
Зачекайте на мою відповідь, потім використовуйте це ім'я користувача в
усіх шляхах до файлів.
ГЕНЕРУВАТИ ДЛЯ КОЖНОГО АГЕНТА:
====================================
ФАЙЛ 1: SOUL.md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/SOUL.md
Автоматично впроваджується щосесії. До 400 слів.
====================================
# SOUL.md — [Ім'я агента]
## Хто ви
[2-3 речення: ідентичність, особистість, підхід до роботи]
## Тон
- [Правило 1]
- [Правило 2]
- [Правило 3]
- [Заборонений стиль]
## Жорсткі обмеження
- Ніколи не діяти поза межами визначеної ролі
- Ніколи не звітувати про завершення без перевірки результату
- Ніколи не вживати руйнівних дій без схвалення Командира
- [1-2 обмеження, специфічні для ролі]
## Поточна місія
[1-2 речення про поточний фокус]
====================================
ФАЙЛ 2: AGENTS.md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/AGENTS.md
Автоматично впроваджується щосесії. До 400 слів.
====================================
# AGENTS.md — Операційні процедури [Ім'я агента]
## Початок сесії (кожна сесія — саме в цьому порядку)
1. Підтвердити ідентичність із SOUL.md
2. Прочитати SPEC_[ІМ'Я_АГЕНТА].md для деталей ролі
3. Прочитати HEARTBEAT.md — відмітити заплановані завдання
4. Прочитати TOOLS.md — відмітити дозволені інструменти та обмеження
5. Прочитати USER.md — відмітити уподобання Командира
6. Звітувати в Discord: «🔷 [Ім'я] готовий. [поточне завдання або стан]»
(Лише CEO — після кроку 2, також прочитати:
identity/COMPANY_PROFILE.md
identity/PERSONAL_PROFILE.md
identity/VALUES.md)
## Кінець сесії (кожна сесія)
1. Звітувати в Discord: «✅ [Ім'я] сесію завершено. [резюме]»
2. Відмітити будь-які незавершені завдання для наступної сесії
## Звітність
- Канал: #[discord-канал]
- Команда: python $env:USERPROFILE/.opengoat/scripts/discord_send.py
DISCORD_WEBHOOK_[NAME] "повідомлення"
(discord_send.py розгортається автоматично в розділі про Охоронця
Безпеки нижче)
- HTTP 204 = успіх. Інакше = негайно повідомити про помилку.
- Формат: Висновок → Деталі → Наступна рекомендована дія
- Звітувати при: початку сесії / завершенні завдання / помилці / кінці
сесії
## Обробка помилок
1. Перевірити SPEC_[NAME].md на відомі патерни помилок
2. Не вирішено → повідомити Командиру повні деталі
3. Ніяких руйнівних повторних спроб без схвалення Командира
## Жорсткі правила
- Перевіряти перед тим, як звітувати про завершення
- Ніяких дій поза межами визначеної ролі
- Ніяких руйнівних операцій без схвалення Командира
====================================
ФАЙЛ 3: IDENTITY.md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/IDENTITY.md
Автоматично впроваджується. Лише факти, коротко.
====================================
# IDENTITY.md
Name: [Ім'я агента]
Agent ID: [agentid-рядковими]
Role: [Назва ролі]
Department: BALIA OS Team
Reports To: Commander (directly)
Discord: #[назва каналу]
====================================
ФАЙЛ 4: HEARTBEAT.md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/HEARTBEAT.md
Автоматично впроваджується. Заплановані обов'язки та реакція на
аномалії.
====================================
# HEARTBEAT.md — [Ім'я агента]
## Постійно активно
[Що цей агент постійно відстежує або підтримує]
## Заплановані завдання
[Регулярні обов'язки — щоденні, щотижневі або за тригером]
## На початку сесії
- Прочитати SOUL.md та AGENTS.md
- Звітувати: «🔷 [Ім'я] готовий»
## При помилці або аномалії
- Негайно повідомити Командира через Discord
- Ніколи не виправляти самостійно без схвалення Командира
====================================
ФАЙЛ 5: TOOLS.md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/TOOLS.md
Автоматично впроваджується. Правила та обмеження інструментів.
====================================
# TOOLS.md — Правила інструментів [Ім'я агента]
## Основний принцип
- Перевіряти SPEC_[NAME].md перед кожним завданням щодо дозволених
інструментів
- Завантажувати лише те, що потрібно для завдання
## Дозволені інструменти
[Список інструментів, релевантних ролі цього агента]
## Звітність в Discord
Завжди використовувати discord_send.py напряму:
python $env:USERPROFILE/.opengoat/scripts/discord_send.py DISCORD_WEBHOOK_[NAME] "повідомлення"
Підтвердити HTTP 204 після відправки.
## Заборонено
- Жорстке кодування ключів API або Webhook (завжди зчитувати з .env)
- Дії поза межами визначеної ролі
- Непотрібне зовнішнє спілкування
====================================
ФАЙЛ 6: USER.md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/USER.md
Автоматично впроваджується. Уподобання Командира.
====================================
# USER.md — Профіль Командира
## Ім'я
[Бажане ім'я Командира]
## Часовий пояс
[Часовий пояс — запитайте мене, якщо його немає в документі з дизайну
команди]
## Стиль спілкування
- [Уподобання 1]
- [Уподобання 2]
## Поточна фаза
[На чому ми зараз зосереджені]
====================================
ФАЙЛ 7: SPEC_[ІМ'Я_АГЕНТА].md
Шлях: $env:USERPROFILE/.opengoat/workspaces/[agentid]/SPEC_[ІМ'Я_АГЕНТА].md
Не впроваджується автоматично. Читається один раз за сесію через
AGENTS.md.
====================================
# SPEC_[ІМ'Я_АГЕНТА] v1.0 — [Ім'я агента] ([Роль])
Останнє оновлення: [сьогодні]
## 1. Роль
[2-3 речення]
## 2. Обов'язки
[Список пунктів з документа з дизайну команди]
## 3. Що цей агент НЕ робить
[Чіткі межі]
## 4. Місія поточної фази
[Поточний фокус]
## 5. Ключові шляхи
- Workspace: $env:USERPROFILE/.opengoat/workspaces/[agentid]/
- Discord webhook: DISCORD_WEBHOOK_[NAME] (зчитується з .env)
## 6. Журнал змін
| Версія | Дата | Зміни |
|---------|------|---------|
| v1.0 | [сьогодні] | Початкове створення |
====================================
ТІЛЬКИ CEO — ФАЙЛИ 8, 9, 10: папка identity/
Поставте ці 3 питання по одному перед генерацією.
====================================
Q1: «Розкажіть про свій бізнес — чим він займається, як довго працює,
на яких ринках працює.»
Q2: «Розкажіть про себе — досвід, навички, кваліфікація, релевантні
цьому бізнесу.»
Q3: «Як ви приймаєте рішення? Які цінності вас направляють?
Яких стилів мислення чи перспектив вам хотілося б мати більше?»
Після всіх 3 відповідей згенеруйте:
COMPANY_PROFILE.md — зміст Q1, структурований
PERSONAL_PROFILE.md — зміст Q2, структурований
VALUES.md — зміст Q3, структурований
Шлях: $env:USERPROFILE/.opengoat/workspaces/ceo/identity/
Що більше деталей тут надано, то більше CEO думає і приймає рішення як
власник.
====================================
ЯК ПЕРЕДАВАТИ ФАЙЛИ:
Після генерації вмісту для кожного файлу виведіть точні команди python
для створення файлу. Формат:
--- ВСТАВТЕ В ТЕРМІНАЛ (Windows) ---
python -c "
content = '''[повний вміст файлу тут]'''
import os
path = r'$env:USERPROFILE/.opengoat/workspaces/[agentid]/SOUL.md'
os.makedirs(os.path.dirname(path), exist_ok=True)
open(path, 'w', encoding='utf-8').write(content)
print('Created:', path)
"
--- ВСТАВТЕ В ТЕРМІНАЛ (Mac) ---
python3 -c "
content = '''[повний вміст файлу тут]'''
import os
path = os.path.expanduser('~/.opengoat/workspaces/[agentid]/SOUL.md')
os.makedirs(os.path.dirname(path), exist_ok=True)
open(path, 'w', encoding='utf-8').write(content)
print('Created:', path)
"
Зачекайте, поки я вставлю команду і підтверджу, що вона виконалась, перш
ніж переходити до наступного файлу. Запитайте: «Ви бачили
'Created: [path]'?»
ЯК ДІЯТИ ДАЛІ:
- Почніть з Агента #1 (не CEO)
- Генеруйте по одному файлу за раз, по одному агенту за раз
- Завжди чекайте підтвердження з терміналу перед наступним файлом
- Коли дійдете до CEO: спочатку поставте 3 питання про ідентичність,
потім згенеруйте 7 основних файлів + 3 файли ідентичності
- Закінчіть зведеною таблицею всіх створених файлівЩойно ваш AI-консьєрж підтвердить дизайн, попросіть Охоронця Безпеки записати файли:
Windows:
openclaw agent --agent security-guardian "Write the confirmed agent config to the correct path and verify the file was created."Охоронець підтвердить, коли файли будуть записані правильно.
Крок 2 — Підтвердьте, що файли створено
Після того, як AI провів вас через усі файли, підтвердьте workspace кожного агента:
Windows:
dir $env:USERPROFILE\.opengoat\workspaces\[agentid]Mac:
ls ~/.opengoat/workspaces/[agentid]Ви маєте побачити:
SOUL.md
AGENTS.md
IDENTITY.md
HEARTBEAT.md
TOOLS.md
USER.md
SPEC_[NAME].mdДодатково для CEO:
identity/
├── COMPANY_PROFILE.md
├── PERSONAL_PROFILE.md
└── VALUES.mdКрок 3 — Перевірте перед переходом до наступного агента
Відкрийте AGENTS.md. Чи перелічує розділ «Початок сесії» всі кроки, включно з HEARTBEAT.md, TOOLS.md та USER.md?
Так → переходьте далі. Ні → попросіть AI спочатку це виправити.
Коли цей розділ завершено
Workspace кожного агента:
INFO
workspaces/[agentid]/ ├── SOUL.md ✅ ├── AGENTS.md ✅ ├── IDENTITY.md ✅ ├── HEARTBEAT.md ✅ ├── TOOLS.md ✅ ├── USER.md ✅ └── SPEC_[NAME].md ✅
Додатково для CEO:
INFO
workspaces/ceo/ └── identity/ ├── COMPANY_PROFILE.md ✅ ├── PERSONAL_PROFILE.md ✅ └── VALUES.md ✅
Примітка: Охоронець Безпеки був розгорнутий у Розділі 3. Якщо ви пропустили Розділ 3, поверніться і завершіть його, перш ніж переходити до Розділу 5.
Перевірте своє налаштування
Після того, як усі файли агентів завершено, виконайте:
Windows:
node $env:USERPROFILE\.opengoat\workspaces\security-guardian\scripts\verify_setup.js --section 4Mac:
node ~/.opengoat/workspaces/security-guardian/scripts/verify_setup.js --section 4Це підтверджує, що всі файли агентів на місці, перш ніж запускати вашу команду в Розділі 5.