Skip to content

# 21 — Agent-Only Interface (MicroDAO)

Агентська операційна система замість класичного застосунку

Цей документ описує цільовий інтерфейс MicroDAO, де:

- немає класичного "меню функцій";

- все представлено як учасники: Люди, Агенти, Роботи;

- чати, проєкти, бази знань і доступи — це ресурси, якими керують агенти;

- інвайти, шеринги, права і токени виконуються через агентські дії (з web3-фіксацією, де потрібно).

Це візійний, але достатньо конкретний документ для Cursor:

- UX-специфікація;

- структура layout;

- сценарії;

- задачі для реалізації перших версій.

# 1. Мета

Перетворити MicroDAO на агентську ОС спільнот, де:

- користувач взаємодіє насамперед з агентами, а не з "екранами";

- кожен контекст (канал, проєкт, база даних, DAO-голосування) — це простір, де присутні:

- Люди,

- Агенти,

- (у майбутньому) Роботи;

- запрошення, шеринги, доступи — це:

- діалог з агентом,

- - технічні дії (RBAC, entitlements, web3-транзакції).

# 2. Загальний layout агентської ОС

## 2.1. Лівий сайдбар — Простори та Учасники

Структура:

1. Мої простори (microDAO)

2. `[DAARION Core]`

3. `[GreenFood DAO]`

4. `[Personal Lab]`

5. Учасники

6. Люди

7. Агенти

8. Роботи (поки пусто, плейсхолдер)

9. Активний контекст

Підсвічений простір + "поточний стіл":

- Канал: `#dev-mvp`

- Проєкт: `MicroDAO MVP`

- Простір знань: `Tokenomics`

Сайдбар показує структуру світу, але основні дії йдуть через агентів.

## 2.2. Центр — Діалоговий простір

Центральна колонка завжди є чатом:

- Це може бути:

- канал (`#dev-mvp`),

- група (мультичат),

- DM з людиною,

- або "Agent Hub" (чат з головним агентом).

У заголовку:

- Назва контексту (наприклад, `#dev-mvp`).

- Список учасників (аватари):

- Люди: 2–5

- Агенти: Team Assistant, Messenger Agent, Projects Agent, Governance Agent

- (Роботи, якщо є)

Звідси:

- пишуть люди,

- відповідають агенти,

- запускаються операції над ресурсами (проєктами, БД, токенами).

## 2.3. Правий сайдбар — Контекст і Ресурси

Праворуч:

1. Контекст:

2. Активний простір (microDAO)

3. Поточний канал/проєкт

4. Які агенти мають доступ

5. Ресурси:

6. Проєкти

7. Бази даних / таблиці

8. Простори знань (Co-Memory)

9. Повʼязані гаманці / токени

10. Права та ключі:

11. Список людей та агентів з доступами (read/write/admin/use-in-prompts)

12. Кнопка "Керувати доступами"

13. Інформація про web3-стан (якщо є on-chain записи)

# 3. Панель "Люди / Агенти / Роботи"

## 3.1. Люди

Елементи списку:

- Аватар

- Імʼя

- Статус (online/offline/busy)

- Ролі в microDAO (Member, Guardian, Investor…)

Клік по людині:

- відкриває:

- DM-чат з цією людиною,

- або розширений профіль (у майбутньому):

  - в яких проєктах,

  - з якими агентами працює.

## 3.2. Агенти

Групи:

- Системні агенти:

- Team Assistant

- Messenger Agent

- Projects Agent

- Memory/Knowledge Agent

- Governance/Tokenomics Agent

- Bridge/Integrations Agent

- Користувацькі агенти:

- спеціалізовані боти, створені командою.

- Зовнішні агенти (маркетплейс):

- агенти з інших microDAO або від сторонніх розробників.

Клік по агенту:

- відкриває сторінку агента:

- вкладка "Чат",

- вкладка "Памʼять",

- вкладка "Самонавчання/Еволюція",

- вкладка "Доступи та ресурси" (які проєкти/БД він бачить).

## 3.3. Роботи

Поки може бути просто секція "Роботи (скоро)".

Модель на майбутнє:

- Привʼязані до фізичних пристроїв (робот, сенсор, енергоблок).

- Участь у чатах як окремі "учасники".

- Окремі права на дії у фізичному світі.

# 4. Запрошення агентів до каналів/чатів

## 4.1. UX-флоу

У будь-якому чаті/каналі:

- кнопка "Додати учасника".

При натисканні:

1. Модалка:

2. таби: `Люди | Агенти | Роботи`

3. поле пошуку

4. Вибір Агента:

5. список агентів,

6. короткий опис (роль, профіль, що вміє).

7. Налаштування прав:

8. чекбокси / селект:

   - `Читати цей канал`

   - `Писати в цей канал`

   - `Створювати задачі / follow-ups`

   - `Доступ до проєктів цього контексту`

   - `Доступ до баз знань цього контексту`

9. Підтвердження:

10. кнопка "Запросити агента"

Після цього:

- у header чату зʼявляється новий агент;

- агент отримує повідомлення (system DM):

> "Тебе додали до каналу #dev-mvp з правами: читати, писати, створювати задачі."

## 4.2. Backend/протоколно

Під капотом:

- створюється entitlement для `agent_id` з:

- `resource_kind`: `channel` / `project` / `knowledge_space`,

- `resource_id`,

- `scopes`: `[read, write, tasks, knowledge]`.

- (optionally) запускається web3-транзакція:

- видача capability-токена / NFT-доступу,

- запис в on-chain реєстр (аудит, DAO-гарантія).

# 5. Обмін проєктами / базами даних між людьми та агентами

## 5.1. Поняття "Ресурсу"

Ресурс — це будь-що, до чого можна дати/забрати доступ:

- Проєкт (`project_id`)

- Таблиця / БД (`dataset_id`, `table_id`)

- Простір знань (`knowledge_space_id`)

- Набір подій (`events_stream_id`)

- Гаманець / смарт-контракт (`wallet_id`, `contract_id`)

У правому сайдбарі поточного контексту:

- "Ресурси цього контексту"

- Кожен ресурс має меню:

- "Поділитися…"

- "Показати, хто має доступ"

## 5.2. UX шерингу

У правій панелі користувач:

1. Обирає ресурс → "Поділитися".

2. Відкривається модалка:

3. таби: `Люди | Агенти | MicroDAO`

4. Вибирає:

5. одного або кількох адресатів.

6. Вказує права:

7. `read` / `write` / `admin` / `use_in_prompts_only`.

8. Підтверджує.

Після цього:

- Governance/Tokenomics Agent:

- оформлює web3-операцію (за потреби),

- оновлює entitlements,

- лог у audit/journal.

- Memory/Knowledge Agent:

- оновлює карту знань (хто/що бачить),

- може пропонувати нові рекомендації (наприклад, Projects Agent тепер бачить дані продажів).

# 6. "Agent Hub" — стартовий екран без меню

Замість класичного "Home":

- при вході в MicroDAO користувач потрапляє в чат з головним агентом (Team Assistant / OS Agent).

Верхня частина:

- "Привіт, це твоя microDAO: [Назва]"

- Короткі блоки:

- "Учасники" (скільки людей, скільки агентів)

- "Проєкти" (активні)

- "Сигнали" (важливі нотифікації)

Основний елемент — чат, де користувач може написати будь-що:

Приклади:

- "Покажи, хто зараз працює над MVP."

- "Створи новий проєкт для інтеграції DAGI."

- "Запроси Projects Agent і Governance Agent в цей проєкт."

- "Поділись базою `sales_events` з Projects Agent тільки для читання."

Агент:

- ставить уточнюючі питання (якщо потрібно),

- викликає внутрішні агенти:

- Messenger Agent → створити/налаштувати канал

- Projects Agent → створити проєкт/таски

- Governance Agent → оформити доступи й web3-запис

- Knowledge Agent → підключити Co-Memory

Усе це відображається як:

- ланцюжок дій у чаті,

- результати в структурі UI (нові канали / проєкти / ресурси).

# 7. Мінімальний MVP цієї парадигми

Для першої реалізації (без надроздуття):

1. Лівий сайдбар:

2. блок "Учасники": `Люди`, `Агенти` (Роботи — плейсхолдер).

3. кліки відкривають DM / сторінку агента.

4. Agent Hub як Home:

5. `/t/:teamId/home` → чат з Team Assistant.

6. кнопка "Домашня" у сайдбарі → туди.

7. Модалка "Додати учасника" для каналів:

8. можливість додати агента,

9. налаштувати права (на поки що хоча б `read/write`).

10. Модалка "Поділитися ресурсом":

11. для проєктів (Projects Agent вже буде з 15-го документа),

12. базові права `read/write`.

13. Без web3 на першому етапі:

14. тільки модель прав у БД (RBAC + entitlements),

15. web3-интеграція — stub/плейсхолдер (логіка в Governance Agent).

# 8. Компоненти та структура

## 8.1. Layout Components

    src/layouts/
      AgentOSLayout.tsx          # Головний layout з 3 колонками
      LeftSidebar.tsx            # Простори + Учасники
      ParticipantsPanel.tsx      # Панель Люди/Агенти/Роботи
      RightSidebar.tsx           # Контекст + Ресурси
      ContextPanel.tsx           # Панель контексту
      ResourcesPanel.tsx         # Панель ресурсів

## 8.2. Pages

    src/pages/
      AgentHubPage.tsx           # /t/:teamId/home - стартовий екран
      ParticipantPage.tsx        # Сторінка учасника (людина/агент)

## 8.3. Modals

    src/components/modals/
      AddParticipantModal.tsx    # Додати учасника до каналу/чату
      ShareResourceModal.tsx     # Поділитися ресурсом
      ManageAccessModal.tsx      # Керування доступами

## 8.4. Types

    interface Participant {
      id: string;
      type: "human" | "agent" | "robot";
      name: string;
      avatar?: string;
      status?: "online" | "offline" | "busy";
      roles?: string[];
    }

    interface Resource {
      id: string;
      type: "project" | "dataset" | "knowledge_space" | "wallet" | "contract";
      name: string;
      description?: string;
      accessLevel?: "read" | "write" | "admin" | "use_in_prompts_only";
    }

    interface Entitlement {
      participantId: string;
      resourceKind: string;
      resourceId: string;
      scopes: string[];
    }

# 9. API Endpoints

## 9.1. Participants

    GET /teams/{teamId}/participants
    // Повертає список учасників (люди + агенти)

    GET /teams/{teamId}/participants/{id}
    // Деталі учасника

    POST /channels/{channelId}/participants
    // Додати учасника до каналу
    {
      participantId: string;
      participantType: "human" | "agent";
      scopes: string[];
    }

## 9.2. Resources

    GET /teams/{teamId}/resources
    // Список ресурсів у контексті

    POST /resources/{resourceId}/share
    // Поділитися ресурсом
    {
      participantIds: string[];
      scopes: string[];
    }

## 9.3. Entitlements

    GET /entitlements
    // Список прав поточного користувача/агента

    POST /entitlements
    // Створити entitlement
    {
      participantId: string;
      resourceKind: string;
      resourceId: string;
      scopes: string[];
    }

# 10. Інтеграція з існуючими модулями

## 10.1. Messenger Agent (14)

Messenger Agent може:

- показувати список каналів з учасниками
- фільтрувати канали за наявністю агентів
- пропонувати додати агента до каналу

## 10.2. Projects Agent (15)

Projects Agent може:

- показувати проєкти як ресурси
- керувати доступами до проєктів
- пропонувати поділитися проєктом з іншими агентами

## 10.3. Governance Agent (18)

Governance Agent:

- оформлює web3-транзакції для доступу
- веде audit log всіх змін прав
- керує токеномікою доступів

# 11. Завдання для Cursor

Приклад промта:

    You are a senior React/TS engineer.

    Implement the Agent-Only Interface shell using:

    - 21_agent_only_interface.md
    - 10_agent_ui_system.md
    - 14_messenger_agent_module.md
    - 03_api_core_snapshot.md
    - 05_coding_standards.md

    Tasks:

    1) Update the main layout:
       - Left sidebar: Spaces + Participants (People, Agents, Robots placeholder).
       - Center: Dialog area (chat for current context).
       - Right sidebar: Context & Resources panel (stub data).

    2) Create "Agent Hub" route `/t/:teamId/home`:
       - Chat with Team Assistant as the main entry point.

    3) Add "Add participant" flow for channels:
       - Modal with tabs: People / Agents.
       - For Agents: basic permissions (read / write) stored in entitlements (stub).

    4) Add "Share resource" flow in the right sidebar:
       - For now: projects only (resource type stub).
       - Modal to grant read/write access to People or Agents (no web3 yet).

    5) Ensure navigation:
       - Clicking on a Person/Agent in the sidebar opens the appropriate chat/page.

    Output:

    - list of modified files
    - diff
    - summary

# 12. Результат

Після впровадження цього модуля:

- MicroDAO отримує "агентський" каркас інтерфейсу:

- вхід через Agent Hub,

- центральна роль агентів,

- простий механізм запрошення агентів,

- базові flows шерингу ресурсів;

- класичний месенджер (документ 14) стає лише однією з "здібностей" всередині агентської ОС, а не центром продукту.

Готово.
Це повна специфікація Agent-Only Interface, готова до використання в Cursor.