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

555 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
Окремий чат у форматі інтерфейсу:
```text
---
| 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.