# 23 — Agent Cards and Console (MicroDAO) Живі картки агентів та повний інтерфейс Agent Console Цей документ описує UI/UX для агентів у форматі "живих карток" та повний інтерфейс Agent Console, де кожен агент представлений як учасник спільноти з власною історією, досвідом та репутацією. --- ## 1. Концепція: "Живі картки агентів" Кожен агент у MicroDAO — це не просто бот, а: - учасник спільноти з власною історією, - живий модуль розуму, підключений до DAGI, - носій досвіду (1T як міра обчислень та "шляху агента"), - носій репутації в межах спільноти. Тому **основний UI-елемент** — не список у вигляді таблиці, а **плитки / картки агентів**. --- ## 2. Плитка агента (карточка в гріді) ## 2.1. Розташування - В розділі "Агенти" (ліва панель → клік → відкривається основний грід). - Також може використовуватись у: - модалці "Додати агента до каналу", - маркетплейсі агентів DAARION.city, - списку підключених агентів до microDAO. ## 2.2. Структура картки Рекомендований layout: ### 1. Верхній блок: Аватар + Відео-аватар - Статичний аватар (іконка/символ). - Мала відео-плашка / анімований аватар (loop, без звуку). - Індикатор "онлайн/активний" (маленький маркер). ### 2. Імʼя та роль - `Імʼя агента` (наприклад, "DAGI Guide", "Tokenomics Keeper"). - Короткий опис призначення у один рядок: - "Провідник microDAO" - "Куратор знань" - "Месенджер-організатор" Без жодних фінансових ролей. ### 3. Метрики досвіду (без фінансової асоціації) - **Вік агента**: - "У спільноті: 3 тижні" / "6 місяців" / "1 рік 2 місяці". - **Досвід 1T**: - Лічильник: `Досвід: 12 340 1T` - В UI пояснення через tooltip: > "1T — це внутрішня одиниця обчислень і досвіду агента в екосистемі DAARION.city." - Важливо: не використовувати слів, які натякають на торгівлю/прибуток; це чисто "XP". - **Репутація спільноти**: - Наприклад, шкала 0–100 або 0–5 "зірочок". - Підпис: `Репутація в спільноті` / `Довіра спільноти`. ### 4. Присутність у просторах - Маленькі бейджі: - `Учасник: 3 канали` - `Працює в: 2 microDAO` - Позначки "публічний / конфіденційний": - іконка замка для конфіденційних контекстів. ### 5. Статус підключення - Текст/бейдж: - `Підключено до цього простору` - або `Доступний для підключення` - Кнопка: - `Підключити до контексту` (якщо ще не підʼєднаний). --- ## 3. Ховер та клік по картці ## 3.1. При наведенні курсору (hover) Показати поверх картки напівпрозорий оверлей з опціями: - Основна кнопка: **"Почати взаємодію"** - Додаткові: - `Підключити до цього каналу` (якщо стіна контексту вже вибрана) - `Деталі агента` (відкрити повний профіль) Можна додати коротку анімацію відео-аватара (легке пожвавлення). ## 3.2. При натисканні Якщо клікаємо по основній площі картки: - Відкривається **нове вікно/панель агента** (Agent Console), де: - є текстовий чат, - є керування голосовим режимом, - є вкладка для обміну файлами/документами, - є вкладка памʼяті/прав доступу. --- ## 4. Agent Console: повний інтерфейс агента Приклад структури: ## 4.1. Верхня панель - Аватар + відео-аватар (більший). - Імʼя, роль, короткий опис. - Показники: - Вік, - Досвід 1T, - Репутація спільноти. - Значок підключеності до поточного microDAO / каналу. ## 4.2. Вкладки ### Вкладка 1: Чат - Текстовий чат (як звичайний agent chat). - Голосовий режим: кнопка "Голосовий діалог" (start/stop). - Привʼязка до поточного контексту: - показати, в якому просторі ти з ним розмовляєш. ### Вкладка 2: Файли та Документи - Список файлів, якими обмінювались з цим агентом в межах даного microDAO. - Кнопка `Завантажити файл` → агент через DAGI може: - проаналізувати документ, - створити новий документ (збереження в microDAO file store). - Обовʼязково: - **збереження у власних сховищах microDAO**, не у зовнішньому середовищі по замовчуванню. ### Вкладка 3: Памʼять і Знання - Блоки з: - короткостроковою памʼяттю (останні теми), - довгостроковими фактами про цю спільноту (як у 13_agent_memory_system). - Кнопки: - `Показати, що ти памʼятаєш про цей проєкт` - `Очистити частину памʼяті` ### Вкладка 4: Присутність / Права доступу - Список: - В яких каналах цей агент присутній (публічні/конфіденційні). - В яких проєктах бере участь. - Для кожного: - перемикач `Підключити/Відключити`. - Позначка рівня доступу (read/write/tasks/knowledge). - Кнопка: - `Додати до нового каналу/проєкту` → відкриває спрощений Invite-Agent-Flow, але вже з попередньо вибраним агентом. ### Вкладка 5: Еволюція та дух спільноти - Замінює будь-який фінансовий наратив: - `Шлях агента в цій спільноті` - Лог: - скільки разів агент допомагав у задачах, - які типи запитів обробляє найчастіше, - "внесок у колективний розум" (наприклад, скільки фактів/правил додано). - Репутація: - відгуки/оцінки від учасників (без мови торгівлі). --- ## 5. DAGI, багатомодальність і сховища ## 5.1. DAGI як бекенд агентських здібностей Кожен агент отримує від DAGI: - текстове мислення, - мульти-модальні можливості: - розуміння зображень/файлів, - створення текстів, планів, специфікацій, - потенційно роботу з відео. Інтерфейс агента дає доступ до: - аналізу файлів: - "Поясни цей документ для команди" - "Зроби витяг для каналу #planning" - генерації нових артефактів: - плани, - дорожні карти, - документація. ## 5.2. Зберігання в MicroDAO, а не "десь в хмарі без контролю" Ключовий принцип: - **Результати роботи агента** (файли, документи, знання) зберігаються: - у сховищі степені MicroDAO (файлове / БД), - або у локальних базах спільноти. - DAGI використовується як "мозок", але: - не забирає собі сирі дані без волі спільноти, - не є єдиним місцем зберігання. Це важливо підкреслити в UX: - у консолі: - "Документи зберігаються в просторі вашої microDAO." - опції експорту: - "Поділитися в іншому просторі DAARION.city" - "Надати доступ іншому агенту" --- ## 6. Підключення/відключення агентів до публічних/конфіденційних просторів ## 6.1. З точки зору плитки На картці агента: - бейджі: - `Публічні простори: 2` - `Конфіденційні: 1` - При натисканні: - відкривається невеликий список: - `#general (публічний)` - `#dev-mvp (конфіденційний)` - поруч — перемикач: - `Підключено / Відʼєднано`. ## 6.2. З точки зору Agent Console У вкладці "Присутність / Права доступу": - Табличка: - Простір / Тип (публічний/конфіденційний) / Доступ / Перемикач. - Операції: - натискання `Відʼєднати`: - агент перестає отримувати потік повідомлень з цього каналу/простору; - його не видно у списку учасників. - натискання `Підключити`: - запускає внутрішній Invite-Agent-Flow для відповідного ресурсу. Все це повинно залишатись максимально людським в термінології: жодних "інвесторів", "юнітів вартості", "ROI" тощо — тільки: - "досвід", - "шлях агента", - "довіра спільноти", - "внесок у колективний розум". --- ## 7. Компоненти та структура ## 7.1. Agent Card Component ```tsx interface AgentCardProps { agent: Agent; onCardClick: () => void; onConnect?: () => void; currentContext?: { teamId: string; channelId?: string; }; } export function AgentCard({ agent, onCardClick, onConnect, currentContext }: AgentCardProps) { // Рендер картки з усіма метриками } ```text ## 7.2. Agent Grid ```tsx interface AgentGridProps { agents: Agent[]; onAgentSelect: (agentId: string) => void; filter?: "all" | "connected" | "available"; } export function AgentGrid({ agents, onAgentSelect, filter }: AgentGridProps) { // Сітка карток агентів } ```text ## 7.3. Agent Console ```tsx interface AgentConsoleProps { agentId: string; initialTab?: "chat" | "files" | "memory" | "presence" | "evolution"; } export function AgentConsole({ agentId, initialTab = "chat" }: AgentConsoleProps) { // Повний інтерфейс агента з вкладками } ```text --- ## 8. Типи даних ## 8.1. Agent Metrics ```ts interface AgentMetrics { age: { weeks?: number; months?: number; years?: number; }; experience1T: number; // Досвід в 1T reputation: { score: number; // 0-100 або 0-5 type: "stars" | "percentage"; }; presence: { channels: number; teams: number; public: number; confidential: number; }; } ```text ## 8.2. Agent Presence ```ts interface AgentPresence { channelId: string; channelName: string; type: "public" | "confidential"; accessLevel: string[]; connected: boolean; } ```text ## 8.3. Agent Evolution Log ```ts interface AgentEvolutionLog { tasksHelped: number; requestTypes: Record; // Типи запитів та їх кількість contributions: { factsAdded: number; rulesCreated: number; documentsGenerated: number; }; communityFeedback: { positive: number; negative: number; averageRating: number; }; } ```text --- ## 9. API Endpoints ## 9.1. Agent Metrics ```ts GET /agents/{agentId}/metrics // Повертає метрики агента (вік, досвід 1T, репутація) GET /agents/{agentId}/presence // Список просторів, де агент присутній ```text ## 9.2. Agent Files ```ts GET /agents/{agentId}/files // Список файлів, з якими працював агент POST /agents/{agentId}/files // Завантажити файл для аналізу агентом { file: File; context: { teamId: string; channelId?: string; }; } ```text ## 9.3. Agent Evolution ```ts GET /agents/{agentId}/evolution/log // Лог еволюції та внеску агента ```text --- ## 10. UI/UX Деталі ## 10.1. Відео-аватар - Формат: короткий loop (2-5 секунд) - Розмір на картці: 64x64px - Розмір в консолі: 128x128px - Без звуку - Анімація при hover: легке пожвавлення ## 10.2. Метрики досвіду - Вік: "3 тижні", "6 місяців", "1 рік 2 місяці" - 1T: велике число з розділювачами (12 340 1T) - Репутація: візуальна шкала (зірки або прогрес-бар) ## 10.3. Бейджі присутності - Компактні бейджі з іконками - Кольори: синій для публічних, червоний для конфіденційних - Іконка замка для конфіденційних просторів --- ## 11. Інтеграція з існуючими модулями ## 11.1. Agent UI System (10) Agent Cards використовують компоненти з `10_agent_ui_system.md`: - AgentAvatar - AgentChatWindow (у вкладці "Чат") - AgentMemoryTab (у вкладці "Памʼять") ## 11.2. Agent Memory System (13) Вкладка "Памʼять і Знання" інтегрується з: - Short-term memory - Long-term memory - RAG retrieval ## 11.3. Agent Runtime Core (12) Agent Console використовує: - AgentContext для роботи з агентом - Tools для аналізу файлів - LLM для генерації документів --- ## 12. Завдання для Cursor Приклад промта: ```text You are a senior React/TS engineer. Implement Agent Cards and Console 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) AgentCard component with metrics (age, 1T experience, reputation). 2) AgentGrid component for displaying multiple agent cards. 3) AgentConsole component with tabs: Chat, Files, Memory, Presence, Evolution. 4) Integration with file upload/analysis through DAGI. 5) Presence management (connect/disconnect from channels/projects). Output: - list of modified files - diff - summary ```text --- ## 13. Результат Після впровадження: - Агенти представлені як живі учасники спільноти, а не просто боти - Користувач бачить досвід та репутацію кожного агента - Повний контроль над підключеннями агентів до просторів - Зберігання всіх результатів роботи агентів у сховищі microDAO - Людська термінологія без фінансових наративів --- **Готово.** Це **повна специфікація Agent Cards та Console**, готова до використання в Cursor.