Skip to content

Встановити Основний Пакет Навичок

Ваші агенти активні. Тепер дайте їм перше реальне завдання. BALIA OS постачається з трьома вбудованими навичками, готовими до розгортання.

НавичкаПризначення
lightpandaШвидкий веб-пошук і скрапінг
summarizeАвтоматичне резюмування довгих текстів або веб-сторінок
clawsecМоніторинг безпеки та карантин нових навичок

У Розділі 4 ви використали той самий скрипт, щоб встановити Security Guardian. Це другий запуск — він встановлює основний пакет навичок (lightpanda / summarize / clawsec). (Якщо ви ще не завантажили його, поверніться до Розділу 4 і спершу завантажте install_core_pack.py.)

Попросити агента виконати

Вставте це у термінал VS Code і натисніть Enter для виконання.

Що таке Token?

Це рядок після ?token= у посиланні доступу, надісланому вам після покупки.

Приклад: https://guide.baliaos.com/?token=BALIA-XXXX-XXXX-0001 У цьому випадку токен: BALIA-XXXX-XXXX-0001.

Якщо лист не знайдено, зверніться до підтримки.

openclaw agent --agent security-guardian "Будь ласка, виконай наступне:
python install_core_pack.py --lang uk
(Токен буде автоматично зчитано з вашого файлу .env)
Повідом у Discord після завершення."

Ваш агент автономно:

  1. Аутентифікує ваш токен
  2. Завантажить основний пакет навичок (lightpanda / summarize / clawsec)
  3. Розгорне у ~/.opengoat/skills/
  4. Оновить _SKILL_INDEX.md
  5. Повідомить у Discord: «Основний пакет навичок встановлено»

Отримавши підтвердження в Discord, продовжуйте нижче.


Що таке Навички та Касети

Ваші агенти працюють. У них є ідентичності, процедури звітування та канали Discord. Але наразі вони не знають, у якій сфері працюють. Вони не знають, чи керують рестораном, чи ведуть торгові операції, чи підтримують юридичну практику.

Навички — це файли знань, які ви пишете і передаєте своїм агентам. Кожна навичка навчає агента виконувати конкретне завдання — керувати бронюваннями, формувати звіт про прибутки та збитки, складати публікацію для SNS. Чим більше навичок ви даєте агенту, тим більше він може робити.

Cassette — це папка навичок, зібраних разом навколо однієї теми. Оператор ресторану може мати cassette restaurant-ops. Автор контенту може мати cassette youtube та cassette social-media. Один і той самий агент може використовувати різні cassette залежно від того, над чим потрібно працювати в конкретний день.

Кожна cassette за замовчуванням увімкнена (ON). Один файл — memory/_SKILL_STATUS.md — містить список усіх cassette з їхнім статусом ON/OFF. Немає «поточного режиму», який потрібно перемикати — усі ваші cassette доступні одночасно, і агент застосовує ту cassette, яка відповідає завданню, яке ви йому дали (її SKILL.md описує, для чого вона призначена). Ви вимикаєте (OFF) cassette лише в рідкісних випадках, коли хочете її призупинити — наприклад, якщо дві cassette конфліктують одна з одною (див. «Якщо дві Cassette конфліктують» нижче).

Це означає:

  • marketing-outreach і ai-meeting-daily можуть одночасно мати статус ON і працювати одночасно
  • Вимкнення (OFF) однієї cassette не впливає на інші
  • Конфігурація агента ніколи не змінюється — змінюється лише STATUS cassette

Структура папки Cassette

$env:USERPROFILE\.opengoat\
├── memory\
│   └── _SKILL_STATUS.md              ← список ON/OFF для кожної cassette
└── skills\
    ├── youtube\
    │   ├── SKILL.md                  ← що робить ця cassette, інструменти, правила
    │   └── WORKFLOW.md                ← покрокові процедури
    ├── restaurant-ops\
    │   ├── SKILL.md
    │   └── WORKFLOW.md
    └── trade\
        ├── SKILL.md
        └── WORKFLOW.md

_SKILL_STATUS.md містить список усіх cassette з їхнім прапором STATUS. Наприклад:

| Cassette Name    | STATUS | Description                  |
|------------------|--------|-------------------------------|
| youtube          | ON     | YouTube content pipeline      |
| trade            | ON     | Market analysis and reporting |

Коли ви даєте агенту інструкцію, він порівнює ваш запит із SKILL.md кожної cassette зі статусом ON і застосовує ту, що найкраще підходить — ви також можете назвати cassette явно («Work in trade mode: ...»), щоб уточнити. Якщо cassette має статус OFF, агент повністю її пропускає, навіть якщо завдання відповідало б їй.

Заплановані завдання (наприклад, щоденна перевірка стану або нічний звіт) виконуються незалежно від того, які cassette увімкнені — вони визначені в AGENTS.md агента, а не в будь-якій cassette.


Вибір AI-рушія

Різні cassette найкраще працюють із різними моделями AI. Налаштуйте це один раз під час створення cassette.

Тип CassetteРекомендований рушійПричина
Крипто-трейдинг / Аналіз ринкуClaudeЛогічне мислення, аналіз закономірностей, зважена оцінка
Програмування / Технічна автоматизаціяClaudeЯкість коду, налагодження, багатокрокова логіка
Юридичні дослідження / Перевірка договорівClaudeРетельне мислення, нюансована мова
Фінанси / Бухгалтерія / ЗвітністьClaudeСтруктурований аналіз, точні розрахунки
Google Sheets / Docs / NotebookLM / DriveGeminiНативна інтеграція з сервісами Google
YouTube / ВідеоконтентGeminiАналізує відео напряму; інтегрується з YouTube Studio
Автоматизація Gmail / CalendarGeminiГлибока інтеграція з Google Workspace
Продажі / Розсилки / КопірайтингGPT-4oПриродна комунікація, генерація листів
Багатомовна комунікаціяGPT-4o або GeminiВисока якість роботи з кількома мовами
E-Commerce / Дослідження продуктівClaude або GPT-4oГлибина досліджень, структурований вивід

Якщо Claude підходить для вашого сценарію використання, ви вже готові — його було налаштовано в Розділі 3.

Для Gemini або GPT-4o вам потрібно додати API-ключ до файлу .env. Інструкції наведено в Кроці 7 AI-консьєржа нижче.


Ідеї навичок за галузями

Не знаєте, які навички створити? Ось відправні точки за сферами використання.

Ресторан / Харчування та напої

  • Управління бронюваннями та щоденне планування
  • Відстеження замовлень постачальників і сповіщення про запаси
  • Публікації в SNS для клієнтів (щоденні страви, події)
  • Моніторинг відгуків і складання відповідей
  • Щотижневий підсумок виручки

E-Commerce / Фізичні товари

  • Генерація описів продуктів
  • Моніторинг цін конкурентів
  • Підсумок статусу замовлень
  • Складання відповідей на запити клієнтів
  • Щомісячна звітність з продажів

Автор контенту / YouTuber

  • Генерація ідей для заголовків і обкладинок
  • Складання структур сценаріїв
  • Управління розкладом публікацій
  • Підсумок показників ефективності
  • Складання відповідей на коментарі спільноти

Фрілансер / Консультант

  • Складання комунікацій із клієнтами
  • Звітування про статус проєктів
  • Відстеження рахунків-фактур і нагадування
  • Перевірка пунктів договорів (позначення незвичних умов)
  • Підсумок обліку робочого часу

Малий бізнес / Загальне

  • Щоденний підсумок операцій
  • Складання комунікацій із персоналом
  • Попередній розгляд юридичних питань (позначення пунктів, що потребують юриста)
  • Фінансовий підсумок на основі чеків і записів
  • Управління комунікаціями з постачальниками

Ваша галузь не входить до цього списку? Це не проблема — AI-консьєрж у цьому розділі допоможе вам визначити власні навички з нуля, виходячи з того, що ви хочете, щоб ваша команда реально робила.


Як працює цей розділ

Рекомендується: Використовуйте prompt AI-консьєржа нижче — він генерує всі файли cassette І створює Python-скрипт налаштування, який автоматично створює все. Після розмови з AI перейдіть до Крок 2 — Запустіть Скрипт Налаштування та запустіть його. Створювати файли вручну не потрібно.

Якщо скрипт налаштування завершився помилкою: AI-консьєрж також показує повний вміст кожного файлу. Ви можете створити файли вручну у VS Code як запасний варіант.

Використовуйте наведений нижче запит до AI-консьєржа, щоб:

  1. Визначити, що ваші агенти мають робити щодня
  2. Вирішити, з якою назвою cassette і режимом почати
  3. Обрати правильний AI-рушій
  4. Згенерувати файли SKILL і WORKFLOW
  5. Налаштувати прапорець _SKILL_STATUS.md
  6. Перевірити, що ваш агент завантажує правильний режим

Вставте запит у ваш чат-AI. Додайте ваш Документ з дизайну команди з Розділу 2.


▶ Вставте це у ваш AI, щоб почати

Додайте ваш Документ з дизайну команди перед відправкою.

Ви допомагаєте мені створити Навички та Cassette для BALIA OS —
багатоагентної операційної системи на основі AI.

Я додав свій Документ з дизайну команди. Прочитайте його перед початком,
щоб дізнатися імена моїх агентів, ролі та структуру workspace.

КОНЦЕПЦІЯ, ЯКУ ПОТРІБНО ЗРОЗУМІТИ ПЕРЕД ПОЧАТКОМ:

Навички — це файли знань, які я пишу і передаю своїм агентам.
Кожна навичка навчає агента виконувати конкретне завдання.

Cassette — це папка навичок, зібраних навколо теми (режиму).
Усі cassette за замовчуванням увімкнені (ON) і можуть працювати
одночасно — мої агенти застосовують ту cassette, яка підходить
до завдання, яке я їм даю.

Один файл — memory/_SKILL_STATUS.md — містить список усіх cassette
зі статусом ON/OFF. Це єдине джерело правди щодо того, які cassette
доступні. Це не «поточний режим» — одночасно ON можуть бути кілька
рядків.

Структура папок:
$env:USERPROFILE/.opengoat/
  memory/
    _SKILL_STATUS.md            ← список ON/OFF, один рядок на cassette
  skills/
    [назва-cassette]/
      SKILL.md                  ← що робить ця cassette, інструменти, правила
      WORKFLOW.md                ← покрокові процедури для цієї cassette

Коли я даю агенту інструкцію:
1. Агент перевіряє, які cassette мають статус ON у memory/_SKILL_STATUS.md
2. Він порівнює мою інструкцію з SKILL.md кожної cassette зі статусом ON
   (або я можу назвати cassette явно, напр. «Work in trade mode: ...»)
3. Він застосовує SKILL.md і WORKFLOW.md відповідної cassette

Заплановані завдання виконуються незалежно від того, які cassette
мають статус ON — вони визначені в AGENTS.md.

Проведіть мене крок за кроком. Ставте одне питання за раз.
Чекайте моєї відповіді, перш ніж рухатись далі.

STEP 1 — Що я хочу, щоб робила моя команда
Запитайте мене: «Опишіть, що ви хочете, щоб ваша AI-команда робила для
вас щодня. Не думайте про те, як — просто опишіть результат, який ви
хочете отримати, і роботу, яку хочете, щоб було виконано.»

Допоможіть мені перетворити мою відповідь на список щонайменше 5
конкретних завдань, що повторюються. Ставте уточнювальні питання, поки
у нас не з'являться конкретні завдання з чітким розкладом (щодня,
щотижня, на запит).

STEP 2 — Призначити завдання агентам
Прочитайте мій Документ з дизайну команди.
Призначте кожне завдання найбільш підходящому агенту відповідно до
його ролі.
Покажіть мені відповідність: «Завдання → Агент»
Запитайте: «Це виглядає правильно? Щось хочете змінити?»

STEP 3 — Назвати cassette (режим)
На основі завдань запропонуйте назву cassette — назву режиму
(коротко, малими літерами, через дефіс: напр. restaurant-ops, youtube,
trade). Це стане назвою папки та новим рядком у memory/_SKILL_STATUS.md.
Попросіть мене підтвердити або запропонувати іншу назву.

STEP 4 — Обрати AI-рушій
Для кожного агента з призначеними завданнями порекомендуйте
найкращий рушій:

- Claude: логіка, аналіз, код, юридичні питання, фінанси, крипто
- Gemini: сервіси Google (Sheets, Docs, Drive, Gmail, Calendar,
  YouTube Studio, NotebookLM) — усе, що в екосистемі Google
- GPT-4o: комерційні листи, розсилки, копірайтинг, природна розмова

Поясніть свою логіку одним реченням на кожного агента.
Якщо всі завдання добре працюють із Claude, підтвердьте, що додаткові
API-ключі не потрібні.
Якщо потрібен Gemini або GPT-4o, зазначте це — ключ ми обробимо в Step 7.

Попросіть мене підтвердити, перш ніж рухатись далі.

STEP 5 — Згенерувати SKILL.md
Згенеруйте файл навичок за такою структурою:

---
# SKILL.md — [назва-cassette]
Версія: 1.0
Останнє оновлення: [сьогоднішня дата]
Головний агент: [ім'я агента]
AI-рушій: [рушій]

## Що робить ця Cassette
[2-3 речення: яку сферу вона охоплює, що виробляє]

## Коли використовувати цю Cassette
[1-2 речення, що описують типи інструкцій, які мають запускати
цю cassette — саме з цим агент порівнює ваші запити]

## Навички в цій Cassette
[Маркований список конкретних навичок — що агент вміє робити]

## Доступні інструменти
[Список інструментів, доступних у цій cassette: веб-пошук,
читання/запис файлів, звітування в Discord, виклики API,
сервіси Google тощо]

## Правила роботи
1. Перед запуском підтвердити, що рядок цієї cassette в
   memory/_SKILL_STATUS.md встановлено в ON. Якщо OFF — повністю
   пропустити, звіт у Discord не потрібен.
2. [Ключове правило, специфічне для цієї сфери]
3. [Ключове правило, специфічне для цієї сфери]
4. Звітувати про всі виконані завдання в Discord перед завершенням сесії.
5. Ніколи не діяти за межами сфери цієї cassette без дозволу Командира.
6. Зберігати всі результати в skills/[назва-cassette]/outputs/

## Що ця Cassette НЕ обробляє
[Конкретні межі — що виходить за межі сфери цієї cassette]

## Формат виводу
[Що виробляє агент: звіти, файли, повідомлення в Discord тощо]
---

Покажіть це повністю. Запитайте, чи потрібні корективи.

STEP 6 — Згенерувати WORKFLOW.md
Згенеруйте файл робочого процесу за такою структурою:

---
# WORKFLOW.md — [назва-cassette]
Версія: 1.0
Останнє оновлення: [сьогоднішня дата]

## Перед початком
1. Підтвердити, що рядок цієї cassette в memory/_SKILL_STATUS.md — ON
2. Завантажити SKILL.md з цієї ж папки

## Процедури завдань

### [Назва завдання 1] — [Розклад]
Тригер: [що запускає це завдання]
Кроки:
1. [Конкретна дія]
2. [Конкретна дія]
3. [Конкретна дія]
Вивід: [що виробляється]
Зберегти в: skills/[назва-cassette]/outputs/
При помилці: [що робити, якщо щось не вдається]

### [Назва завдання 2] — [Розклад]
[Та сама структура]

[Продовжити для всіх завдань]

## Завершення сесії (кожна сесія — обов'язково)
Надіслати звіт про завершення сесії в Discord:
"✅ Сесія [назва-cassette] завершена.
Виконані завдання: [список]
Результати: skills/[назва-cassette]/outputs/
Проблеми: [будь-які помилки]"

## Обробка помилок
Якщо будь-який крок не виконується:
1. Записати точну помилку
2. Продовжити виконання завдань, що залишилися, якщо можливо
3. Включити всі помилки до звіту в Discord наприкінці сесії
4. Не повторювати деструктивні операції без дозволу Командира

## Заплановані завдання
Вони виконуються за власним розкладом незалежно від інших cassette —
вони не залежать від того, чи інші cassette мають статус ON чи OFF.
---

Покажіть це повністю. Запитайте, чи потрібні корективи.

STEP 7 — Налаштування API-ключа (якщо потрібно)
Тільки якщо в Step 4 було рекомендовано Gemini або GPT-4o:

ДЛЯ GEMINI:
«Gemini найкраще підходить для інтеграції з сервісами Google.
Щоб отримати API-ключ:»
1. Перейдіть на https://console.cloud.google.com/
2. Увійдіть зі своїм акаунтом Google
3. Якщо з'явиться пропозиція, ви можете мати право на $300
   безкоштовних кредитів — натисніть «Спробувати безкоштовно»,
   якщо запропоновано
4. У верхньому рядку пошуку введіть «Gemini API» і оберіть його
5. Натисніть «Увімкнути», якщо ще не увімкнено
6. Перейдіть у «Credentials» в лівому меню → «Create Credentials»
   → «API key»
7. Скопіюйте ключ
8. Додайте до файлу .env:
   GOOGLE_API_KEY=ваш-ключ-тут
Підтвердьте: «API-ключ Gemini додано.»

ДЛЯ GPT-4o (OpenAI):
1. Перейдіть на platform.openai.com
2. Увійдіть або створіть акаунт
3. Натисніть на свій профіль → «API keys» → «Create new secret key»
4. Назвіть його «balia-os»
5. Скопіюйте ключ (починається з sk-)
6. Додайте до файлу .env:
   OPENAI_API_KEY=ваш-ключ-тут
Підтвердьте: «API-ключ OpenAI додано.»

Якщо лише Claude: повністю пропустіть цей крок.

STEP 8 — Створити структуру папок cassette
Проведіть мене через створення папок у терміналі VS Code:

Windows:
  cd $env:USERPROFILE\.opengoat\skills
  mkdir [назва-режиму]
  mkdir [назва-режиму]\outputs

Mac:
  mkdir -p ~/.opengoat/skills/[назва-режиму]/outputs

Потім проведіть мене через збереження цих файлів у папку cassette:
- SKILL.md
- WORKFLOW.md

Потім проведіть мене через додавання цієї cassette до
memory/_SKILL_STATUS.md:
«Відкрийте memory/_SKILL_STATUS.md у VS Code. Якщо файл ще не існує,
створіть його з таким заголовком:

# SKILL CASSETTE STATUS
# ON/OFF керується лише в цьому файлі.

| Cassette Name | STATUS | Description |
|---|---|---|

Додайте новий рядок: | [назва-режиму] | ON | [опис в один рядок] |
Збережіть.»

Після того, як усі файли визначено, згенеруйте повний Python-скрипт
налаштування, який створює все автоматично. Скрипт повинен:
- Працювати на Windows і Mac (використовувати os.path.expanduser для ~)
- Створювати всі папки за допомогою os.makedirs(exist_ok=True)
- Записувати SKILL.md і WORKFLOW.md у кодуванні UTF-8
- Додавати (або оновлювати) рядок цієї cassette в
  memory/_SKILL_STATUS.md, створюючи файл із заголовком вище,
  якщо він ще не існує
- Виводити ✅ [назва файлу] для кожного створеного файлу
- Наприкінці вивести "Setup complete."

Скрипт вже містить усі шляхи та вміст файлів заповненими —
користувачу залишається лише запустити його в терміналі VS Code:
  python setup_cassette.py

Скажіть мені: «Скопіюйте цей скрипт, збережіть його як
setup_cassette.py у вашій папці .opengoat, а потім запустіть у
терміналі VS Code. Ви побачите ✅ для кожного створеного файлу.»

STEP 9 — Протестувати cassette
Проведіть мене через надсилання тестової команди, явно назвавши cassette:

openclaw agent --agent ceo "Work in [назва-режиму] mode: будь ласка,
виконай наступне:
1. Підтверди, що memory/_SKILL_STATUS.md показує [назва-режиму] як ON.
2. Завантаж SKILL.md і WORKFLOW.md цієї cassette.
3. Підтверди, що розумієш свої завдання в цій cassette.
4. Опублікуй звіт про готовність у своєму каналі Discord."

Запитайте мене: «Що відповів агент?
Ви побачили звіт про готовність у Discord?»
Якщо так: встановлення cassette підтверджено.
Якщо ні: допоможіть мені усунути несправність.

ФІНАЛЬНИЙ ВИВІД
Коли підтверджено, покажіть це резюме:

---
CASSETTE ВСТАНОВЛЕНО
Назва cassette: [назва-режиму]
Головний агент: [ім'я агента]
Створені файли:
  memory/_SKILL_STATUS.md ✅ (додано рядок: [назва-режиму] — ON)
  skills/[назва-режиму]/SKILL.md ✅
  skills/[назва-режиму]/WORKFLOW.md ✅
  skills/[назва-режиму]/outputs/ ✅
AI-рушій: [рушій]
Додаткові API-ключі: [додано / не потрібні]
Статус: ON — агент підтвердив готовність
---

Готові до Розділу 7.

Почніть зараз. Поставте мені перше питання.

Крок 2 — Запустіть Скрипт Налаштування

Коли AI-консьєрж завершує генерацію файлів cassette, він також генерує Python-скрипт налаштування з уже заповненими шляхами та вмістом.

Що робити:

  1. Скопіюйте Python-скрипт, який генерує AI
  2. Відкрийте термінал VS Code (Ctrl+`` на Windows / Cmd+`` на Mac)
  3. Створіть новий файл з назвою setup_cassette.py у вашій папці .opengoat
  4. Вставте скрипт і збережіть
  5. Запустіть його:
    python setup_cassette.py

Ви побачите ✅ для кожного створеного файлу. Це все — жодного ручного створення файлів, жодної плутанини зі шляхами.

Що скрипт робить автоматично:

  • Створює всю структуру папок
  • Записує SKILL.md і WORKFLOW.md з правильним вмістом
  • Створює папку outputs/
  • Додає рядок цієї cassette до memory/_SKILL_STATUS.md (STATUS: ON)

Якщо ви бачите будь-які ❌ у виводі, скопіюйте помилку і попросіть вашого AI-консьєржа виправити її.


Використання Cassette

Усі cassette за замовчуванням увімкнені (ON) — немає жодного кроку «перемикання». Просто скажіть будь-якому агенту, яку cassette використати, на початку вашої інструкції:

openclaw agent --agent ceo "Work in trade mode: give me today's summary."

Агент порівнює «trade mode» з cassette зі статусом ON у memory/_SKILL_STATUS.md, завантажує SKILL.md і WORKFLOW.md цієї cassette і застосовує їх до вашого запиту. Ви також можете описати завдання, не називаючи cassette — агент автоматично порівнює його з SKILL.md кожної cassette зі статусом ON.

Призупинення cassette: Відкрийте memory/_SKILL_STATUS.md і встановіть STATUS цієї cassette в OFF. Агент буде пропускати її, доки ви знову не увімкнете ON.


Додавання Нових Cassette Пізніше

У міру зростання вашого бізнесу додавайте нові папки cassette:

skills/
├── youtube/
├── trade/
├── restaurant-ops/
└── legal-research/      ← додайте будь-коли

Створюйте кожну нову cassette так само: генеруйте SKILL.md і WORKFLOW.md через AI-консьєржа, запускайте скрипт налаштування. Вона автоматично додається до memory/_SKILL_STATUS.md зі статусом ON — жодного перемикання не потрібно, просто скажіть агенту використовувати її.


Ринок Skills BALIA — Запуск у Q4 2026

Після відкриття ринку стануть доступні дві речі:

Купівля cassette — cassette, розроблені BALIA (Crypto Trade, YouTube, E-Commerce, Polymarket BOT), і cassette спільноти, перевірені та схвалені. Встановлюйте їх у свою папку cassette так само, як і будь-який інший режим.

Продаж cassette — Якщо ви створили cassette, яка працює, подайте її. Кожна заявка проходить аудит безпеки та перевірку ефективності. Після схвалення вона з'являється на ринку і приносить вам дохід щоразу, коли хтось її встановлює.

Деталі на @BALIA_OS у X, коли ринок відкриється.


Система Skill Cassette — керування ВКЛ/ВИКЛ

Вашими cassette керує один файл: memory/_SKILL_STATUS.md. Нові cassette додаються зі статусом ON за замовчуванням.

| Cassette Name       | STATUS | Description                        |
|---------------------|--------|------------------------------------|
| marketing-outreach  | ON     | SNS / email / YouTube outreach     |
| ai-meeting-sales    | ON     | Sales team AI meeting (Leo)        |
| ai-meeting-daily    | ON     | Daily operations meeting           |
| research-market     | ON     | Market research automation         |

Щоб призупинити cassette: Змініть ON на OFF у цьому файлі. Це все.

Коли cassette має статус ON:

  • Будь-який агент, чиє завдання їй відповідає, завантажує цю cassette
  • Виконує завдання
  • Звітує в Discord: "✅ [назва-cassette] executed successfully."

Коли cassette має статус OFF:

  • Агент пропускає її, навіть якщо завдання відповідало б їй
  • Все одно звітує в Discord: "⏭️ [назва-cassette] skipped — STATUS: OFF"

Кожне виконання звітується, незалежно від того, було воно виконано чи ні. Ви завжди знаєте, що сталося.


Якщо дві Cassette конфліктують

Оскільки кожна cassette за замовчуванням увімкнена (ON), можливо, що дві з них перетинаються — наприклад, дві cassette, які обидві публікують у той самий канал Discord, або обидві намагаються використати того самого агента для конфліктуючих завдань одночасно.

Наразі не існує автоматичного виявлення конфліктів. Якщо ви помітите, що дві cassette заважають одна одній, відкрийте memory/_SKILL_STATUS.md і самостійно встановіть одну з них у OFF. Це негайно вирішує конфлікт — агент пропускає будь-яку cassette, позначену OFF.

Автоматичне виявлення конфліктів Security Guardian, з рекомендованим рішенням, заплановане для майбутнього оновлення.


Планування Cassette — виконання за розкладом

Деякі cassette призначені для запуску у фіксований час — щоденні наради, ранкові звіти, щотижневі підсумки. Зареєструйте їх у планувальнику вашої ОС.

Планувальник запускає cassette. Агент перевіряє _SKILL_STATUS.md. Якщо ON → виконує + звіт у Discord. Якщо OFF → пропускає + звіт у Discord.

⚠️ Два правила для запланованих Cassette

  • Завжди називайте cassette/режим безпосередньо в команді реєстрації — планувальник не має іншого способу дізнатися, яку cassette запускати, тож дія тригера повинна це прямо вказувати (див. [назва-cassette] у прикладах нижче).
  • Не реєструйте дві заплановані cassette на той самий часовий слот. Одночасний запуск двох може призвести до конкуренції за того самого агента або той самий канал Discord. Розведіть їх у часі щонайменше на кілька хвилин.

Windows — Планувальник завдань

  1. Відкрийте Планувальник завдань → Створити просте завдання
  2. Ім'я: BALIA_[НазваCassette]
  3. Тригер: Щодня → встановіть свій час (напр. 21:00)
  4. Дія: Запустити програму
    • Програма: openclaw
    • Аргументи: agent --agent [agentid] "Work in [назва-cassette] mode: run today's scheduled task."
    • Запустити в: C:\Users\%USERNAME%\.opengoat
  5. Готово

Щоб призупинити заплановану cassette, не чіпаючи планувальник: → Встановіть STATUS в OFF у _SKILL_STATUS.md. Планувальник все одно спрацює, агент перевірить STATUS, пропустить і прозвітує. Жодних змін у планувальнику не потрібно.


Mac — launchd

Створіть ~/Library/LaunchAgents/com.balia.[назва-cassette].plist:

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.balia.[назва-cassette]</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/openclaw</string>
    <string>agent</string>
    <string>--agent</string>
    <string>[agentid]</string>
    <string>Work in [назва-cassette] mode: run today's scheduled task.</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Hour</key>
    <integer>21</integer>
    <key>Minute</key>
    <integer>0</integer>
  </dict>
</dict>
</plist>

Завантажте його:

launchctl load ~/Library/LaunchAgents/com.balia.[назва-cassette].plist

Щоб призупинити: встановіть STATUS в OFF у _SKILL_STATUS.md. Поведінка така сама, як на Windows.