overmind-mcp 2.3.3 → 2.3.4

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,407 +1,407 @@
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 [INFO] Creation configuration fichiers...
208
- if not exist "%USERPROFILE%\.overmind\config" mkdir "%USERPROFILE%\.overmind\config"
209
- if not exist "%USERPROFILE%\.overmind\config\grafana\provisioning\datasources" mkdir "%USERPROFILE%\.overmind\config\grafana\provisioning\datasources"
210
-
211
- echo [INFO] Creation OTEL collector config...
212
- (
213
- echo receivers:
214
- echo otlp:
215
- echo protocols:
216
- echo grpc:
217
- echo endpoint: 0.0.0.0:4317
218
- echo http:
219
- echo endpoint: 0.0.0.0:4318
220
- echo.
221
- echo processors:
222
- echo batch:
223
- echo.
224
- echo exporters:
225
- echo otlp/jaeger:
226
- echo endpoint: jaeger:4317
227
- echo tls:
228
- echo insecure: true
229
- echo.
230
- echo prometheusremotewrite:
231
- echo endpoint: http://prometheus:9090/api/v1/write
232
- echo.
233
- echo service:
234
- echo pipelines:
235
- echo traces:
236
- echo receivers: [otlp]
237
- echo processors: [batch]
238
- echo exporters: [otlp/jaeger]
239
- echo.
240
- echo metrics:
241
- echo receivers: [otlp]
242
- echo processors: [batch]
243
- echo exporters: [prometheusremotewrite]
244
- ) > "%USERPROFILE%\.overmind\config\otel-collector.yml"
245
-
246
- echo [INFO] Creation Prometheus config...
247
- (
248
- echo global:
249
- echo scrape_interval: 15s
250
- echo evaluation_interval: 15s
251
- echo.
252
- echo scrape_configs:
253
- echo - job_name: 'prometheus'
254
- echo static_configs:
255
- echo - targets: ['localhost:9090']
256
- echo.
257
- echo - job_name: 'otel-collector'
258
- echo static_configs:
259
- echo - targets: ['otel-collector:9464']
260
- ) > "%USERPROFILE%\.overmind\config\prometheus.yml"
261
-
262
- echo [INFO] Creation Grafana datasource config...
263
- (
264
- echo apiVersion: 1
265
- echo.
266
- echo datasources:
267
- echo - name: Prometheus
268
- echo type: prometheus
269
- echo access: proxy
270
- echo url: http://prometheus:9090
271
- echo isDefault: true
272
- ) > "%USERPROFILE%\.overmind\config\grafana\provisioning\datasources\prometheus.yml"
273
-
274
- echo %ESC%[92m[OK] Configuration fichiers crees%ESC%
275
-
276
- echo [INFO] Creation init-db.sql...
277
- curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/init-db.sql -o "%USERPROFILE%.overmindinit-db.sql"
278
-
279
- echo.
280
-
281
- REM ============================================================
282
- REM STEP 8: Demarrage intelligent
283
- REM ============================================================
284
- echo %ESC%[36m=======================================================%ESC%
285
- echo %ESC%[36m[ STEP 8/8 ] DEMARRAGE DOCKER%ESC%
286
- echo %ESC%[36m=======================================================%ESC%
287
- echo.
288
-
289
- echo [INFO] Demarrage infrastructure Docker...
290
- cd "%USERPROFILE%\.overmind"
291
-
292
- REM Si PostgreSQL externe, adapter le docker-compose
293
- if "%USE_EXTERNAL_POSTGRES%"=="1" (
294
- echo [INFO] Adaptation docker-compose (PostgreSQL externe)...
295
- 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'"
296
- echo %ESC%[92m[OK] Docker-compose adapte (postgres desactive)%ESC%
297
- )
298
-
299
- docker-compose -f docker-compose.yml up -d
300
-
301
- if errorlevel 1 (
302
- echo %ESC%[93m[WARN] Certains services ont pu echouer%ESC%
303
- echo [INFO] Verification des services demarres...
304
- )
305
-
306
- echo.
307
- timeout /t 20 /nobreak >nul
308
-
309
- REM ============================================================
310
- REM STEP 9: Validation intelligente
311
- REM ============================================================
312
- echo.
313
- echo %ESC%[36m=======================================================%ESC%
314
- echo %ESC%[36m[ VALIDATION DES SERVICES ]%ESC%
315
- echo %ESC%[36m=======================================================%ESC%
316
- echo.
317
-
318
- echo [INFO] Verification des containers...
319
- echo.
320
-
321
- docker ps --filter "name=overmind" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
322
- echo.
323
-
324
- echo [INFO] Tests de connexion...
325
- echo.
326
-
327
- echo - PostgreSQL:
328
- if "%USE_EXTERNAL_POSTGRES%"=="1" (
329
- docker exec %POSTGRES_CONTAINER% pg_isready -U postgres >nul 2>&1
330
- if errorlevel 1 (
331
- echo %ESC%[91m [FAIL] PostgreSQL non pret%ESC%
332
- ) else (
333
- echo %ESC%[92m [OK] PostgreSQL actif (%POSTGRES_CONTAINER%)%ESC%
334
- )
335
- ) else (
336
- docker ps --filter "name=overmind-postgres" --format "{{.Names}}" | findstr postgres >nul
337
- if errorlevel 1 (
338
- echo %ESC%[91m [FAIL] OverMind PostgreSQL non trouve%ESC%
339
- ) else (
340
- docker exec overmind-postgres pg_isready -U postgres >nul 2>&1
341
- if errorlevel 1 (
342
- echo %ESC%[91m [FAIL] PostgreSQL non pret%ESC%
343
- ) else (
344
- echo %ESC%[92m [OK] OverMind PostgreSQL actif%ESC%
345
- )
346
- )
347
- )
348
-
349
- echo - RabbitMQ:
350
- docker ps --filter "name=overmind-rabbitmq" --format "{{.Names}}" | findstr rabbitmq >nul
351
- if errorlevel 1 (
352
- echo %ESC%[91m [FAIL] RabbitMQ non trouve%ESC%
353
- ) else (
354
- echo %ESC%[92m [OK] RabbitMQ actif%ESC%
355
- )
356
-
357
- REM Temporal desactive - skip validation
358
- echo - Temporal: %ESC%[93m [INFO] Desactive (requiert init DB)%ESC%
359
-
360
- echo - Prometheus:
361
- docker ps --filter "name=overmind-prometheus" --format "{{.Names}}" | findstr prometheus >nul
362
- if errorlevel 1 (
363
- echo %ESC%[91m [FAIL] Prometheus non trouve%ESC%
364
- ) else (
365
- echo %ESC%[92m [OK] Prometheus actif%ESC%
366
- )
367
-
368
- echo - Grafana:
369
- docker ps --filter "name=overmind-grafana" --format "{{.Names}}" | findstr grafana >nul
370
- if errorlevel 1 (
371
- echo %ESC%[91m [FAIL] Grafana non trouve%ESC%
372
- ) else (
373
- echo %ESC%[92m [OK] Grafana actif%ESC%
374
- )
375
-
376
- echo - Jaeger:
377
- docker ps --filter "name=overmind-jaeger" --format "{{.Names}}" | findstr jaeger >nul
378
- if errorlevel 1 (
379
- echo %ESC%[91m[ [FAIL] Jaeger non trouve%ESC%
380
- ) else (
381
- echo %ESC%[92m [OK] Jaeger actif%ESC%
382
- )
383
-
384
- echo.
385
- echo %ESC%[92m***************************************************************%ESC%
386
- echo %ESC%[92m* *%ESC%
387
- echo %ESC%[92m* INSTALLATION TERMINÉE AVEC SUCCÈS ! *%ESC%
388
- echo %ESC%[92m* *%ESC%
389
- echo %ESC%[92m***************************************************************%ESC%
390
- echo.
391
- echo %ESC%[93m[SERVICES ACTIFS]
392
- echo.
393
- echo Ouvrez Docker Desktop - onglet Containers
394
- echo.
395
- echo URLs utiles:
396
- echo - Prometheus: http://localhost:9090
397
- echo - Grafana: http://localhost:3000 (admin/admin)
398
- echo - Jaeger: http://localhost:16686
399
- echo - RabbitMQ: http://localhost:15672 (guest/guest)
400
- echo - Temporal: http://localhost:8233
401
- echo.
402
- echo %ESC%[93m[PROCHAINE ETAPE]
403
- echo.
404
- echo - Creer votre premier agent: overmind create-agent
405
- echo - Lister les agents: overmind list-agents
406
- echo.
407
- 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 [INFO] Creation configuration fichiers...
208
+ if not exist "%USERPROFILE%\.overmind\config" mkdir "%USERPROFILE%\.overmind\config"
209
+ if not exist "%USERPROFILE%\.overmind\config\grafana\provisioning\datasources" mkdir "%USERPROFILE%\.overmind\config\grafana\provisioning\datasources"
210
+
211
+ echo [INFO] Creation OTEL collector config...
212
+ (
213
+ echo receivers:
214
+ echo otlp:
215
+ echo protocols:
216
+ echo grpc:
217
+ echo endpoint: 0.0.0.0:4317
218
+ echo http:
219
+ echo endpoint: 0.0.0.0:4318
220
+ echo.
221
+ echo processors:
222
+ echo batch:
223
+ echo.
224
+ echo exporters:
225
+ echo otlp/jaeger:
226
+ echo endpoint: jaeger:4317
227
+ echo tls:
228
+ echo insecure: true
229
+ echo.
230
+ echo prometheusremotewrite:
231
+ echo endpoint: http://prometheus:9090/api/v1/write
232
+ echo.
233
+ echo service:
234
+ echo pipelines:
235
+ echo traces:
236
+ echo receivers: [otlp]
237
+ echo processors: [batch]
238
+ echo exporters: [otlp/jaeger]
239
+ echo.
240
+ echo metrics:
241
+ echo receivers: [otlp]
242
+ echo processors: [batch]
243
+ echo exporters: [prometheusremotewrite]
244
+ ) > "%USERPROFILE%\.overmind\config\otel-collector.yml"
245
+
246
+ echo [INFO] Creation Prometheus config...
247
+ (
248
+ echo global:
249
+ echo scrape_interval: 15s
250
+ echo evaluation_interval: 15s
251
+ echo.
252
+ echo scrape_configs:
253
+ echo - job_name: 'prometheus'
254
+ echo static_configs:
255
+ echo - targets: ['localhost:9090']
256
+ echo.
257
+ echo - job_name: 'otel-collector'
258
+ echo static_configs:
259
+ echo - targets: ['otel-collector:9464']
260
+ ) > "%USERPROFILE%\.overmind\config\prometheus.yml"
261
+
262
+ echo [INFO] Creation Grafana datasource config...
263
+ (
264
+ echo apiVersion: 1
265
+ echo.
266
+ echo datasources:
267
+ echo - name: Prometheus
268
+ echo type: prometheus
269
+ echo access: proxy
270
+ echo url: http://prometheus:9090
271
+ echo isDefault: true
272
+ ) > "%USERPROFILE%\.overmind\config\grafana\provisioning\datasources\prometheus.yml"
273
+
274
+ echo %ESC%[92m[OK] Configuration fichiers crees%ESC%
275
+
276
+ echo [INFO] Creation init-db.sql...
277
+ curl -sL https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/init-db.sql -o "%USERPROFILE%.overmindinit-db.sql"
278
+
279
+ echo.
280
+
281
+ REM ============================================================
282
+ REM STEP 8: Demarrage intelligent
283
+ REM ============================================================
284
+ echo %ESC%[36m=======================================================%ESC%
285
+ echo %ESC%[36m[ STEP 8/8 ] DEMARRAGE DOCKER%ESC%
286
+ echo %ESC%[36m=======================================================%ESC%
287
+ echo.
288
+
289
+ echo [INFO] Demarrage infrastructure Docker...
290
+ cd "%USERPROFILE%\.overmind"
291
+
292
+ REM Si PostgreSQL externe, adapter le docker-compose
293
+ if "%USE_EXTERNAL_POSTGRES%"=="1" (
294
+ echo [INFO] Adaptation docker-compose (PostgreSQL externe)...
295
+ 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'"
296
+ echo %ESC%[92m[OK] Docker-compose adapte (postgres desactive)%ESC%
297
+ )
298
+
299
+ docker-compose -f docker-compose.yml up -d
300
+
301
+ if errorlevel 1 (
302
+ echo %ESC%[93m[WARN] Certains services ont pu echouer%ESC%
303
+ echo [INFO] Verification des services demarres...
304
+ )
305
+
306
+ echo.
307
+ timeout /t 20 /nobreak >nul
308
+
309
+ REM ============================================================
310
+ REM STEP 9: Validation intelligente
311
+ REM ============================================================
312
+ echo.
313
+ echo %ESC%[36m=======================================================%ESC%
314
+ echo %ESC%[36m[ VALIDATION DES SERVICES ]%ESC%
315
+ echo %ESC%[36m=======================================================%ESC%
316
+ echo.
317
+
318
+ echo [INFO] Verification des containers...
319
+ echo.
320
+
321
+ docker ps --filter "name=overmind" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
322
+ echo.
323
+
324
+ echo [INFO] Tests de connexion...
325
+ echo.
326
+
327
+ echo - PostgreSQL:
328
+ if "%USE_EXTERNAL_POSTGRES%"=="1" (
329
+ docker exec %POSTGRES_CONTAINER% pg_isready -U postgres >nul 2>&1
330
+ if errorlevel 1 (
331
+ echo %ESC%[91m [FAIL] PostgreSQL non pret%ESC%
332
+ ) else (
333
+ echo %ESC%[92m [OK] PostgreSQL actif (%POSTGRES_CONTAINER%)%ESC%
334
+ )
335
+ ) else (
336
+ docker ps --filter "name=overmind-postgres" --format "{{.Names}}" | findstr postgres >nul
337
+ if errorlevel 1 (
338
+ echo %ESC%[91m [FAIL] OverMind PostgreSQL non trouve%ESC%
339
+ ) else (
340
+ docker exec overmind-postgres pg_isready -U postgres >nul 2>&1
341
+ if errorlevel 1 (
342
+ echo %ESC%[91m [FAIL] PostgreSQL non pret%ESC%
343
+ ) else (
344
+ echo %ESC%[92m [OK] OverMind PostgreSQL actif%ESC%
345
+ )
346
+ )
347
+ )
348
+
349
+ echo - RabbitMQ:
350
+ docker ps --filter "name=overmind-rabbitmq" --format "{{.Names}}" | findstr rabbitmq >nul
351
+ if errorlevel 1 (
352
+ echo %ESC%[91m [FAIL] RabbitMQ non trouve%ESC%
353
+ ) else (
354
+ echo %ESC%[92m [OK] RabbitMQ actif%ESC%
355
+ )
356
+
357
+ REM Temporal desactive - skip validation
358
+ echo - Temporal: %ESC%[93m [INFO] Desactive (requiert init DB)%ESC%
359
+
360
+ echo - Prometheus:
361
+ docker ps --filter "name=overmind-prometheus" --format "{{.Names}}" | findstr prometheus >nul
362
+ if errorlevel 1 (
363
+ echo %ESC%[91m [FAIL] Prometheus non trouve%ESC%
364
+ ) else (
365
+ echo %ESC%[92m [OK] Prometheus actif%ESC%
366
+ )
367
+
368
+ echo - Grafana:
369
+ docker ps --filter "name=overmind-grafana" --format "{{.Names}}" | findstr grafana >nul
370
+ if errorlevel 1 (
371
+ echo %ESC%[91m [FAIL] Grafana non trouve%ESC%
372
+ ) else (
373
+ echo %ESC%[92m [OK] Grafana actif%ESC%
374
+ )
375
+
376
+ echo - Jaeger:
377
+ docker ps --filter "name=overmind-jaeger" --format "{{.Names}}" | findstr jaeger >nul
378
+ if errorlevel 1 (
379
+ echo %ESC%[91m[ [FAIL] Jaeger non trouve%ESC%
380
+ ) else (
381
+ echo %ESC%[92m [OK] Jaeger actif%ESC%
382
+ )
383
+
384
+ echo.
385
+ echo %ESC%[92m***************************************************************%ESC%
386
+ echo %ESC%[92m* *%ESC%
387
+ echo %ESC%[92m* INSTALLATION TERMINÉE AVEC SUCCÈS ! *%ESC%
388
+ echo %ESC%[92m* *%ESC%
389
+ echo %ESC%[92m***************************************************************%ESC%
390
+ echo.
391
+ echo %ESC%[93m[SERVICES ACTIFS]
392
+ echo.
393
+ echo Ouvrez Docker Desktop - onglet Containers
394
+ echo.
395
+ echo URLs utiles:
396
+ echo - Prometheus: http://localhost:9090
397
+ echo - Grafana: http://localhost:3000 (admin/admin)
398
+ echo - Jaeger: http://localhost:16686
399
+ echo - RabbitMQ: http://localhost:15672 (guest/guest)
400
+ echo - Temporal: http://localhost:8233
401
+ echo.
402
+ echo %ESC%[93m[PROCHAINE ETAPE]
403
+ echo.
404
+ echo - Creer votre premier agent: overmind create-agent
405
+ echo - Lister les agents: overmind list-agents
406
+ echo.
407
+ pause