overmind-mcp 2.0.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,250 +1,343 @@
1
- #!/bin/bash
2
- # ═══════════════════════════════════════════════════════════════════════════════
3
- # OVERMIND-MCP - INSTALLATION COMPLÈTE Linux/macOS (Docker)
4
- # ═══════════════════════════════════════════════════════════════════════════════
5
- # Ce script installe et configure TOUT automatiquement :
6
- # - npm install -g overmind-mcp
7
- # - Docker (vérification)
8
- # - PostgreSQL + pgvector (si absent)
9
- # - Infrastructure complète (RabbitMQ, Temporal, Prometheus, Grafana, Jaeger)
10
- # - Validation de tous les services
11
- # ═══════════════════════════════════════════════════════════════════════════════
12
-
13
- set -e
14
-
15
- # Couleurs
16
- RED='\033[0;31m'
17
- GREEN='\033[0;32m'
18
- YELLOW='\033[1;33m'
19
- BLUE='\033[0;34m'
20
- MAGENTA='\033[0;35m'
21
- CYAN='\033[0;36m'
22
- WHITE='\033[1;37m'
23
- NC='\033[0m' # No Color
24
-
25
- clear
26
- echo -e "${CYAN}╔════════════════════════════════════════════════════════════════════════════╗${NC}"
27
- echo -e "${CYAN}║${NC} ${WHITE} ${NC} ${CYAN}║${NC}"
28
- echo -e "${CYAN}║${NC} ${MAGENTA} 🚀 OVERMIND-MCP - INSTALLATION COMPLÈTE ${NC} ${CYAN}║${NC}"
29
- echo -e "${CYAN}║${NC} ${WHITE} Linux/macOS + Docker ${NC} ${CYAN}║${NC}"
30
- echo -e "${CYAN}║${NC} ${WHITE} ${NC} ${CYAN}║${NC}"
31
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
32
- echo ""
33
-
34
- # ═══════════════════════════════════════════════════════════════════════════════
35
- # STEP 1: Vérifier Node.js et NPM
36
- # ═══════════════════════════════════════════════════════════════════════════════
37
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
38
- echo -e "${CYAN}║ ÉTAPE 1/7: VÉRIFICATION NODE.JS ET NPM ║${NC}"
39
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
40
- echo ""
41
-
42
- if ! command -v node &> /dev/null; then
43
- echo -e "${RED}❌ Node.js non trouvé. Installation requise...${NC}"
44
- echo -e "${YELLOW}📥 Linux: curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -${NC}"
45
- echo -e "${YELLOW}📥 macOS: brew install node${NC}"
46
- exit 1
47
- fi
48
-
49
- echo -e "${GREEN}✅ Node.js détecté:${NC}"
50
- node --version
51
- echo -e "${GREEN}✅ NPM détecté:${NC}"
52
- npm --version
53
- echo ""
54
-
55
- # ═══════════════════════════════════════════════════════════════════════════════
56
- # STEP 2: Installer OverMind-MCP globalement
57
- # ═══════════════════════════════════════════════════════════════════════════════
58
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
59
- echo -e "${CYAN}║ ÉTAPE 2/7: INSTALLATION OVERMIND-MCP ║${NC}"
60
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
61
- echo ""
62
-
63
- echo -e "${YELLOW}📦 Installation d'overmind-mcp (dernière version)...${NC}"
64
- npm install -g overmind-mcp@latest
65
-
66
- echo -e "${GREEN}✅ overmind-mcp installé:${NC}"
67
- npm view overmind-mcp version
68
- echo ""
69
-
70
- # ═══════════════════════════════════════════════════════════════════════════════
71
- # STEP 3: Vérifier Docker
72
- # ═══════════════════════════════════════════════════════════════════════════════
73
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
74
- echo -e "${CYAN}║ ÉTAPE 3/7: VÉRIFICATION DOCKER ║${NC}"
75
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
76
- echo ""
77
-
78
- if ! command -v docker &> /dev/null; then
79
- echo -e "${RED}❌ Docker non trouvé.${NC}"
80
- echo -e "${YELLOW}📥 Linux: https://docs.docker.com/engine/install/${NC}"
81
- echo -e "${YELLOW}📥 macOS: https://www.docker.com/products/docker-desktop/${NC}"
82
- exit 1
83
- fi
84
-
85
- echo -e "${GREEN}✅ Docker détecté:${NC}"
86
- docker --version
87
- echo ""
88
-
89
- # ═══════════════════════════════════════════════════════════════════════════════
90
- # STEP 4: Installer PostgreSQL + pgvector
91
- # ═══════════════════════════════════════════════════════════════════════════════
92
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
93
- echo -e "${CYAN}║ ÉTAPE 4/7: INSTALLATION POSTGRESQL + PGVECTOR ║${NC}"
94
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
95
- echo ""
96
-
97
- npx overmind-mcp install-dependencies
98
- echo ""
99
-
100
- # ═══════════════════════════════════════════════════════════════════════════════
101
- # STEP 5: Créer configuration OverMind
102
- # ═══════════════════════════════════════════════════════════════════════════════
103
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
104
- echo -e "${CYAN}║ ÉTAPE 5/7: CONFIGURATION OVERMIND ║${NC}"
105
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
106
- echo ""
107
-
108
- OVERMIND_DIR="$HOME/.overmind"
109
- mkdir -p "$OVERMIND_DIR"
110
-
111
- # Créer .env de base
112
- if [ ! -f "$OVERMIND_DIR/.env" ]; then
113
- echo -e "${YELLOW}📝 Création configuration .env...${NC}"
114
- cat > "$OVERMIND_DIR/.env" << EOF
115
- # OverMind-MCP Environment Configuration
116
- # Généré par install-overmind-unix.sh
117
-
118
- # PostgreSQL
119
- POSTGRES_HOST=localhost
120
- POSTGRES_PORT=5432
121
- POSTGRES_USER=postgres
122
- POSTGRES_PASSWORD=overmind_temp_password_change_me
123
- POSTGRES_DB=overmind
124
-
125
- # OpenTelemetry (optionnel)
126
- OTEL_ENABLED=false
127
-
128
- # Workspace
129
- OVERMIND_WORKSPACE=$OVERMIND_DIR
130
- EOF
131
- echo -e "${GREEN}✅ Configuration créée:${NC} $OVERMIND_DIR/.env"
132
- fi
133
-
134
- echo ""
135
-
136
- # ═══════════════════════════════════════════════════════════════════════════════
137
- # STEP 6: Lancer infrastructure Docker complète
138
- # ═══════════════════════════════════════════════════════════════════════════════
139
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
140
- echo -e "${CYAN}║ ÉTAPE 6/7: DÉMARRAGE INFRASTRUCTURE DOCKER ║${NC}"
141
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
142
- echo ""
143
-
144
- # Télécharger docker-compose depuis GitHub
145
- echo -e "${YELLOW}📥 Téléchargement docker-compose.yml...${NC}"
146
- curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.yml -o "$OVERMIND_DIR/docker-compose.yml"
147
- curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.exporters.yml -o "$OVERMIND_DIR/docker-compose.exporters.yml"
148
-
149
- echo -e "${YELLOW}🚀 Démarrage de l'infrastructure Docker...${NC}"
150
- cd "$OVERMIND_DIR"
151
- docker-compose -f docker-compose.yml up -d
152
-
153
- echo ""
154
- sleep 10
155
-
156
- # ═══════════════════════════════════════════════════════════════════════════════
157
- # STEP 7: Validation de tous les services
158
- # ═══════════════════════════════════════════════════════════════════════════════
159
- echo -e "${CYAN}═════════════════════════════════════════════════════════════════════════════${NC}"
160
- echo -e "${CYAN}║ ÉTAPE 7/7: VALIDATION DES SERVICES ║${NC}"
161
- echo -e "${CYAN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
162
- echo ""
163
-
164
- echo -e "${YELLOW}🔍 Vérification des containers Docker...${NC}"
165
- echo ""
166
- docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
167
- echo ""
168
-
169
- echo -e "${YELLOW}🧪 Tests de connexion...${NC}"
170
- echo ""
171
-
172
- # Test PostgreSQL
173
- echo -e "${YELLOW} • PostgreSQL:${NC}"
174
- if docker exec overmind-postgres-pgvector pg_isready -U postgres &> /dev/null; then
175
- echo -e "${GREEN} ✅ PostgreSQL actif${NC}"
176
- else
177
- echo -e "${RED} ❌ PostgreSQL non prêt${NC}"
178
- fi
179
-
180
- # Test RabbitMQ
181
- echo -e "${YELLOW} • RabbitMQ:${NC}"
182
- if docker ps --filter "name=rabbitmq" --format "{{.Names}}" | grep -q rabbitmq; then
183
- echo -e "${GREEN} ✅ RabbitMQ actif${NC}"
184
- else
185
- echo -e "${RED} ❌ RabbitMQ non trouvé${NC}"
186
- fi
187
-
188
- # Test Temporal
189
- echo -e "${YELLOW} • Temporal:${NC}"
190
- if docker ps --filter "name=temporal" --format "{{.Names}}" | grep -q temporal; then
191
- echo -e "${GREEN} ✅ Temporal actif${NC}"
192
- else
193
- echo -e "${RED} ❌ Temporal non trouvé${NC}"
194
- fi
195
-
196
- # Test Prometheus
197
- echo -e "${YELLOW} • Prometheus:${NC}"
198
- if docker ps --filter "name=prometheus" --format "{{.Names}}" | grep -q prometheus; then
199
- echo -e "${GREEN} ✅ Prometheus actif${NC}"
200
- else
201
- echo -e "${RED} ❌ Prometheus non trouvé${NC}"
202
- fi
203
-
204
- # Test Grafana
205
- echo -e "${YELLOW} • Grafana:${NC}"
206
- if docker ps --filter "name=grafana" --format "{{.Names}}" | grep -q grafana; then
207
- echo -e "${GREEN} ✅ Grafana actif${NC}"
208
- else
209
- echo -e "${RED} ❌ Grafana non trouvé${NC}"
210
- fi
211
-
212
- # Test Jaeger
213
- echo -e "${YELLOW} Jaeger:${NC}"
214
- if docker ps --filter "name=jaeger" --format "{{.Names}}" | grep -q jaeger; then
215
- echo -e "${GREEN} ✅ Jaeger actif${NC}"
216
- else
217
- echo -e "${RED} ❌ Jaeger non trouvé${NC}"
218
- fi
219
-
220
- echo ""
221
-
222
- # ═══════════════════════════════════════════════════════════════════════════════
223
- # RÉSUMÉ FINAL
224
- # ═══════════════════════════════════════════════════════════════════════════════
225
- echo -e "${GREEN}╔════════════════════════════════════════════════════════════════════════════╗${NC}"
226
- echo -e "${GREEN}║${NC} ${WHITE} ✅ INSTALLATION TERMINÉE AVEC SUCCÈS ! ${NC} ${GREEN}║${NC}"
227
- echo -e "${GREEN}╚════════════════════════════════════════════════════════════════════════════╝${NC}"
228
- echo ""
229
- echo -e "${YELLOW}📋 SERVICES DISPONIBLES:${NC}"
230
- echo ""
231
- echo -e "${CYAN}┌─────────────────────────────────────────────────────────────────┐${NC}"
232
- echo -e "${CYAN}│${NC} ${MAGENTA}Docker:${NC} ${CYAN}│${NC}"
233
- echo -e "${CYAN}│${NC} Ouvrez Docker Desktop pour voir tous les containers ${CYAN}│${NC}"
234
- echo -e "${CYAN}│${NC} ${CYAN}│${NC}"
235
- echo -e "${CYAN}│${NC} ${MAGENTA}URLs utiles:${NC} ${CYAN}│${NC}"
236
- echo -e "${CYAN}│${NC} • Prometheus: http://localhost:9090 ${CYAN}│${NC}"
237
- echo -e "${CYAN}│${NC} • Grafana: http://localhost:3000 (admin/admin) ${CYAN}│${NC}"
238
- echo -e "${CYAN}│${NC} • Jaeger: http://localhost:16686 ${CYAN}│${NC}"
239
- echo -e "${CYAN}│${NC} • RabbitMQ: http://localhost:15672 (guest/guest) ${CYAN}│${NC}"
240
- echo -e "${CYAN}│${NC} • Temporal: http://localhost:8233 ${CYAN}│${NC}"
241
- echo -e "${CYAN}└─────────────────────────────────────────────────────────────────┘${NC}"
242
- echo ""
243
- echo -e "${YELLOW}📚 DOCUMENTATION:${NC}"
244
- echo " • https://github.com/DeamonDev888/overmind-mcp"
245
- echo " https://www.npmjs.com/package/overmind-mcp"
246
- echo ""
247
- echo -e "${YELLOW}🎉 PROCHAINE ÉTAPE:${NC}"
248
- echo " • Lancez: overmind-setup --full"
249
- echo " • Ou créez votre premier agent: overmind create-agent"
250
- echo ""
1
+ #!/bin/bash
2
+ # ============================================================
3
+ # OVERMIND-MCP - INSTALLATION INTELLIGENTE Linux/macOS
4
+ # ============================================================
5
+ # Ce script détecte et utilise l'infrastructure existante
6
+ # - PostgreSQL existant ? Utilise-le !
7
+ # - Ports occupés ? Adapte la configuration !
8
+ # ============================================================
9
+
10
+ set -e
11
+
12
+ # Couleurs
13
+ RED='\033[0;31m'
14
+ GREEN='\033[0;32m'
15
+ YELLOW='\033[1;33m'
16
+ BLUE='\033[0;34m'
17
+ MAGENTA='\033[0;35m'
18
+ CYAN='\033[0;36m'
19
+ WHITE='\033[1;37m'
20
+ NC='\033[0m'
21
+
22
+ clear
23
+ echo -e "${CYAN}***************************************************************${NC}"
24
+ echo -e "${CYAN}* *${NC}"
25
+ echo -e "${MAGENTA} 🚀 OVERMIND-MCP - INSTALLATION INTELLIGENTE ${NC}"
26
+ echo -e "${CYAN}* Linux/macOS + Docker Desktop *${NC}"
27
+ echo -e "${CYAN}* *${NC}"
28
+ echo -e "${CYAN}***************************************************************${NC}"
29
+ echo ""
30
+
31
+ # ============================================================
32
+ # STEP 1: Vérifier Node.js et NPM
33
+ # ============================================================
34
+ echo -e "${CYAN}=======================================================${NC}"
35
+ echo -e "${CYAN}[ STEP 1/8 ] VERIFICATION NODE.JS${NC}"
36
+ echo -e "${CYAN}=======================================================${NC}"
37
+ echo ""
38
+
39
+ if ! command -v node &> /dev/null; then
40
+ echo -e "${RED}[ERREUR] Node.js non trouvé${NC}"
41
+ echo -e "${YELLOW}Linux: curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -${NC}"
42
+ echo -e "${YELLOW}macOS: brew install node${NC}"
43
+ exit 1
44
+ fi
45
+
46
+ echo -e "${GREEN}[OK] Node.js détecté:${NC}"
47
+ node --version
48
+ echo -e "${GREEN}[OK] NPM détecté:${NC}"
49
+ npm --version
50
+ echo ""
51
+
52
+ # ============================================================
53
+ # STEP 2: Installer OverMind-MCP
54
+ # ============================================================
55
+ echo -e "${CYAN}=======================================================${NC}"
56
+ echo -e "${CYAN}[ STEP 2/8 ] INSTALLATION OVERMIND-MCP${NC}"
57
+ echo -e "${CYAN}=======================================================${NC}"
58
+ echo ""
59
+
60
+ echo -e "${YELLOW}[INFO] Installation d'overmind-mcp...${NC}"
61
+ npm install -g overmind-mcp@latest
62
+
63
+ echo -e "${GREEN}[OK] overmind-mcp installé:${NC}"
64
+ npm view overmind-mcp version
65
+ echo ""
66
+
67
+ # ============================================================
68
+ # STEP 3: Vérifier Docker
69
+ # ============================================================
70
+ echo -e "${CYAN}=======================================================${NC}"
71
+ echo -e "${CYAN}[ STEP 3/8 ] VERIFICATION DOCKER${NC}"
72
+ echo -e "${CYAN}=======================================================${NC}"
73
+ echo ""
74
+
75
+ if ! command -v docker &> /dev/null; then
76
+ echo -e "${RED}[ERREUR] Docker non trouvé${NC}"
77
+ echo -e "${YELLOW}Linux: https://docs.docker.com/engine/install/${NC}"
78
+ echo -e "${YELLOW}macOS: https://www.docker.com/products/docker-desktop/${NC}"
79
+ exit 1
80
+ fi
81
+
82
+ echo -e "${GREEN}[OK] Docker détecté:${NC}"
83
+ docker --version
84
+ echo ""
85
+
86
+ # ============================================================
87
+ # STEP 4: Analyse infrastructure existante
88
+ # ============================================================
89
+ echo -e "${CYAN}=======================================================${NC}"
90
+ echo -e "${CYAN}[ STEP 4/8 ] ANALYSE INFRASTRUCTURE${NC}"
91
+ echo -e "${CYAN}=======================================================${NC}"
92
+ echo ""
93
+
94
+ echo -e "${YELLOW}[INFO] Détection des services existants...${NC}"
95
+ echo ""
96
+
97
+ POSTGRES_EXISTS=0
98
+ POSTGRES_CONTAINER=""
99
+ USE_EXTERNAL_POSTGRES=0
100
+
101
+ # Vérifier PostgreSQL sur port 5432
102
+ if docker ps -a --filter "publish=5432" --format "{{.Names}}" | grep -qi "postgres"; then
103
+ POSTGRES_CONTAINER=$(docker ps -a --filter "publish=5432" --format "{{.Names}}" | head -1)
104
+ POSTGRES_EXISTS=1
105
+ USE_EXTERNAL_POSTGRES=1
106
+ echo -e "${GREEN}[OK] PostgreSQL existant détecté: ${POSTGRES_CONTAINER}${NC}"
107
+ else
108
+ echo -e "${YELLOW}[INFO] PostgreSQL non détecté - installation prévue${NC}"
109
+ fi
110
+
111
+ echo ""
112
+ echo -e "${YELLOW}[INFO] Vérification des ports...${NC}"
113
+ netstat -tuln 2>/dev/null | grep ":5432 " > /dev/null && echo -e "${YELLOW}[WARN] Port 5432 utilisé${NC}" || echo -e "${GREEN}[OK] Port 5432 libre${NC}"
114
+ netstat -tuln 2>/dev/null | grep ":5672 " > /dev/null && echo -e "${YELLOW}[WARN] Port 5672 utilisé${NC}" || echo -e "${GREEN}[OK] Port 5672 libre${NC}"
115
+ netstat -tuln 2>/dev/null | grep ":9090 " > /dev/null && echo -e "${YELLOW}[WARN] Port 9090 utilisé${NC}" || echo -e "${GREEN}[OK] Port 9090 libre${NC}"
116
+ netstat -tuln 2>/dev/null | grep ":3000 " > /dev/null && echo -e "${YELLOW}[WARN] Port 3000 utilisé${NC}" || echo -e "${GREEN}[OK] Port 3000 libre${NC}"
117
+
118
+ echo ""
119
+
120
+ # ============================================================
121
+ # STEP 5: PostgreSQL intelligent
122
+ # ============================================================
123
+ echo -e "${CYAN}=======================================================${NC}"
124
+ echo -e "${CYAN}[ STEP 5/8 ] POSTGRESQL INTELLIGENT${NC}"
125
+ echo -e "${CYAN}=======================================================${NC}"
126
+ echo ""
127
+
128
+ if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
129
+ echo -e "${GREEN}[OK] Utilisation PostgreSQL existant: ${POSTGRES_CONTAINER}${NC}"
130
+
131
+ # Vérifier pgvector
132
+ if docker exec "${POSTGRES_CONTAINER}" psql -U postgres -c "SELECT extname FROM pg_extension WHERE extname = 'vector';" 2>/dev/null | grep -q vector; then
133
+ echo -e "${GREEN}[OK] pgvector détecté${NC}"
134
+ else
135
+ echo -e "${YELLOW}[WARN] pgvector non détecté${NC}"
136
+ echo ""
137
+ echo -e "${YELLOW}Pour installer pgvector manuellement :${NC}"
138
+ echo " docker exec ${POSTGRES_CONTAINER} psql -U postgres -c \"CREATE EXTENSION vector;\""
139
+ fi
140
+ else
141
+ echo -e "${YELLOW}[INFO] Installation PostgreSQL + pgvector...${NC}"
142
+ npx overmind-mcp install-dependencies
143
+ fi
144
+
145
+ echo ""
146
+
147
+ # ============================================================
148
+ # STEP 6: Configuration intelligente
149
+ # ============================================================
150
+ echo -e "${CYAN}=======================================================${NC}"
151
+ echo -e "${CYAN}[ STEP 6/8 ] CONFIGURATION ADAPTIVE${NC}"
152
+ echo -e "${CYAN}=======================================================${NC}"
153
+ echo ""
154
+
155
+ OVERMIND_DIR="$HOME/.overmind"
156
+ mkdir -p "$OVERMIND_DIR"
157
+
158
+ # Créer .env intelligent
159
+ if [ ! -f "$OVERMIND_DIR/.env" ]; then
160
+ echo -e "${YELLOW}[INFO] Création configuration .env...${NC}"
161
+ cat > "$OVERMIND_DIR/.env" << EOF
162
+ # OverMind-MCP Environment Configuration
163
+ # Généré par install-overmind-unix.sh
164
+
165
+ # PostgreSQL
166
+ POSTGRES_HOST=localhost
167
+ POSTGRES_PORT=5432
168
+ POSTGRES_USER=postgres
169
+ POSTGRES_PASSWORD=overmind_temp_password_change_me
170
+ POSTGRES_DB=overmind
171
+
172
+ # Infrastructure détectée
173
+ EOF
174
+
175
+ if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
176
+ echo "POSTGRES_EXTERNAL=${POSTGRES_CONTAINER}" >> "$OVERMIND_DIR/.env"
177
+ fi
178
+
179
+ cat >> "$OVERMIND_DIR/.env" << EOF
180
+
181
+ # OpenTelemetry
182
+ OTEL_ENABLED=false
183
+
184
+ # Workspace
185
+ OVERMIND_WORKSPACE=$OVERMIND_DIR
186
+ EOF
187
+ echo -e "${GREEN}[OK] Configuration créée: ${OVERMIND_DIR}/.env${NC}"
188
+ fi
189
+
190
+ echo ""
191
+
192
+ # ============================================================
193
+ # STEP 7: Télécharger docker-compose
194
+ # ============================================================
195
+ echo -e "${CYAN}=======================================================${NC}"
196
+ echo -e "${CYAN}[ STEP 7/8 ] TÉLECHARGEMENT CONFIG${NC}"
197
+ echo -e "${CYAN}=======================================================${NC}"
198
+ echo ""
199
+
200
+ echo -e "${YELLOW}[INFO] Téléchargement docker-compose.yml...${NC}"
201
+ curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.yml -o "$OVERMIND_DIR/docker-compose.yml"
202
+ curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.exporters.yml -o "$OVERMIND_DIR/docker-compose.exporters.yml"
203
+
204
+ # Adapter docker-compose si PostgreSQL externe
205
+ if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
206
+ echo -e "${YELLOW}[INFO] Adaptation docker-compose (PostgreSQL externe)...${NC}"
207
+ sed -i.bak 's/^ postgres:/# postgres:/' "$OVERMIND_DIR/docker-compose.yml"
208
+ sed -i.bak 's/^ image: pgvector/# image:/' "$OVERMIND_DIR/docker-compose.yml"
209
+ sed -i.bak 's/^ container_name: overmind-postgres/# container_name:/' "$OVERMIND_DIR/docker-compose.yml"
210
+ echo -e "${GREEN}[OK] Docker-compose adapté (postgres désactivé)${NC}"
211
+ fi
212
+
213
+ echo -e "${GREEN}[OK] Fichers téléchargés${NC}"
214
+ echo ""
215
+
216
+ # ============================================================
217
+ # STEP 8: Démarrage intelligent
218
+ # ============================================================
219
+ echo -e "${CYAN}=======================================================${NC}"
220
+ echo -e "${CYAN}[ STEP 8/8 ] DÉMARRAGE DOCKER${NC}"
221
+ echo -e "${CYAN}=======================================================${NC}"
222
+ echo ""
223
+
224
+ echo -e "${YELLOW}[INFO] Démarrage infrastructure Docker...${NC}"
225
+ cd "$OVERMIND_DIR"
226
+ docker-compose -f docker-compose.yml up -d
227
+
228
+ if [ $? -ne 0 ]; then
229
+ echo -e "${YELLOW}[WARN] Certains services ont pu échouer${NC}"
230
+ echo -e "${YELLOW}[INFO] Vérification des services démarrés...${NC}"
231
+ fi
232
+
233
+ echo ""
234
+ sleep 15
235
+
236
+ # ============================================================
237
+ # VALIDATION INTELLIGENTE
238
+ # ============================================================
239
+ echo ""
240
+ echo -e "${CYAN}=======================================================${NC}"
241
+ echo -e "${CYAN}[ VALIDATION DES SERVICES ]${NC}"
242
+ echo -e "${CYAN}=======================================================${NC}"
243
+ echo ""
244
+
245
+ echo -e "${YELLOW}[INFO] Vérification des containers...${NC}"
246
+ echo ""
247
+ docker ps --filter "name=overmind" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
248
+ echo ""
249
+
250
+ echo -e "${YELLOW}[INFO] Tests de connexion...${NC}"
251
+ echo ""
252
+
253
+ # Test PostgreSQL
254
+ echo -e " • PostgreSQL:"
255
+ if [ "$USE_EXTERNAL_POSTGRES" -eq 1 ]; then
256
+ docker exec "${POSTGRES_CONTAINER}" pg_isready -U postgres > /dev/null 2>&1
257
+ if [ $? -eq 0 ]; then
258
+ echo -e "${GREEN} [OK] PostgreSQL actif (${POSTGRES_CONTAINER})${NC}"
259
+ else
260
+ echo -e "${RED} [FAIL] PostgreSQL non prêt${NC}"
261
+ fi
262
+ else
263
+ docker ps --filter "name=overmind-postgres" --format "{{.Names}}" | grep -q postgres
264
+ if [ $? -eq 0 ]; then
265
+ docker exec overmind-postgres pg_isready -U postgres > /dev/null 2>&1
266
+ if [ $? -eq 0 ]; then
267
+ echo -e "${GREEN} [OK] OverMind PostgreSQL actif${NC}"
268
+ else
269
+ echo -e "${RED} [FAIL] PostgreSQL non prêt${NC}"
270
+ fi
271
+ else
272
+ echo -e "${RED} [FAIL] OverMind PostgreSQL non trouvé${NC}"
273
+ fi
274
+ fi
275
+
276
+ # Test RabbitMQ
277
+ echo -e " • RabbitMQ:"
278
+ docker ps --filter "name=overmind-rabbitmq" --format "{{.Names}}" | grep -q rabbitmq
279
+ if [ $? -eq 0 ]; then
280
+ echo -e "${GREEN} [OK] RabbitMQ actif${NC}"
281
+ else
282
+ echo -e "${RED} [FAIL] RabbitMQ non trouvé${NC}"
283
+ fi
284
+
285
+ # Test Temporal
286
+ echo -e " • Temporal:"
287
+ docker ps --filter "name=overmind-temporal" --format "{{.Names}}" | grep -q temporal
288
+ if [ $? -eq 0 ]; then
289
+ echo -e "${GREEN} [OK] Temporal actif${NC}"
290
+ else
291
+ echo -e "${RED} [FAIL] Temporal non trouvé${NC}"
292
+ fi
293
+
294
+ # Test Prometheus
295
+ echo -e " • Prometheus:"
296
+ docker ps --filter "name=overmind-prometheus" --format "{{.Names}}" | grep -q prometheus
297
+ if [ $? -eq 0 ]; then
298
+ echo -e "${GREEN} [OK] Prometheus actif${NC}"
299
+ else
300
+ echo -e "${RED} [FAIL] Prometheus non trouvé${NC}"
301
+ fi
302
+
303
+ # Test Grafana
304
+ echo -e " • Grafana:"
305
+ docker ps --filter "name=overmind-grafana" --format "{{.Names}}" | grep -q grafana
306
+ if [eq $? -eq 0 ]; then
307
+ echo -e "${GREEN} [OK] Grafana actif${NC}"
308
+ else
309
+ echo -e "${RED} [FAIL] Grafana non trouvé${NC}"
310
+ fi
311
+
312
+ # Test Jaeger
313
+ echo -e " • Jaeger:"
314
+ docker ps --filter "name=overmind-jaeger" --format "{{.Names}}" | grep -q jaeger
315
+ if [ $? -eq 0 ]; then
316
+ echo -e "${GREEN} [OK] Jaeger actif${NC}"
317
+ else
318
+ echo -e "${RED} [FAIL] Jaeger non trouvé${NC}"
319
+ fi
320
+
321
+ echo ""
322
+ echo -e "${GREEN}***************************************************************${NC}"
323
+ echo -e "${GREEN}* *${NC}"
324
+ echo -e "${GREEN}* ✅ INSTALLATION TERMINÉE ! *${NC}"
325
+ echo -e "${GREEN}* *${NC}"
326
+ echo -e "${GREEN}***************************************************************${NC}"
327
+ echo ""
328
+ echo -e "${YELLOW}[SERVICES ACTIFS]"
329
+ echo ""
330
+ echo " Ouvrez Docker Desktop → onglet Containers"
331
+ echo ""
332
+ echo " URLs utiles:"
333
+ echo " • Prometheus: http://localhost:9090"
334
+ echo " • Grafana: http://localhost:3000 (admin/admin)"
335
+ echo " • Jaeger: http://localhost:16686"
336
+ echo " • RabbitMQ: http://localhost:15672 (guest/guest)"
337
+ echo " • Temporal: http://localhost:8233"
338
+ echo ""
339
+ echo -e "${YELLOW}[PROCHAINE ÉTAPE]"
340
+ echo ""
341
+ echo " • Créez votre premier agent: overmind create-agent"
342
+ echo " • Ou listez les agents: overmind list-agents"
343
+ echo ""
@@ -1,257 +1,341 @@
1
- @echo off
2
- REM ═══════════════════════════════════════════════════════════════════════════════
3
- REM OVERMIND-MCP - INSTALLATION COMPLÈTE WINDOWS (Docker Desktop)
4
- REM ═══════════════════════════════════════════════════════════════════════════════
5
- REM Ce script installe et configure TOUT automatiquement :
6
- REM - npm install -g overmind-mcp
7
- REM - Docker Desktop (vérification)
8
- REM - PostgreSQL + pgvector (si absent)
9
- REM - Infrastructure complète (RabbitMQ, Temporal, Prometheus, Grafana, Jaeger)
10
- REM - Validation de tous les services
11
- REM ═══════════════════════════════════════════════════════════════════════════════
12
-
13
- setlocal enabledelayedexpansion
14
-
15
- REM Couleurs ANSI pour Windows 10+
16
- for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
17
- set "%ESC%=[0m"
18
-
19
- echo.
20
- echo %ESC%[96m╔════════════════════════════════════════════════════════════════════════════╗%ESC%
21
- echo %ESC%[96m║%ESC%[0m %ESC%[93m %ESC%[0m %ESC%[96m║%ESC%[0m
22
- echo %ESC%[96m║%ESC%[0m %ESC%[95m 🚀 OVERMIND-MCP - INSTALLATION COMPLÈTE %ESC%[0m %ESC%[96m║%ESC%[0m
23
- echo %ESC%[96m║%ESC%[0m %ESC%[93m Windows + Docker Desktop %ESC%[0m %ESC%[96m║%ESC%[0m
24
- echo %ESC%[96m║%ESC%[0m %ESC%[93m %ESC%[0m %ESC%[96m║%ESC%[0m
25
- echo %ESC%[96m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
26
- echo.
27
-
28
- REM ═══════════════════════════════════════════════════════════════════════════════
29
- REM STEP 1: Vérifier Node.js et NPM
30
- REM ═══════════════════════════════════════════════════════════════════════════════
31
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
32
- echo %ESC%[36m║ ÉTAPE 1/7: VÉRIFICATION NODE.JS ET NPM ║%ESC%
33
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
34
- echo.
35
-
36
- where node >nul 2>&1
37
- if errorlevel 1 (
38
- echo %ESC%[91m❌ Node.js non trouvé. Installation requise...%ESC%
39
- echo %ESC%[93m📥 Téléchargement: https://nodejs.org/%ESC%
40
- pause
41
- exit /b 1
42
- )
43
-
44
- echo %ESC%[92m✅ Node.js détecté:%ESC%
45
- node --version
46
- echo %ESC%[92m✅ NPM détecté:%ESC%
47
- npm --version
48
- echo.
49
-
50
- REM ═══════════════════════════════════════════════════════════════════════════════
51
- REM STEP 2: Installer OverMind-MCP globalement
52
- REM ═══════════════════════════════════════════════════════════════════════════════
53
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
54
- echo %ESC%[36m║ ÉTAPE 2/7: INSTALLATION OVERMIND-MCP ║%ESC%
55
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
56
- echo.
57
-
58
- echo %ESC%[93m📦 Installation d'overmind-mcp (dernière version)...%ESC%
59
- call npm install -g overmind-mcp@latest
60
- if errorlevel 1 (
61
- echo %ESC%[91m❌ Erreur installation overmind-mcp%ESC%
62
- pause
63
- exit /b 1
64
- )
65
-
66
- echo %ESC%[92m✅ overmind-mcp installé:%ESC%
67
- npm view overmind-mcp version
68
- echo.
69
-
70
- REM ═══════════════════════════════════════════════════════════════════════════════
71
- REM STEP 3: Vérifier Docker Desktop
72
- REM ═══════════════════════════════════════════════════════════════════════════════
73
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
74
- echo %ESC%[36m║ ÉTAPE 3/7: VÉRIFICATION DOCKER DESKTOP ║%ESC%
75
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
76
- echo.
77
-
78
- docker --version >nul 2>&1
79
- if errorlevel 1 (
80
- echo %ESC%[91m❌ Docker non trouvé. Docker Desktop requis.%ESC%
81
- echo %ESC%[93m📥 Téléchargement: https://www.docker.com/products/docker-desktop/%ESC%
82
- pause
83
- exit /b 1
84
- )
85
-
86
- echo %ESC%[92m✅ Docker détecté:%ESC%
87
- docker --version
88
- echo.
89
-
90
- REM ═══════════════════════════════════════════════════════════════════════════════
91
- REM STEP 4: Installer PostgreSQL + pgvector
92
- REM ═══════════════════════════════════════════════════════════════════════════════
93
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
94
- echo %ESC%[36m║ ÉTAPE 4/7: INSTALLATION POSTGRESQL + PGVECTOR ║%ESC%
95
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
96
- echo.
97
-
98
- call npm exec -y overmind-mcp -- install-dependencies
99
- echo.
100
-
101
- REM ═══════════════════════════════════════════════════════════════════════════════
102
- REM STEP 5: Créer configuration OverMind
103
- REM ═══════════════════════════════════════════════════════════════════════════════
104
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
105
- echo %ESC%[36m║ ÉTAPE 5/7: CONFIGURATION OVERMIND ║%ESC%
106
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
107
- echo.
108
-
109
- if not exist "%USERPROFILE%\.overmind" mkdir "%USERPROFILE%\.overmind"
110
-
111
- REM Créer .env de base
112
- if not exist "%USERPROFILE%\.overmind\.env" (
113
- echo %ESC%[93m📝 Création configuration .env...%ESC%
114
- (
115
- echo # OverMind-MCP Environment Configuration
116
- echo # Généré par install-overmind-windows.bat
117
- echo.
118
- echo # PostgreSQL
119
- echo POSTGRES_HOST=localhost
120
- echo POSTGRES_PORT=5432
121
- echo POSTGRES_USER=postgres
122
- echo POSTGRES_PASSWORD=overmind_temp_password_change_me
123
- echo POSTGRES_DB=overmind
124
- echo.
125
- echo # OpenTelemetry (optionnel)
126
- echo OTEL_ENABLED=false
127
- echo.
128
- echo # Workspace
129
- echo OVERMIND_WORKSPACE=%USERPROFILE%\.overmind
130
- ) > "%USERPROFILE%\.overmind\.env"
131
- echo %ESC%[92m✅ Configuration créée:%ESC% %USERPROFILE%\.overmind\.env
132
- )
133
-
134
- echo.
135
-
136
- REM ═══════════════════════════════════════════════════════════════════════════════
137
- REM STEP 6: Lancer infrastructure Docker complète
138
- REM ═══════════════════════════════════════════════════════════════════════════════
139
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
140
- echo %ESC%[36m║ ÉTAPE 6/7: DÉMARRAGE INFRASTRUCTURE DOCKER ║%ESC%
141
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
142
- echo.
143
-
144
- REM Télécharger docker-compose depuis GitHub
145
- echo %ESC%[93m📥 Téléchargement docker-compose.yml...%ESC%
146
- curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.yml -o "%USERPROFILE%\.overmind\docker-compose.yml"
147
- curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.exporters.yml -o "%USERPROFILE%\.overmind\docker-compose.exporters.yml"
148
-
149
- echo %ESC%[93m🚀 Démarrage de l'infrastructure Docker...%ESC%
150
- cd "%USERPROFILE%\.overmind"
151
- docker-compose -f docker-compose.yml up -d
152
-
153
- echo.
154
- timeout /t 10 /nobreak >nul
155
-
156
- REM ═══════════════════════════════════════════════════════════════════════════════
157
- REM STEP 7: Validation de tous les services
158
- REM ═══════════════════════════════════════════════════════════════════════════════
159
- echo %ESC%[36m═════════════════════════════════════════════════════════════════════════════%ESC%
160
- echo %ESC%[36m║ ÉTAPE 7/7: VALIDATION DES SERVICES ║%ESC%
161
- echo %ESC%[36m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
162
- echo.
163
-
164
- echo %ESC%[93m🔍 Vérification des containers Docker...%ESC%
165
- echo.
166
- docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
167
- echo.
168
-
169
- echo %ESC%[93m🧪 Tests de connexion...%ESC%
170
- echo.
171
-
172
- REM Test PostgreSQL
173
- echo %ESC%[93m • PostgreSQL:%ESC%
174
- docker exec overmind-postgres-pgvector pg_isready -U postgres >nul 2>&1
175
- if errorlevel 1 (
176
- echo %ESC%[91m ❌ PostgreSQL non prêt%ESC%
177
- ) else (
178
- echo %ESC%[92m ✅ PostgreSQL actif%ESC%
179
- )
180
-
181
- REM Test RabbitMQ
182
- echo %ESC%[93m • RabbitMQ:%ESC%
183
- docker ps --filter "name=rabbitmq" --format "{{.Names}}" | findstr rabbitmq >nul
184
- if errorlevel 1 (
185
- echo %ESC%[91m ❌ RabbitMQ non trouvé%ESC%
186
- ) else (
187
- echo %ESC%[92m ✅ RabbitMQ actif%ESC%
188
- )
189
-
190
- REM Test Temporal
191
- echo %ESC%[93m • Temporal:%ESC%
192
- docker ps --filter "name=temporal" --format "{{.Names}}" | findstr temporal >nul
193
- if errorlevel 1 (
194
- echo %ESC%[91m ❌ Temporal non trouvé%ESC%
195
- ) else (
196
- echo %ESC%[92m ✅ Temporal actif%ESC%
197
- )
198
-
199
- REM Test Prometheus
200
- echo %ESC%[93m • Prometheus:%ESC%
201
- docker ps --filter "name=prometheus" --format "{{.Names}}" | findstr prometheus >nul
202
- if errorlevel 1 (
203
- echo %ESC%[91m ❌ Prometheus non trouvé%ESC%
204
- ) else (
205
- echo %ESC%[92m ✅ Prometheus actif%ESC%
206
- )
207
-
208
- REM Test Grafana
209
- echo %ESC%[93m • Grafana:%ESC%
210
- docker ps --filter "name=grafana" --format "{{.Names}}" | findstr grafana >nul
211
- if errorlevel 1 (
212
- echo %ESC%[91m ❌ Grafana non trouvé%ESC%
213
- ) else (
214
- echo %ESC%[92m ✅ Grafana actif%ESC%
215
- )
216
-
217
- REM Test Jaeger
218
- echo %ESC%[93m • Jaeger:%ESC%
219
- docker ps --filter "name=jaeger" --format "{{.Names}}" | findstr jaeger >nul
220
- if errorlevel 1 (
221
- echo %ESC%[91m ❌ Jaeger non trouvé%ESC%
222
- ) else (
223
- echo %ESC%[92m ✅ Jaeger actif%ESC%
224
- )
225
-
226
- echo.
227
-
228
- REM ═══════════════════════════════════════════════════════════════════════════════
229
- REM RÉSUMÉ FINAL
230
- REM ═══════════════════════════════════════════════════════════════════════════════
231
- echo %ESC%[92m╔════════════════════════════════════════════════════════════════════════════╗%ESC%
232
- echo %ESC%[92m║%ESC%[0m %ESC%[97m ✅ INSTALLATION TERMINÉE AVEC SUCCÈS ! %ESC%[0m %ESC%[92m║%ESC%
233
- echo %ESC%[92m╚════════════════════════════════════════════════════════════════════════════╝%ESC%
234
- echo.
235
- echo %ESC%[93m📋 SERVICES DISPONIBLES:%ESC%
236
- echo.
237
- echo %ESC%[96m┌─────────────────────────────────────────────────────────────────┐%ESC%
238
- echo %ESC%[96m│%ESC%[0m %ESC%[95mDocker Desktop:%ESC%[0m %ESC%[96m│%ESC%
239
- echo %ESC%[96m│%ESC%[0m Ouvrez Docker Desktop pour voir tous les containers %ESC%[96m│%ESC%
240
- echo %ESC%[96m│%ESC%[0m %ESC%[96m│%ESC%
241
- echo %ESC%[96m│%ESC%[0m %ESC%[95mURLs utiles:%ESC%[0m %ESC%[96m│%ESC%
242
- echo %ESC%[96m│%ESC%[0m • Prometheus: http://localhost:9090 %ESC%[96m│%ESC%
243
- echo %ESC%[96m│%ESC%[0m • Grafana: http://localhost:3000 (admin/admin) %ESC%[96m│%ESC%
244
- echo %ESC%[96m│%ESC%[0m • Jaeger: http://localhost:16686 %ESC%[96m│%ESC%
245
- echo %ESC%[96m│%ESC%[0m • RabbitMQ: http://localhost:15672 (guest/guest) %ESC%[96m│%ESC%
246
- echo %ESC%[96m│%ESC%[0m • Temporal: http://localhost:8233 %ESC%[96m│%ESC%
247
- echo %ESC%[96m└─────────────────────────────────────────────────────────────────┘%ESC%
248
- echo.
249
- echo %ESC%[93m📚 DOCUMENTATION:%ESC%
250
- echo • https://github.com/DeamonDev888/overmind-mcp
251
- echo • https://www.npmjs.com/package/overmind-mcp
252
- echo.
253
- echo %ESC%[93m🎉 PROCHAINE ÉTAPE:%ESC%
254
- echo • Lancez: overmind-setup --full
255
- echo • Ou créez votre premier agent: overmind create-agent
256
- echo.
257
- pause
1
+ @echo off
2
+ REM ============================================================
3
+ REM OVERMIND-MCP - INSTALLATION INTELLIGENTE WINDOWS
4
+ REMB ============================================================
5
+ REM Ce script détecte et utilise l'infrastructure existante
6
+ REM - PostgreSQL existant ? Utilise-le !
7
+ REM - Ports occupés ? Adapte la configuration !
8
+ REM ============================================================
9
+
10
+ setlocal enabledelayedexpansion
11
+
12
+ REM Couleurs ANSI
13
+ for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
14
+ set "%ESC%=[0m"
15
+
16
+ echo.
17
+ echo %ESC%[96m***************************************************************%ESC%
18
+ echo %ESC%[96m* *%ESC%
19
+ echo %ESC%[96m* OVERMIND-MCP - INSTALLATION INTELLIGENTE *%ESC%
20
+ echo %ESC%[96m* Windows + Docker Desktop *%ESC%
21
+ echo %ESC%[96m* *%ESC%
22
+ echo %ESC%[96m***************************************************************%ESC%
23
+ echo.
24
+
25
+ REM ============================================================
26
+ REM STEP 1: Verifier Node.js
27
+ REM ============================================================
28
+ echo %ESC%[36m=======================================================%ESC%
29
+ echo %ESC%[36m[ STEP 1/8 ] VERIFICATION NODE.JS%ESC%
30
+ echo %ESC%[36m=======================================================%ESC%
31
+ echo.
32
+
33
+ where node >nul 2>&1
34
+ if errorlevel 1 (
35
+ echo %ESC%[91m[ERREUR] Node.js non trouve%ESC%
36
+ echo Telechargez: https://nodejs.org/
37
+ pause
38
+ exit /b 1
39
+ )
40
+
41
+ echo %ESC%[92m[OK] Node.js:%ESC%
42
+ node --version
43
+ echo %ESC%[92m[OK] NPM:%ESC%
44
+ npm --version
45
+ echo.
46
+
47
+ REM ============================================================
48
+ REM STEP 2: Installer OverMind-MCP
49
+ REM ============================================================
50
+ echo %ESC%[36m=======================================================%ESC%
51
+ echo %ESC%[36m[ STEP 2/8 ] INSTALLATION OVERMIND-MCP%ESC%
52
+ echo %ESC%[36m=======================================================%ESC%
53
+ echo.
54
+
55
+ echo [INFO] Installation en cours...
56
+ call npm install -g overmind-mcp@latest
57
+ if errorlevel 1 (
58
+ echo %ESC%[91m[ERREUR] Echec installation overmind-mcp%ESC%
59
+ pause
60
+ exit /b 1
61
+ )
62
+
63
+ echo %ESC%[92m[OK] overmind-mcp installe: Version%ESC%
64
+ npm view overmind-mcp version
65
+ echo.
66
+
67
+ REM ============================================================
68
+ REM STEP 3: Verifier Docker
69
+ REM ============================================================
70
+ echo %ESC%[36m=======================================================%ESC%
71
+ echo %ESC%[36m[ STEP 3/8 ] VERIFICATION DOCKER%ESC%
72
+ echo %ESC%[36m=======================================================%ESC%
73
+ echo.
74
+
75
+ docker --version >nul 2>&1
76
+ if errorlevel 1 (
77
+ echo %ESC%[91m[ERREUR] Docker non trouve%ESC%
78
+ echo Telechargez: https://www.docker.com/products/docker-desktop/
79
+ pause
80
+ exit /b 1
81
+ )
82
+
83
+ echo %ESC%[92m[OK] Docker detecte:%ESC%
84
+ docker --version
85
+ echo.
86
+
87
+ REM ============================================================
88
+ REM STEP 4: Analyse infrastructure existante
89
+ REM ============================================================
90
+ echo %ESC%[36m=======================================================%ESC%
91
+ echo %ESC%[36m[ STEP 4/8 ] ANALYSE INFRASTRUCTURE%ESC%
92
+ echo %ESC%[36m=======================================================%ESC%
93
+ echo.
94
+
95
+ echo [INFO] Detection des services existants...
96
+ echo.
97
+
98
+ set "POSTGRES_EXISTS=0"
99
+ set "POSTGRES_CONTAINER="
100
+ set "USE_EXTERNAL_POSTGRES=0"
101
+
102
+ REM Verifier PostgreSQL sur port 5432
103
+ docker ps -a --filter "publish=5432" --format "{{.Names}}" | findstr /i "postgres" >nul
104
+ if not errorlevel 1 (
105
+ for /f "tokens=*" %%a in ('docker ps -a --filter "publish=5432" --format "{{.Names}}"') do (
106
+ set "POSTGRES_EXISTS=1"
107
+ set "POSTGRES_CONTAINER=%%a"
108
+ echo %ESC%[92m[OK] PostgreSQL existant: %%a%ESC%
109
+ set "USE_EXTERNAL_POSTGRES=1"
110
+ )
111
+ ) else (
112
+ echo %ESC%[93m[INFO] PostgreSQL non detecte - installation prevue%ESC%
113
+ )
114
+
115
+ echo.
116
+ echo [INFO] Verification des ports...
117
+ netstat -an | findstr ":5432 " >nul && echo %ESC%[93m[WARN] Port 5432 utilise%ESC% || echo %ESC%[92m[OK] Port 5432 libre%ESC%
118
+ netstat -an | findstr ":5672 " >nul && echo %ESC%[93m[WARN] Port 5672 utilise%ESC% || echo %ESC%[92m[OK] Port 5672 libre%ESC%
119
+ netstat -an | findstr ":9090 " >nul && echo %ESC%[93m[WARN] Port 9090 utilise%ESC% || echo %ESC%[92m[OK] Port 9090 libre%ESC%
120
+ netstat -an | findstr ":3000 " >nul && echo %ESC%[93m[WARN] Port 3000 utilise%ESC% || echo %ESC%[92m[OK] Port 3000 libre%ESC%
121
+
122
+ echo.
123
+
124
+ REM ============================================================
125
+ REM STEP 5: PostgreSQL intelligent
126
+ REM ============================================================
127
+ echo %ESC%[36m=======================================================%ESC%
128
+ echo %ESC%[36m[ STEP 5/8 ] POSTGRESQL INTELLIGENT%ESC%
129
+ echo %ESC%[36m=======================================================%ESC%
130
+ echo.
131
+
132
+ if "%USE_EXTERNAL_POSTGRES%"=="1" (
133
+ echo %ESC%[92m[OK] Utilisation PostgreSQL existant: %POSTGRES_CONTAINER%%ESC%
134
+
135
+ REM Verifier pgvector
136
+ docker exec %POSTGRES_CONTAINER% psql -U postgres -c "SELECT extname FROM pg_extension WHERE extname = 'vector';" >nul 2>&1
137
+ if errorlevel 1 (
138
+ echo %ESC%[93m[WARN] pgvector non detecte%ESC%
139
+ echo.
140
+ echo [INFO] Pour installer pgvector manuellement:
141
+ echo docker exec %POSTGRES_CONTAINER% psql -U postgres -c "CREATE EXTENSION vector;"
142
+ ) else (
143
+ echo %ESC%[92m[OK] pgvector detecte%ESC%
144
+ )
145
+ ) else (
146
+ echo [INFO] Installation PostgreSQL + pgvector...
147
+ call npm exec -y overmind-mcp -- install-dependencies
148
+ if errorlevel 1 (
149
+ echo %ESC%[91m[ERREUR] Echec installation PostgreSQL%ESC%
150
+ )
151
+ )
152
+
153
+ echo.
154
+
155
+ REM ============================================================
156
+ REM STEP 6: Configuration intelligente
157
+ REM ============================================================
158
+ echo %ESC%[36m=======================================================%ESC%
159
+ echo %ESC%[36m[ STEP 6/8 ] CONFIGURATION ADAPTATIVE%ESC%
160
+ echo %ESC%[36m=======================================================%ESC%
161
+ echo.
162
+
163
+ if not exist "%USERPROFILE%\.overmind" mkdir "%USERPROFILE%\.overmind"
164
+
165
+ REM Creer .env intelligent
166
+ if not exist "%USERPROFILE%\.overmind\.env" (
167
+ echo [INFO] Creation .env...
168
+ (
169
+ echo # OverMind-MCP Environment Configuration
170
+ echo # Genere par install-overmind-windows.bat
171
+ echo.
172
+ echo # PostgreSQL
173
+ echo POSTGRES_HOST=localhost
174
+ echo POSTGRES_PORT=5432
175
+ echo POSTGRES_USER=postgres
176
+ echo POSTGRES_PASSWORD=overmind_temp_password_change_me
177
+ echo POSTGRES_DB=overmind
178
+ echo.
179
+ echo # Infrastructure detectee
180
+ if "%USE_EXTERNAL_POSTGRES%"=="1" (
181
+ echo POSTGRES_EXTERNAL=%POSTGRES_CONTAINER%
182
+ )
183
+ echo.
184
+ echo # OpenTelemetry
185
+ echo OTEL_ENABLED=false
186
+ echo.
187
+ echo # Workspace
188
+ echo OVERMIND_WORKSPACE=%USERPROFILE%\.overmind
189
+ ) > "%USERPROFILE%\.overmind\.env"
190
+ echo %ESC%[92m[OK] .env cree%ESC%
191
+ )
192
+
193
+ echo.
194
+
195
+ REM ============================================================
196
+ REM STEP 7: Telecharger docker-compose
197
+ REM ============================================================
198
+ echo %ESC%[36m=======================================================%ESC%
199
+ echo %ESC%[36m[ STEP 7/8 ] TELECHARGEMENT CONFIG%ESC%
200
+ echo %ESC%[36m=======================================================%ESC%
201
+ echo.
202
+
203
+ echo [INFO] Telechargement docker-compose.yml...
204
+ curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.yml -o "%USERPROFILE%\.overmind\docker-compose.yml"
205
+ curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.exporters.yml -o "%USERPROFILE%\.overmind\docker-compose.exporters.yml"
206
+
207
+ echo %ESC%[92m[OK] Fichers telecharges%ESC%
208
+ echo.
209
+
210
+ REM ============================================================
211
+ REM STEP 8: Demarrage intelligent
212
+ REM ============================================================
213
+ echo %ESC%[36m=======================================================%ESC%
214
+ echo %ESC%[36m[ STEP 8/8 ] DEMARRAGE DOCKER%ESC%
215
+ echo %ESC%[36m=======================================================%ESC%
216
+ echo.
217
+
218
+ echo [INFO] Demarrage infrastructure Docker...
219
+ cd "%USERPROFILE%\.overmind"
220
+
221
+ REM Si PostgreSQL externe, adapter le docker-compose
222
+ if "%USE_EXTERNAL_POSTGRES%"=="1" (
223
+ echo [INFO] Adaptation docker-compose (PostgreSQL externe)...
224
+ powershell -Command "(Get-Content '%USERPROFILE%\.overmind\docker-compose.yml') -replace ' postgres:','# postgres:', [System.Text.RegularExpressions.RegexOptions]::Multiline) -replace ' image: pgvector/pgvector:pg16',' # image: pgvector/pgvector:pg16' -replace ' container_name: overmind-postgres',' # container_name: overmind-postgres' | Set-Content '%USERPROFILE%\.overmind\docker-compose.yml'"
225
+ echo %ESC%[92m[OK] Docker-compose adapte (postgres desactive)%ESC%
226
+ )
227
+
228
+ docker-compose -f docker-compose.yml up -d
229
+
230
+ if errorlevel 1 (
231
+ echo %ESC%[93m[WARN] Certains services ont pu echouer%ESC%
232
+ echo [INFO] Verification des services demarres...
233
+ )
234
+
235
+ echo.
236
+ timeout /t 20 /nobreak >nul
237
+
238
+ REM ============================================================
239
+ REM STEP 9: Validation intelligente
240
+ REM ============================================================
241
+ echo.
242
+ echo %ESC%[36m=======================================================%ESC%
243
+ echo %ESC%[36m[ VALIDATION DES SERVICES ]%ESC%
244
+ echo %ESC%[36m=======================================================%ESC%
245
+ echo.
246
+
247
+ echo [INFO] Verification des containers...
248
+ echo.
249
+
250
+ docker ps --filter "name=overmind" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
251
+ echo.
252
+
253
+ echo [INFO] Tests de connexion...
254
+ echo.
255
+
256
+ echo - PostgreSQL:
257
+ if "%USE_EXTERNAL_POSTGRES%"=="1" (
258
+ docker exec %POSTGRES_CONTAINER% pg_isready -U postgres >nul 2>&1
259
+ if errorlevel 1 (
260
+ echo %ESC%[91m [FAIL] PostgreSQL non pret%ESC%
261
+ ) else (
262
+ echo %ESC%[92m [OK] PostgreSQL actif (%POSTGRES_CONTAINER%)%ESC%
263
+ )
264
+ ) else (
265
+ docker ps --filter "name=overmind-postgres" --format "{{.Names}}" | findstr postgres >nul
266
+ if errorlevel 1 (
267
+ echo %ESC%[91m [FAIL] OverMind PostgreSQL non trouve%ESC%
268
+ ) else (
269
+ docker exec overmind-postgres pg_isready -U postgres >nul 2>&1
270
+ if errorlevel 1 (
271
+ echo %ESC%[91m [FAIL] PostgreSQL non pret%ESC%
272
+ ) else (
273
+ echo %ESC%[92m [OK] OverMind PostgreSQL actif%ESC%
274
+ )
275
+ )
276
+ )
277
+
278
+ echo - RabbitMQ:
279
+ docker ps --filter "name=overmind-rabbitmq" --format "{{.Names}}" | findstr rabbitmq >nul
280
+ if errorlevel 1 (
281
+ echo %ESC%[91m [FAIL] RabbitMQ non trouve%ESC%
282
+ ) else (
283
+ echo %ESC%[92m [OK] RabbitMQ actif%ESC%
284
+ )
285
+
286
+ echo - Temporal:
287
+ docker ps --filter "name=overmind-temporal" --format "{{.Names}}" | findstr temporal >nul
288
+ if errorlevel 1 (
289
+ echo %ESC%[91m [FAIL] Temporal non trouve%ESC%
290
+ ) else (
291
+ echo %ESC%[92m [OK] Temporal actif%ESC%
292
+ )
293
+
294
+ echo - Prometheus:
295
+ docker ps --filter "name=overmind-prometheus" --format "{{.Names}}" | findstr prometheus >nul
296
+ if errorlevel 1 (
297
+ echo %ESC%[91m [FAIL] Prometheus non trouve%ESC%
298
+ ) else (
299
+ echo %ESC%[92m [OK] Prometheus actif%ESC%
300
+ )
301
+
302
+ echo - Grafana:
303
+ docker ps --filter "name=overmind-grafana" --format "{{.Names}}" | findstr grafana >nul
304
+ if errorlevel 1 (
305
+ echo %ESC%[91m [FAIL] Grafana non trouve%ESC%
306
+ ) else (
307
+ echo %ESC%[92m [OK] Grafana actif%ESC%
308
+ )
309
+
310
+ echo - Jaeger:
311
+ docker ps --filter "name=overmind-jaeger" --format "{{.Names}}" | findstr jaeger >nul
312
+ if errorlevel 1 (
313
+ echo %ESC%[91m[ [FAIL] Jaeger non trouve%ESC%
314
+ ) else (
315
+ echo %ESC%[92m [OK] Jaeger actif%ESC%
316
+ )
317
+
318
+ echo.
319
+ echo %ESC%[92m***************************************************************%ESC%
320
+ echo %ESC%[92m* *%ESC%
321
+ echo %ESC%[92m* INSTALLATION TERMINÉE AVEC SUCCÈS ! *%ESC%
322
+ echo %ESC%[92m* *%ESC%
323
+ echo %ESC%[92m***************************************************************%ESC%
324
+ echo.
325
+ echo %ESC%[93m[SERVICES ACTIFS]
326
+ echo.
327
+ echo Ouvrez Docker Desktop - onglet Containers
328
+ echo.
329
+ echo URLs utiles:
330
+ echo - Prometheus: http://localhost:9090
331
+ echo - Grafana: http://localhost:3000 (admin/admin)
332
+ echo - Jaeger: http://localhost:16686
333
+ echo - RabbitMQ: http://localhost:15672 (guest/guest)
334
+ echo - Temporal: http://localhost:8233
335
+ echo.
336
+ echo %ESC%[93m[PROCHAINE ETAPE]
337
+ echo.
338
+ echo - Creer votre premier agent: overmind create-agent
339
+ echo - Lister les agents: overmind list-agents
340
+ echo.
341
+ pause
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overmind-mcp",
3
- "version": "2.0.9",
3
+ "version": "2.1.0",
4
4
  "preferGlobal": true,
5
5
  "description": "Orchestrateur universel agents IA multi-modeles via MCP. Inclut le protocole 'Custom-Nickname' pour identifier vos agents avec des surnoms originaux (The Chaos Prophet, Shadow Sniper, etc.), l'isolation mémoire (Private Memory Context) et le support pour QwenCli et Nous Hermes. Installation automatique des dépendances Docker (PostgreSQL, pgvector) inclus.",
6
6
  "type": "module",