Skip to content

# 24 — Agent Cards and Console Tasks (MicroDAO)

Структурований список задач для реалізації Agent Cards та Console

Цей документ містить детальні технічні задачі для поетапної реалізації системи карток агентів та Agent Console.

Базовий документ: `23_agent_cards_and_console.md`

# Task 1 — Agent-Cards-Grid (плитки агентів)

## Мета

Створити компонент AgentCard та AgentGrid для відображення агентів у вигляді "живих карток" з метриками досвіду, репутації та присутності.

## Специфікація

### 1. Компонент AgentCard

- Розмір: 280x360px (рекомендовано)

- Структура:

- Верхній блок: Аватар + відео-аватар (64x64px)

- Імʼя та роль
- Метрики: Вік, Досвід 1T, Репутація
- Присутність: бейджі каналів/проєктів
- Статус підключення

### 2. Компонент AgentGrid

- Сітка карток (responsive: 1-4 колонки)
- Фільтри: "Всі", "Підключені", "Доступні"
- Пошук по імені/ролі

### 3. Дані

- API: `GET /agents?team_id=...`
- Метрики: `GET /agents/{id}/metrics`
- Присутність: `GET /agents/{id}/presence`

### 4. Hover ефект

- Напівпрозорий оверлей з кнопками:
- "Почати взаємодію"
- "Підключити до каналу"
- "Деталі агента"

### 5. Клік

- Відкриває Agent Console (Task 2)

## Acceptance Criteria

- Картки агентів відображаються у сітці
- Показуються метрики (вік, 1T, репутація)
- Hover показує опції взаємодії
- Клік відкриває Agent Console
- Фільтри та пошук працюють

## Приклад промта для Cursor

    Implement Agent Cards Grid using:

    - 23_agent_cards_and_console.md
    - 10_agent_ui_system.md
    - 05_coding_standards.md

    Deliverables:

    1) AgentCard component with avatar, name, role, metrics (age, 1T, reputation).
    2) AgentGrid component with responsive layout (1-4 columns).
    3) Hover overlay with action buttons.
    4) Filters: All / Connected / Available.
    5) Search by name/role.

    Output: list of files + diff + summary.

# Task 2 — Agent-Console-UI (повний інтерфейс)

## Мета

Створити Agent Console — повний інтерфейс для взаємодії з агентом з 5 вкладками.

## Специфікація

### 1. Структура Agent Console

- Верхня панель: Аватар, імʼя, метрики
- Вкладки: Чат, Файли, Памʼять, Присутність, Еволюція
- Контент вкладок (деталі нижче)

### 2. Вкладка "Чат"

- Використовує `AgentChatWindow` з `10_agent_ui_system.md`
- Додатково: кнопка "Голосовий діалог" (stub для MVP)
- Показ поточного контексту

### 3. Вкладка "Файли та Документи"

- Список файлів (з API або stub)
- Кнопка "Завантажити файл"
- Індикатор: "Документи зберігаються в просторі вашої microDAO"

### 4. Вкладка "Памʼять і Знання"

- Використовує компоненти з `13_agent_memory_system.md`
- Короткострокова та довгострокова памʼять
- Кнопки управління памʼяттю

### 5. Вкладка "Присутність / Права доступу"

- Таблиця просторів (канали, проєкти)
- Перемикачі підключення
- Рівні доступу
- Кнопка "Додати до нового каналу/проєкту"

### 6. Вкладка "Еволюція та дух спільноти"

- Лог внеску агента
- Статистика запитів
- Репутація від спільноти
- Без фінансових термінів

## Acceptance Criteria

- Agent Console відкривається при кліку на картку
- Всі 5 вкладок працюють
- Чат інтегрований з Agent Runtime Core
- Файли показуються (stub дані OK)
- Памʼять інтегрована з Memory System
- Присутність показує реальні дані
- Еволюція показує лог (stub OK)

## Приклад промта для Cursor

    Implement Agent Console UI using:

    - 23_agent_cards_and_console.md
    - 10_agent_ui_system.md
    - 13_agent_memory_system.md
    - 12_agent_runtime_core.md
    - 05_coding_standards.md

    Deliverables:

    1) AgentConsole component with 5 tabs.
    2) Chat tab: integrate AgentChatWindow.
    3) Files tab: file list + upload button (stub).
    4) Memory tab: integrate memory components.
    5) Presence tab: table with connect/disconnect toggles.
    6) Evolution tab: log display (stub data OK).

    Output: list of files + diff + summary.

# Task 3 — Agent-Experience-Metrics (1T + репутація)

## Мета

Реалізувати систему метрик досвіду агентів: вік, досвід 1T, репутація спільноти.

## Специфікація

### 1. Вік агента

- Розрахунок: `created_at` до поточної дати
- Формат: "3 тижні", "6 місяців", "1 рік 2 місяці"
- API: `GET /agents/{id}/metrics` → `{ age: { weeks, months, years } }`

### 2. Досвід 1T

- Лічильник: велике число з розділювачами (12 340 1T)
- Tooltip: "1T — це внутрішня одиниця обчислень і досвіду агента"
- API: `GET /agents/{id}/metrics` → `{ experience1T: number }`
- Візуалізація: великий текст з іконкою

### 3. Репутація спільноти

- Шкала: 0-100 або 0-5 зірок
- Розрахунок: на основі фідбеку від учасників
- API: `GET /agents/{id}/metrics` → `{ reputation: { score, type } }`
- Візуалізація: прогрес-бар або зірки

### 4. Компонент AgentMetrics

    interface AgentMetricsProps {
      agentId: string;
      compact?: boolean; // для картки vs консолі
    }

    export function AgentMetrics({ agentId, compact }: AgentMetricsProps) {
      // Відображення метрик
    }

## Acceptance Criteria

- Вік агента розраховується правильно
- 1T показується з tooltip
- Репутація відображається візуально
- Метрики оновлюються при зміні даних

## Приклад промта для Cursor

    Implement Agent Experience Metrics using:

    - 23_agent_cards_and_console.md
    - 03_api_core_snapshot.md
    - 05_coding_standards.md

    Deliverables:

    1) Calculate agent age from created_at.
    2) Display 1T experience with tooltip explanation.
    3) Display reputation (0-100 scale or 0-5 stars).
    4) AgentMetrics component for reuse in Card and Console.
    5) API integration: GET /agents/{id}/metrics.

    Output: list of files + diff + summary.

# Task 4 — Agent-Connections-Toggles (підключення/відключення)

## Мета

Реалізувати управління підключеннями агентів до просторів (канали, проєкти) з перемикачами.

## Специфікація

### 1. На картці агента

- Бейджі: "Публічні простори: 2", "Конфіденційні: 1"
- При кліку — модалка зі списком просторів
- Перемикачі для кожного простору

### 2. У Agent Console (вкладка "Присутність")

- Таблиця просторів:
- Простір / Тип / Доступ / Статус / Дії
- Перемикач "Підключено/Відʼєднано"
- Кнопка "Додати до нового простору"

### 3. API

- `GET /agents/{id}/presence` → список просторів
- `POST /agents/{id}/presence/connect` → підключити
- `POST /agents/{id}/presence/disconnect` → відключити

### 4. UX

- При відключенні: підтвердження
- При підключенні: вибір прав доступу
- Оновлення UI після зміни

## Acceptance Criteria

- Бейджі на картці показують кількість просторів
- Модалка зі списком просторів працює
- Перемикачі в консолі працюють
- API виклики зберігають зміни
- UI оновлюється після змін

## Приклад промта для Cursor

    Implement Agent Connections Management using:

    - 23_agent_cards_and_console.md
    - 21_agent_only_interface.md
    - 03_api_core_snapshot.md
    - 05_coding_standards.md

    Deliverables:

    1) Badges on agent card showing presence count.
    2) Modal with list of spaces (channels/projects) for agent.
    3) Toggle switches in Agent Console Presence tab.
    4) Connect/disconnect API calls.
    5) UI updates after connection changes.

    Output: list of files + diff + summary.

# Порядок виконання задач

Рекомендований порядок:

1. Task 1 — Agent-Cards-Grid (базова структура карток)
2. Task 3 — Agent-Experience-Metrics (метрики для карток)
3. Task 2 — Agent-Console-UI (повний інтерфейс)
4. Task 4 — Agent-Connections-Toggles (управління підключеннями)

# Залежності між задачами

- Task 1 не залежить від інших
- Task 3 може використовуватися в Task 1
- Task 2 потребує Task 1 (відкриття консолі з картки)
- Task 4 потребує Task 2 (вкладка "Присутність")

# Загальні вимоги

## Термінологія

Важливо: Використовувати тільки людську термінологію:

✅ Дозволено: - "досвід" - "шлях агента" - "довіра спільноти" - "внесок у колективний розум" - "репутація"

❌ Заборонено: - "інвестиції" - "юніти вартості" - "ROI" - "прибуток" - будь-які фінансові терміни

## Зберігання даних

- Всі файли/документи зберігаються в сховищі microDAO
- Показувати індикатор: "Документи зберігаються в просторі вашої microDAO"
- DAGI використовується як "мозок", але не як сховище

Готово.
Це структурований список задач для Agent Cards та Console, готовий до використання в Cursor.