Files
APAW/agent-evolution/README.md
¨NW¨ 15a7b4b7a4 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
2026-04-05 19:58:59 +01:00

409 lines
11 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.
# 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 моделей