Files
microdao-daarion/docs/cursor/10_agent_ui_system.md
2026-02-16 07:40:07 -08:00

14 KiB
Raw Blame History

10 — Agent UI System (MicroDAO)

Повна специфікація агентського інтерфейсу

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


1. Мета

Зробити агента центральною точкою взаємодії користувача зі спільнотою.

У результаті:

  • новачок спілкується з агентом для створення microDAO;

  • учасник команди — взаємодіє з агентом через командний чат;

  • агент сам ініціює корисні дії;

  • агент має власний чат, власну панель еволюції і власну пам'ять;

  • агент виконує функції внутрішнього інтелекту команди.


2. Типи агентів у UI

2.1. Guide Agent (провідник)

Працює в онбордингу.

Показує:

  • підказки,

  • кроки,

  • питання,

  • підтверджує створення команд/каналів.

2.2. Team Assistant (внутрішній агент)

Доступний всередині кожної microDAO.

Основні функції:

  • відповіді у спільних чатах,

  • автоматичні підсумки,

  • створення follow-ups,

  • пропозиції задач,

  • аналіз документації,

  • self-improvement.

2.3. Personal Agent (опція 2025+)

Асистент конкретного користувача.


3. Компоненти Agent UI

3.1. Agent Bubble

Маленький фіксований аватар агента у нижньому правому куті (як у Copilot / ChatGPT):

  • натискаєш → відкривається Agent Chat;

  • агент може блиматиме (notifying) при певних подіях.

3.2. Agent Chat Window

Окремий чат у форматі інтерфейсу:

---
| Team Assistant (ім'я агента)      |
|   Chat messages                    |
|   Input field                      |
```text

Функції:

- ставити питання агенту;

- отримувати аналіз;

- генерувати документи (MVP — текст);

- зворотній зв'язок 👍/👎;

- self-review автозапуск.

## 3.3. Inline Agent Messages у каналах

Агент може писати в каналі:

Способи:

- коли його тегнули: @assistant

- коли користувач попросив: "Підсумуй останнє"

- коли канал просить допомогу (опційно)

- коли тригери (як у Slack bots)

Повідомлення агента виглядають так:

- інший фон,

- аватар агента,

- дрібний значок "AI".

---

## 4. Sidebar інтеграція

У лівому меню зʼявляється новий розділ:

```text
Агенти
• Team Assistant
• (у майбутньому: Personal Agent)
```text

При натисканні → сторінка агента.

---

## 5. Сторінка агента

### Розташування

`/t/:teamId/agent/:agentId`

Складається з 4 вкладок:

## 5.1. "Чат"

Центральне місце взаємодії з агентом.

Вигляд: стандартний чат + тред з агентом.

## 5.2. "Памʼять"

Показує:

- довгострокові факти,

- короткострокові факти,

- терміни,

- ключові меседжі.

Кнопки:

- «Очистити коротку»

- «Очистити довгострокову»

- «Експорт памʼяті»

## 5.3. "Самонавчання"

(інтегровано з документом 09)

Поля:

- toggle: self-improvement ON/OFF

- рівень: basic / extended

- джерела: канал / вся microDAO / DAGI

- статус останнього review:

  - дата

  - кількість знайдених помилок

  - кількість пропозицій

Кнопка:

- «Запустити self-review зараз»

## 5.4. "Еволюція"

Показує:

- список пропозицій,

- версії агента,

- детальні diffs,

- кнопки accept/reject/edit.

UI приклад:

```text
Версія: v4.2
Запропоновано 2 покращення:

[1] Нове правило: "Відповідати українською, якщо канал український."  [Прийняти] [Відхилити]

[2] FAQ: "Як додати учасника до команди?"  [Прийняти] [Редагувати]
```text

---

## 6. Взаємодія агента з подіями

## 6.1. У каналі

Тригери для агента:

- `@assistant` — пряме звернення.  

- Фрази:  

  - "Підсумуй будь ласка"  

  - "Що сталося?"  

  - "Створи таску з цього"  

  - "Які наступні кроки?"  

- Коли новий учасник приєднався:

  - агент робить welcome-репліку.

---

## 7. Взаємодія агента з Follow-Ups & Projects

### 7.1. Follow-ups

Агент може:

- створювати follow-up автоматично,

- пропонувати: "Хочеш я створю задачу з цього?",

- групувати follow-ups.

### 7.2. Projects

Агент може:

- пропонувати задачі,

- заповнювати опис задач,

- будувати мінімальні roadmaps,

- робити автоматичні щоденні підсумки по проєкту (summary).

---

## 8. Notification Logic

Агент sparingly надсилає нотифікації:

Типи:

- завершений self-review,

- знайдені проблеми,

- нові пропозиції змін,

- нагадування про follow-ups,

- важливі зміни у спільноті.

UI:

- Badge на іконці агента,

- "пульсація" Agent Bubble,

- push (на майбутнє).

---

## 9. Анімації та UX-поведінка

- Аватар агента реагує на події (мʼяка анімована "пульсація").

- У чаті агент не відповідає миттєво (0.30.7s delay).

- Пише «…друкую» (typing indicator).

- Помилки агента обробляються як звичайні системні помилки.

---

## 10. Інтеграція з Agent-First Onboarding

Після онбордингу:

- той самий агент-провідник стає Team Assistant

- або передає користувача "головному" агенту команди

Після завершення онбордингу агент каже:

> "Якщо хочеш, я можу показати тобі, як працює ваша молоденька microDAO."

---

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

```text
You are a senior React/TS engineer.

Implement Agent UI System using:

- 10_agent_ui_system.md
- 08_agent_first_onboarding.md
- 03_api_core_snapshot.md
- 05_coding_standards.md

Deliverables:

1. AgentBubble component
2. AgentChatWindow component
3. Agent page with tabs: Chat / Memory / Learning / Evolution
4. Inline agent messages in channels
5. Hook: useAgentActions()

Output:

- list of modified files
- diff
- summary
```text

---

## 12. Компоненти та структура файлів

## 12.1. Компоненти UI

```text
src/components/agent/
  AgentBubble.tsx           # Фіксований аватар у правому нижньому куті
  AgentChatWindow.tsx       # Окно чату з агентом
  AgentMessage.tsx          # Повідомлення агента в каналах
  AgentAvatar.tsx           # Аватар агента з анімаціями
  AgentTypingIndicator.tsx  # Індикатор набору тексту
```text

## 12.2. Сторінки

```text
src/pages/
  AgentPage.tsx             # Головна сторінка агента з вкладками
  AgentChatTab.tsx          # Вкладка чату
  AgentMemoryTab.tsx        # Вкладка пам'яті
  AgentLearningTab.tsx      # Вкладка самонавчання
  AgentEvolutionTab.tsx     # Вкладка еволюції
```text

## 12.3. Hooks

```text
src/hooks/
  useAgentActions.ts        # Дії агента (відповіді, аналіз)
  useAgentNotifications.ts # Нотифікації від агента
  useAgentMemory.ts         # Робота з пам'яттю агента
  useAgentEvolution.ts     # Еволюція агента (з 09_evolutionary_agent.md)
```text

## 12.4. Типи

```text
src/types/
  agent.ts                  # Типи для агентів
    - Agent
    - AgentMessage
    - AgentSuggestion
    - AgentVersion
    - AgentMemory
```text

---

## 13. Інтеграція з каналами

## 13.1. Відображення повідомлень агента

Повідомлення агента в каналі мають:

- Спеціальний фон (наприклад, світло-синій)
- Аватар агента з іконкою AI
- Індикатор "AI" біля імені
- Кнопки фідбеку 👍/👎 (опціонально)

## 13.2. Тригери для агента

Система розпізнає наступні тригери:

- `@assistant` або `@agent` — пряме звернення
- Фрази-команди:
  - "Підсумуй"
  - "Створи задачу"
  - "Що сталося?"
  - "Які наступні кроки?"
  - "Допоможи з..."

## 13.3. Автоматичні дії

Агент може автоматично:

- Привітати нового учасника
- Підсумувати довгі обговорення
- Запропонувати створити задачу з важливого повідомлення
- Нагадати про дедлайни

---

## 14. API інтеграція

## 14.1. Отримання відповіді від агента

```ts
POST /agents/{agentId}/chat
{
  "message": "Підсумуй останні повідомлення",
  "context": {
    "channelId": "channel-123",
    "threadId": "thread-456"
  }
}
```text

## 14.2. Отримання пам'яті агента

```ts
GET /agents/{agentId}/memory
```text

## 14.3. Оновлення налаштувань самонавчання

```ts
PATCH /agents/{agentId}/learning
{
  "enabled": true,
  "level": "extended",
  "sources": ["channel", "team"]
}
```text

---

## 15. UX деталі

## 15.1. Agent Bubble

- Розмір: 56x56px
- Позиція: fixed, bottom-right, 24px від країв
- Z-index: 1000
- Анімація: м'яка пульсація при нових нотифікаціях
- Badge: червоний кружечок з кількістю нових подій

## 15.2. Agent Chat Window

- Розмір: 400x600px (desktop), fullscreen (mobile)
- Позиція: fixed, bottom-right, над Agent Bubble
- Анімація відкриття: slide-up з fade
- Закриття: кнопка X або клік поза вікном

## 15.3. Typing Indicator

- Показується під час генерації відповіді
- Анімація: три точки, що пульсують
- Текст: "Агент друкує..."

---

## 16. Обробка помилок

## 16.1. Помилки API

Якщо агент не може відповісти:

- Показати дружнє повідомлення: "Вибач, зараз не можу відповісти. Спробуй пізніше."
- Запропонувати альтернативу
- Логувати помилку для аналізу

## 16.2. Таймаути

Якщо відповідь занадто довга:

- Показати індикатор завантаження
- Запропонувати скасувати
- Після 30 секунд — показати попередження

---

## 17. Тестування

## 17.1. Unit Tests

- Тести для `AgentBubble`
- Тести для `AgentChatWindow`
- Тести для `useAgentActions`
- Тести для розпізнавання тригерів

## 17.2. Integration Tests

- Тестування повного flow: питання → відповідь → фідбек
- Тестування інтеграції з каналами
- Тестування нотифікацій

## 17.3. E2E Tests

- Користувач відкриває Agent Chat → ставить питання → отримує відповідь
- Користувач тегує агента в каналі → агент відповідає
- Користувач приймає пропозицію еволюції → агент оновлюється

---

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

MicroDAO стає не месенджером з агентами, а **агентською операційною системою спільнот**, де ШІ — активний навігатор, який еволюціонує та живе поруч з людьми.

Агент:

- є першим інтерфейсом для нових користувачів,
- допомагає у щоденній роботі команди,
- еволюціонує разом зі спільнотою,
- залишається під повним контролем користувачів,
- інтегрується з усіма функціями MicroDAO.

---

**Готово.**  
Це **повна специфікація агентського UI системи**, готова до використання в Cursor.