chore: organize documentation structure for monorepo
- Create /docs structure (microdao, daarion, agents) - Organize 61 cursor technical docs - Add README files for each category - Copy key documents to public categories - Add GitHub setup instructions and scripts
This commit is contained in:
556
docs/cursor/23_agent_cards_and_console.md
Normal file
556
docs/cursor/23_agent_cards_and_console.md
Normal file
@@ -0,0 +1,556 @@
|
||||
# 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) {
|
||||
// Рендер картки з усіма метриками
|
||||
}
|
||||
```
|
||||
|
||||
## 7.2. Agent Grid
|
||||
|
||||
```tsx
|
||||
interface AgentGridProps {
|
||||
agents: Agent[];
|
||||
onAgentSelect: (agentId: string) => void;
|
||||
filter?: "all" | "connected" | "available";
|
||||
}
|
||||
|
||||
export function AgentGrid({ agents, onAgentSelect, filter }: AgentGridProps) {
|
||||
// Сітка карток агентів
|
||||
}
|
||||
```
|
||||
|
||||
## 7.3. Agent Console
|
||||
|
||||
```tsx
|
||||
interface AgentConsoleProps {
|
||||
agentId: string;
|
||||
initialTab?: "chat" | "files" | "memory" | "presence" | "evolution";
|
||||
}
|
||||
|
||||
export function AgentConsole({ agentId, initialTab = "chat" }: AgentConsoleProps) {
|
||||
// Повний інтерфейс агента з вкладками
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 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;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
## 8.2. Agent Presence
|
||||
|
||||
```ts
|
||||
interface AgentPresence {
|
||||
channelId: string;
|
||||
channelName: string;
|
||||
type: "public" | "confidential";
|
||||
accessLevel: string[];
|
||||
connected: boolean;
|
||||
}
|
||||
```
|
||||
|
||||
## 8.3. Agent Evolution Log
|
||||
|
||||
```ts
|
||||
interface AgentEvolutionLog {
|
||||
tasksHelped: number;
|
||||
requestTypes: Record<string, number>; // Типи запитів та їх кількість
|
||||
contributions: {
|
||||
factsAdded: number;
|
||||
rulesCreated: number;
|
||||
documentsGenerated: number;
|
||||
};
|
||||
communityFeedback: {
|
||||
positive: number;
|
||||
negative: number;
|
||||
averageRating: number;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 9. API Endpoints
|
||||
|
||||
## 9.1. Agent Metrics
|
||||
|
||||
```ts
|
||||
GET /agents/{agentId}/metrics
|
||||
// Повертає метрики агента (вік, досвід 1T, репутація)
|
||||
|
||||
GET /agents/{agentId}/presence
|
||||
// Список просторів, де агент присутній
|
||||
```
|
||||
|
||||
## 9.2. Agent Files
|
||||
|
||||
```ts
|
||||
GET /agents/{agentId}/files
|
||||
// Список файлів, з якими працював агент
|
||||
|
||||
POST /agents/{agentId}/files
|
||||
// Завантажити файл для аналізу агентом
|
||||
{
|
||||
file: File;
|
||||
context: {
|
||||
teamId: string;
|
||||
channelId?: string;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
## 9.3. Agent Evolution
|
||||
|
||||
```ts
|
||||
GET /agents/{agentId}/evolution/log
|
||||
// Лог еволюції та внеску агента
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 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
|
||||
|
||||
Приклад промта:
|
||||
|
||||
```
|
||||
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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 13. Результат
|
||||
|
||||
Після впровадження:
|
||||
|
||||
* Агенти представлені як живі учасники спільноти, а не просто боти
|
||||
* Користувач бачить досвід та репутацію кожного агента
|
||||
* Повний контроль над підключеннями агентів до просторів
|
||||
* Зберігання всіх результатів роботи агентів у сховищі microDAO
|
||||
* Людська термінологія без фінансових наративів
|
||||
|
||||
---
|
||||
|
||||
**Готово.**
|
||||
Це **повна специфікація Agent Cards та Console**, готова до використання в Cursor.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user