feat: add Agent Evolution Dashboard
- Create agent-evolution/ directory with standalone dashboard - Add interactive HTML dashboard with agent/model matrix - Add heatmap view for agent-model compatibility scores - Add recommendations tab with optimization suggestions - Add Gitea integration preparation (history timeline) - Add Docker configuration for deployment - Add build scripts for standalone HTML generation - Add sync scripts for agent data synchronization - Add milestone and issues documentation - Add skills and rules for evolution sync - Update AGENTS.md with dashboard documentation - Update package.json with evolution scripts Features: - 28 agents with model assignments and fit scores - 8 models with benchmarks (SWE-bench, RULER, Terminal) - 11 recommendations for model optimization - History timeline with agent changes - Interactive modal windows for model details - Filter and search functionality - Russian language interface - Works offline (file://) with embedded data Docker: - Dockerfile for standalone deployment - docker-compose.evolution.yml - docker-run.sh/docker-run.bat scripts NPM scripts: - sync:evolution - sync and build dashboard - evolution:open - open in browser - evolution:dashboard - start dev server Status: PAUSED - foundation complete, Gitea integration pending
This commit is contained in:
409
agent-evolution/README.md
Normal file
409
agent-evolution/README.md
Normal file
@@ -0,0 +1,409 @@
|
||||
# Agent Evolution Dashboard
|
||||
|
||||
Интерактивная панель для отслеживания эволюции агентной системы APAW.
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### Синхронизация данных
|
||||
|
||||
```bash
|
||||
# Синхронизировать агентов + построить standalone HTML
|
||||
bun run sync:evolution
|
||||
|
||||
# Только построить HTML из существующих данных
|
||||
bun run evolution:build
|
||||
```
|
||||
|
||||
### Открыть в браузере
|
||||
|
||||
**Способ 1: Локальный файл (рекомендуется)**
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
start agent-evolution\index.standalone.html
|
||||
|
||||
# macOS
|
||||
open agent-evolution/index.standalone.html
|
||||
|
||||
# Linux
|
||||
xdg-open agent-evolution/index.standalone.html
|
||||
|
||||
# Или через npm
|
||||
bun run evolution:open
|
||||
```
|
||||
|
||||
**Способ 2: HTTP сервер**
|
||||
|
||||
```bash
|
||||
cd agent-evolution
|
||||
python -m http.server 3001
|
||||
|
||||
# Открыть http://localhost:3001
|
||||
```
|
||||
|
||||
**Способ 3: Docker**
|
||||
|
||||
```bash
|
||||
# Linux/macOS
|
||||
bash agent-evolution/docker-run.sh restart
|
||||
|
||||
# Windows
|
||||
agent-evolution\docker-run.bat restart
|
||||
|
||||
# Открыть http://localhost:3001
|
||||
```
|
||||
|
||||
## 📁 Структура файлов
|
||||
|
||||
### Быстрый запуск
|
||||
|
||||
```bash
|
||||
# Linux/macOS
|
||||
bash agent-evolution/docker-run.sh restart
|
||||
|
||||
# Windows
|
||||
agent-evolution\docker-run.bat restart
|
||||
|
||||
# Открыть в браузере
|
||||
http://localhost:3001
|
||||
```
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```bash
|
||||
# Стандартный запуск
|
||||
docker-compose -f docker-compose.evolution.yml up -d
|
||||
|
||||
# С nginx reverse proxy
|
||||
docker-compose -f docker-compose.evolution.yml --profile nginx up -d
|
||||
|
||||
# Остановка
|
||||
docker-compose -f docker-compose.evolution.yml down
|
||||
```
|
||||
|
||||
### Управление контейнером
|
||||
|
||||
```bash
|
||||
# Linux/macOS
|
||||
bash agent-evolution/docker-run.sh build # Собрать образ
|
||||
bash agent-evolution/docker-run.sh run # Запустить контейнер
|
||||
bash agent-evolution/docker-run.sh stop # Остановить
|
||||
bash agent-evolution/docker-run.sh restart # Пересобрать и запустить
|
||||
bash agent-evolution/docker-run.sh logs # Логи
|
||||
bash agent-evolution/docker-run.sh open # Открыть в браузере
|
||||
bash agent-evolution/docker-run.sh sync # Синхронизировать данные
|
||||
bash agent-evolution/docker-run.sh status # Статус
|
||||
bash agent-evolution/docker-run.sh clean # Удалить всё
|
||||
bash agent-evolution/docker-run.sh dev # Dev режим с hot reload
|
||||
|
||||
# Windows
|
||||
agent-evolution\docker-run.bat build
|
||||
agent-evolution\docker-run.bat run
|
||||
agent-evolution\docker-run.bat stop
|
||||
agent-evolution\docker-run.bat restart
|
||||
agent-evolution\docker-run.bat logs
|
||||
agent-evolution\docker-run.bat open
|
||||
agent-evolution\docker-run.bat sync
|
||||
agent-evolution\docker-run.bat status
|
||||
agent-evolution\docker-run.bat clean
|
||||
agent-evolution\docker-run.bat dev
|
||||
```
|
||||
|
||||
### NPM Scripts
|
||||
|
||||
```bash
|
||||
bun run evolution:build # Собрать Docker образ
|
||||
bun run evolution:run # Запустить контейнер
|
||||
bun run evolution:stop # Остановить
|
||||
bun run evolution:dev # Docker Compose
|
||||
bun run evolution:logs # Логи
|
||||
```
|
||||
|
||||
## Структура
|
||||
|
||||
```
|
||||
agent-evolution/
|
||||
├── data/
|
||||
│ ├── agent-versions.json # Текущее состояние + история
|
||||
│ └── agent-versions.schema.json # JSON Schema
|
||||
├── scripts/
|
||||
│ └── sync-agent-history.ts # Скрипт синхронизации
|
||||
├── index.html # Дашборд UI
|
||||
└── README.md # Этот файл
|
||||
```
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```bash
|
||||
# Синхронизировать данные агентов
|
||||
bun run sync:evolution
|
||||
|
||||
# Запустить дашборд
|
||||
bun run evolution:dashboard
|
||||
|
||||
# Открыть в браузере
|
||||
bun run evolution:open
|
||||
# или http://localhost:3001
|
||||
```
|
||||
|
||||
## Возможности дашборда
|
||||
|
||||
### 1. Overview — Обзор
|
||||
|
||||
- **Статистика**: общее количество агентов, с историей, рекомендации
|
||||
- **Recent Changes**: последние изменения моделей и промптов
|
||||
- **Pending Recommendations**: критические рекомендации по обновлению
|
||||
|
||||
### 2. All Agents — Все агенты
|
||||
|
||||
- Поиск и фильтрация по категориям
|
||||
- Карточки агентов с:
|
||||
- Текущей моделью
|
||||
- Fit Score
|
||||
- Количеством capability
|
||||
- Историей изменений
|
||||
|
||||
### 3. Timeline — История
|
||||
|
||||
- Полная хронология изменений
|
||||
- Типы событий: model_change, prompt_change, agent_created
|
||||
- Фильтрация по дате
|
||||
|
||||
### 4. Recommendations — Рекомендации
|
||||
|
||||
- Агенты с pending recommendations
|
||||
- Приоритеты: critical, high, medium, low
|
||||
- Экспорт в JSON
|
||||
|
||||
### 5. Model Matrix — Матрица моделей
|
||||
|
||||
- Таблица Agent × Model
|
||||
- Fit Score для каждой пары
|
||||
- Визуализация provider distribution
|
||||
|
||||
## Источники данных
|
||||
|
||||
### 1. Agent Files (`.kilo/agents/*.md`)
|
||||
|
||||
```yaml
|
||||
---
|
||||
model: ollama-cloud/qwen3-coder:480b
|
||||
description: Primary code writer
|
||||
mode: subagent
|
||||
color: "#DC2626"
|
||||
---
|
||||
```
|
||||
|
||||
### 2. Capability Index (`.kilo/capability-index.yaml`)
|
||||
|
||||
```yaml
|
||||
agents:
|
||||
lead-developer:
|
||||
model: ollama-cloud/qwen3-coder:480b
|
||||
capabilities: [code_writing, refactoring]
|
||||
```
|
||||
|
||||
### 3. Kilo Config (`.kilo/kilo.jsonc`)
|
||||
|
||||
```json
|
||||
{
|
||||
"agent": {
|
||||
"lead-developer": {
|
||||
"model": "ollama-cloud/qwen3-coder:480b"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4. Git History
|
||||
|
||||
```bash
|
||||
git log --all --oneline -- ".kilo/agents/"
|
||||
```
|
||||
|
||||
### 5. Gitea Issue Comments
|
||||
|
||||
```markdown
|
||||
## ✅ lead-developer completed
|
||||
|
||||
**Score**: 8/10
|
||||
**Duration**: 1.2h
|
||||
**Files**: src/auth.ts, src/user.ts
|
||||
```
|
||||
|
||||
## JSON Schema
|
||||
|
||||
Формат `agent-versions.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"lastUpdated": "2026-04-05T17:27:00Z",
|
||||
"agents": {
|
||||
"lead-developer": {
|
||||
"current": {
|
||||
"model": "ollama-cloud/qwen3-coder:480b",
|
||||
"provider": "Ollama",
|
||||
"category": "Core Dev",
|
||||
"fit_score": 92
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
"date": "2026-04-05T05:21:00Z",
|
||||
"commit": "caf77f53c8",
|
||||
"type": "model_change",
|
||||
"from": null,
|
||||
"to": "ollama-cloud/qwen3-coder:480b",
|
||||
"reason": "Initial configuration"
|
||||
}
|
||||
],
|
||||
"performance_log": [
|
||||
{
|
||||
"date": "2026-04-05T10:30:00Z",
|
||||
"issue": 42,
|
||||
"score": 8,
|
||||
"duration_ms": 120000,
|
||||
"success": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Интеграция
|
||||
|
||||
### В Pipeline
|
||||
|
||||
Добавьте в `.kilo/commands/pipeline.md`:
|
||||
|
||||
```yaml
|
||||
post_steps:
|
||||
- name: sync_evolution
|
||||
run: bun run sync:evolution
|
||||
```
|
||||
|
||||
### В Gitea Webhooks
|
||||
|
||||
```typescript
|
||||
// Добавить webhook в Gitea
|
||||
{
|
||||
"url": "http://localhost:3000/api/evolution/webhook",
|
||||
"events": ["issue_comment", "issues"]
|
||||
}
|
||||
```
|
||||
|
||||
### Чтение из кода
|
||||
|
||||
```typescript
|
||||
import { agentEvolution } from './agent-evolution/scripts/sync-agent-history';
|
||||
|
||||
// Получить все агенты
|
||||
const agents = await agentEvolution.getAllAgents();
|
||||
|
||||
// Получить историю конкретного агента
|
||||
const history = await agentEvolution.getAgentHistory('lead-developer');
|
||||
|
||||
// Записать изменение модели
|
||||
await agentEvolution.recordChange({
|
||||
agent: 'security-auditor',
|
||||
type: 'model_change',
|
||||
from: 'gpt-oss:120b',
|
||||
to: 'nemotron-3-super',
|
||||
reason: 'Better reasoning for security analysis',
|
||||
source: 'manual'
|
||||
});
|
||||
```
|
||||
|
||||
## Рекомендации
|
||||
|
||||
### Приоритеты
|
||||
|
||||
| Priority | Criteria | Action |
|
||||
|----------|----------|--------|
|
||||
| Critical | Fit score < 70 | Немедленное обновление |
|
||||
| High | Модель недоступна | Переключение на fallback |
|
||||
| Medium | Доступна лучшая модель | Рассмотреть обновление |
|
||||
| Low | Возможна оптимизация | Опционально |
|
||||
|
||||
### Примеры рекомендаций
|
||||
|
||||
```json
|
||||
{
|
||||
"agent": "requirement-refiner",
|
||||
"recommendations": [{
|
||||
"target": "ollama-cloud/nemotron-3-super",
|
||||
"reason": "+22% quality, 1M context for specifications",
|
||||
"priority": "critical"
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
## Мониторинг
|
||||
|
||||
### Метрики агента
|
||||
|
||||
- **Average Score**: Средний балл за последние 10 выполнений
|
||||
- **Success Rate**: Процент успешных выполнений
|
||||
- **Average Duration**: Среднее время выполнения
|
||||
- **Files per Task**: Среднее количество файлов на задачу
|
||||
|
||||
### Метрики системы
|
||||
|
||||
- **Total Agents**: Количество активных агентов
|
||||
- **Agents with History**: Агентов с историей изменений
|
||||
- **Pending Recommendations**: Количество рекомендаций
|
||||
- **Provider Distribution**: Распределение по провайдерам
|
||||
|
||||
## Обслуживание
|
||||
|
||||
### Очистка истории
|
||||
|
||||
```bash
|
||||
# Удалить дубликаты
|
||||
bun run agent-evolution/scripts/cleanup.ts --dedupe
|
||||
|
||||
# Слить связанные изменения
|
||||
bun run agent-evolution/scripts/cleanup.ts --merge
|
||||
```
|
||||
|
||||
### Экспорт данных
|
||||
|
||||
```bash
|
||||
# Экспортировать в CSV
|
||||
bun run agent-evolution/scripts/export.ts --format csv
|
||||
|
||||
# Экспортировать в Markdown
|
||||
bun run agent-evolution/scripts/export.ts --format md
|
||||
```
|
||||
|
||||
### Резервное копирование
|
||||
|
||||
```bash
|
||||
# Создать бэкап
|
||||
cp agent-evolution/data/agent-versions.json agent-evolution/data/backup/agent-versions-$(date +%Y%m%d).json
|
||||
|
||||
# Восстановить из бэкапа
|
||||
cp agent-evolution/data/backup/agent-versions-20260405.json agent-evolution/data/agent-versions.json
|
||||
```
|
||||
|
||||
## Будущие улучшения
|
||||
|
||||
1. **API Endpoints**:
|
||||
- `GET /api/evolution/agents` — список агентов
|
||||
- `GET /api/evolution/agents/:name/history` — история агента
|
||||
- `POST /api/evolution/sync` — запустить синхронизацию
|
||||
|
||||
2. **Real-time Updates**:
|
||||
- WebSocket для обновления дашборда
|
||||
- Автоматическое обновление при изменениях
|
||||
|
||||
3. **Analytics**:
|
||||
- Графики производительности во времени
|
||||
- Сравнение моделей
|
||||
- Прогнозирование производительности
|
||||
|
||||
4. **Integration**:
|
||||
- Slack/Telegram уведомления
|
||||
- Автоматическое применение рекомендаций
|
||||
- A/B testing моделей
|
||||
Reference in New Issue
Block a user