overmind-mcp 2.0.0 โ†’ 2.0.1

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.
package/SWARM_USAGE.md ADDED
@@ -0,0 +1,444 @@
1
+ # ๐Ÿ‹ OverMind-MCP Swarm Orchestration - Guide d'Utilisation
2
+
3
+ ## ๐Ÿ“š Table des Matiรจres
4
+
5
+ 1. [Introduction](#introduction)
6
+ 2. [Configuration du Swarm](#configuration-du-swarm)
7
+ 3. [Allocation de Tรขches](#allocation-de-tรขches)
8
+ 4. [Workflows Long-Running](#workflows-long-running)
9
+ 5. [Exemples Pratiques](#exemples-pratiques)
10
+ 6. [Monitoring & Debug](#monitoring--debug)
11
+
12
+ ---
13
+
14
+ ## ๐ŸŽฏ Introduction
15
+
16
+ Le **Swarm Orchestration** d'OverMind-MCP permet :
17
+ - **Allocation dynamique** de tรขches aux agents spรฉcialisรฉs
18
+ - **ร‰quilibrage de charge** automatique (load balancing)
19
+ - **Workflows stateful** long-running (OSINT, analyses complรจtes)
20
+ - **Parallรฉlisme intelligent** avec gestion des ressources
21
+
22
+ ---
23
+
24
+ ## ๐Ÿ—๏ธ Configuration du Swarm
25
+
26
+ ### 1. Dรฉfinir les Capacitรฉs des Agents
27
+
28
+ ```typescript
29
+ import { createSwarmOrchestrator } from 'overmind-mcp';
30
+
31
+ const swarm = createSwarmOrchestrator({
32
+ // Liste des agents disponibles avec leurs capacitรฉs
33
+ agents: [
34
+ {
35
+ agentName: 'crypto-analyst',
36
+ runner: 'claude',
37
+ capabilities: ['analysis', 'crypto', 'osint', 'data-processing'],
38
+ maxConcurrentTasks: 3,
39
+ currentLoad: 0,
40
+ estimatedCompletionTime: 120000 // 2 minutes par tรขche
41
+ },
42
+ {
43
+ agentName: 'web-scraper',
44
+ runner: 'kilo',
45
+ capabilities: ['scraping', 'web', 'data-extraction'],
46
+ maxConcurrentTasks: 5,
47
+ currentLoad: 0,
48
+ estimatedCompletionTime: 60000 // 1 minute par tรขche
49
+ },
50
+ {
51
+ agentName: 'code-reviewer',
52
+ runner: 'gemini',
53
+ capabilities: ['code', 'analysis', 'review', 'security'],
54
+ maxConcurrentTasks: 2,
55
+ currentLoad: 0,
56
+ estimatedCompletionTime: 180000 // 3 minutes par tรขche
57
+ }
58
+ ],
59
+
60
+ // Liste des tรขches ร  exรฉcuter
61
+ tasks: [
62
+ {
63
+ id: 'task-1',
64
+ type: 'analysis',
65
+ prompt: 'Analyser le sentiment du marchรฉ crypto',
66
+ priority: 10, // 1-10, 10 = prioritรฉ maximale
67
+ requiresCapabilities: ['analysis', 'crypto'],
68
+ estimatedDuration: 120000
69
+ },
70
+ {
71
+ id: 'task-2',
72
+ type: 'scraping',
73
+ prompt: 'Scraper les derniers articles de CoinDesk',
74
+ priority: 8,
75
+ requiresCapabilities: ['scraping', 'web'],
76
+ estimatedDuration: 60000
77
+ }
78
+ ],
79
+
80
+ maxParallelTasks: 8, // Nombre max de tรขches en parallรจle
81
+ enableLoadBalancing: true, // Activer l'รฉquilibrage de charge
82
+ enableTaskPriority: true // Respecter les prioritรฉs des tรขches
83
+ });
84
+ ```
85
+
86
+ ### 2. Stratรฉgies d'Allocation
87
+
88
+ **Load Balancing** (recommandรฉ) :
89
+ - Alloue les tรขches en fonction de la charge actuelle des agents
90
+ - Prend en compte le temps d'achรจvement estimรฉ
91
+ - Optimise l'utilisation des ressources
92
+
93
+ **Round Robin** (simple) :
94
+ - Alloue les tรขches au premier agent disponible
95
+ - Plus rapide mais moins optimal
96
+
97
+ ---
98
+
99
+ ## ๐ŸŽฎ Allocation de Tรขches
100
+
101
+ ### Allocation Automatique
102
+
103
+ ```typescript
104
+ // Allouer les tรขches aux agents disponibles
105
+ const allocations = await swarm.allocateTasks();
106
+
107
+ console.log('Allocations:', allocations);
108
+ // [
109
+ // {
110
+ // taskId: 'task-1',
111
+ // agentName: 'crypto-analyst',
112
+ // runner: 'claude',
113
+ // estimatedStart: 1699000000000,
114
+ // estimatedCompletion: 1699000120000
115
+ // }
116
+ // ]
117
+ ```
118
+
119
+ ### Exรฉcution des Tรขches Allouรฉes
120
+
121
+ ```typescript
122
+ // Exรฉcuter une tรขche spรฉcifique
123
+ const task = swarm.getTaskStatus('task-1');
124
+ const allocation = swarm.allocations.get('task-1');
125
+
126
+ if (task && allocation) {
127
+ const result = await swarm.executeTask(task, allocation);
128
+
129
+ console.log('Result:', result);
130
+ // {
131
+ // taskId: 'task-1',
132
+ // status: 'completed',
133
+ // agentName: 'crypto-analyst',
134
+ // result: [...],
135
+ // startedAt: 1699000000000,
136
+ // completedAt: 1699000120000
137
+ // }
138
+ }
139
+ ```
140
+
141
+ ---
142
+
143
+ ## โฑ๏ธ Workflows Long-Running
144
+
145
+ ### 1. Dรฉfinir un Workflow Long-Running
146
+
147
+ ```typescript
148
+ import { startLongRunningWorkflow } from 'overmind-mcp';
149
+
150
+ const workflow = await startLongRunningWorkflow({
151
+ batches: [
152
+ {
153
+ id: 'osint-batch-1',
154
+ status: 'pending',
155
+ tasks: [
156
+ {
157
+ runner: 'claude',
158
+ prompt: 'OSINT: Analyser les mentions de BTC sur Twitter/X',
159
+ agentName: 'crypto-analyst'
160
+ },
161
+ {
162
+ runner: 'kilo',
163
+ prompt: 'Scraper CoinDesk pour les derniรจres news crypto',
164
+ agentName: 'web-scraper'
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ id: 'osint-batch-2',
170
+ status: 'pending',
171
+ tasks: [
172
+ {
173
+ runner: 'gemini',
174
+ prompt: 'Analyser les on-chain metrics de Ethereum',
175
+ agentName: 'crypto-analyst'
176
+ }
177
+ ]
178
+ }
179
+ ],
180
+ maxParallelBatches: 3,
181
+ batchTimeout: '24 hours'
182
+ });
183
+
184
+ console.log('Workflow ID:', workflow.workflowId);
185
+ ```
186
+
187
+ ### 2. Contrรดler le Workflow
188
+
189
+ ```typescript
190
+ // Obtenir l'รฉtat actuel
191
+ const state = await workflow.query(LongRunningWorkflowState);
192
+ console.log('State:', state);
193
+ // {
194
+ // totalBatches: 2,
195
+ // completedBatches: 1,
196
+ // failedBatches: 0,
197
+ // currentBatch: 'osint-batch-2',
198
+ // errors: []
199
+ // }
200
+
201
+ // Signaux de contrรดle
202
+ await workflow.signal(cancelSignal); // Annuler le workflow
203
+ await workflow.signal(pauseSignal); // Mettre en pause
204
+ await workflow.signal(resumeSignal); // Reprendre
205
+ ```
206
+
207
+ ---
208
+
209
+ ## ๐Ÿ’ผ Exemples Pratiques
210
+
211
+ ### Exemple 1: Veille Crypto 24/7
212
+
213
+ ```typescript
214
+ import { createSwarmOrchestrator } from 'overmind-mcp';
215
+
216
+ // Crรฉer un swarm pour surveillance crypto 24/7
217
+ const cryptoSwarm = createSwarmOrchestrator({
218
+ agents: [
219
+ {
220
+ agentName: 'btc-sentiment-analyst',
221
+ runner: 'claude',
222
+ capabilities: ['sentiment', 'btc', 'social-media'],
223
+ maxConcurrentTasks: 5,
224
+ currentLoad: 0
225
+ },
226
+ {
227
+ agentName: 'eth-onchain-analyst',
228
+ runner: 'gemini',
229
+ capabilities: ['onchain', 'eth', 'defi'],
230
+ maxConcurrentTasks: 3,
231
+ currentLoad: 0
232
+ }
233
+ ],
234
+ tasks: [
235
+ {
236
+ id: 'btc-twitter-sentiment',
237
+ type: 'sentiment-analysis',
238
+ prompt: 'Analyser le sentiment BTC sur Twitter (derniรจres 100 mentions)',
239
+ priority: 10,
240
+ requiresCapabilities: ['sentiment', 'btc', 'social-media'],
241
+ estimatedDuration: 300000
242
+ },
243
+ {
244
+ id: 'eth-whale-tracking',
245
+ type: 'onchain-analysis',
246
+ prompt: 'Tracker les mouvements de baleines Ethereum (>1000 ETH)',
247
+ priority: 9,
248
+ requiresCapabilities: ['onchain', 'eth'],
249
+ estimatedDuration: 180000
250
+ }
251
+ ],
252
+ maxParallelTasks: 8,
253
+ enableLoadBalancing: true,
254
+ enableTaskPriority: true
255
+ });
256
+
257
+ // Lancer l'allocation
258
+ const allocations = await cryptoSwarm.allocateTasks();
259
+ console.log('Crypto surveillance lancรฉe:', allocations);
260
+ ```
261
+
262
+ ### Exemple 2: Analyse de Repos Entiers
263
+
264
+ ```typescript
265
+ import { startLongRunningWorkflow } from 'overmind-mcp';
266
+
267
+ // Workflow longue durรฉe pour analyser un repo complet
268
+ const repoAnalysisWorkflow = await startLongRunningWorkflow({
269
+ batches: [
270
+ {
271
+ id: 'code-scanning',
272
+ status: 'pending',
273
+ tasks: [
274
+ {
275
+ runner: 'kilo',
276
+ prompt: 'Scanner tous les fichiers TypeScript du repo pour vulnรฉrabilitรฉs',
277
+ agentName: 'security-scanner'
278
+ },
279
+ {
280
+ runner: 'claude',
281
+ prompt: 'Analyser l\'architecture globale du codebase',
282
+ agentName: 'architect-analyst'
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ id: 'code-quality',
288
+ status: 'pending',
289
+ tasks: [
290
+ {
291
+ runner: 'gemini',
292
+ prompt: 'ร‰valuer la qualitรฉ du code (duplication, complexitรฉ, documentation)',
293
+ agentName: 'quality-analyst'
294
+ }
295
+ ]
296
+ }
297
+ ],
298
+ maxParallelBatches: 2,
299
+ batchTimeout: '4 hours'
300
+ });
301
+
302
+ // Surveiller la progression
303
+ setInterval(async () => {
304
+ const state = await repoAnalysisWorkflow.query();
305
+ console.log('Analyse en cours:', state);
306
+ }, 60000); // Toutes les minutes
307
+ ```
308
+
309
+ ### Exemple 3: Pipeline de Scraping Distribuรฉ
310
+
311
+ ```typescript
312
+ // Pipeline de scraping avec allocation dynamique
313
+ const scrapingPipeline = createSwarmOrchestrator({
314
+ agents: [
315
+ {
316
+ agentName: 'news-scraper',
317
+ runner: 'kilo',
318
+ capabilities: ['scraping', 'news', 'html-parsing'],
319
+ maxConcurrentTasks: 10,
320
+ currentLoad: 0
321
+ },
322
+ {
323
+ agentName: 'social-scraper',
324
+ runner: 'claude',
325
+ capabilities: ['scraping', 'social', 'api'],
326
+ maxConcurrentTasks: 5,
327
+ currentLoad: 0
328
+ }
329
+ ],
330
+ tasks: [
331
+ {
332
+ id: 'scrape-coindesk',
333
+ type: 'scraping',
334
+ prompt: 'Scraper les 50 derniers articles de CoinDesk',
335
+ priority: 10,
336
+ requiresCapabilities: ['scraping', 'news'],
337
+ estimatedDuration: 120000
338
+ },
339
+ {
340
+ id: 'scrape-reddit-crypto',
341
+ type: 'scraping',
342
+ prompt: 'Scraper r/CryptoCurrency pour les posts trending',
343
+ priority: 9,
344
+ requiresCapabilities: ['scraping', 'social'],
345
+ estimatedDuration: 180000
346
+ }
347
+ ],
348
+ maxParallelTasks: 15,
349
+ enableLoadBalancing: true,
350
+ enableTaskPriority: true
351
+ });
352
+
353
+ // Exรฉcuter en continu
354
+ setInterval(async () => {
355
+ const stats = scrapingPipeline.getStatistics();
356
+ console.log('Pipeline stats:', stats);
357
+ // {
358
+ // totalTasks: 100,
359
+ // completed: 45,
360
+ // failed: 2,
361
+ // running: 10,
362
+ // pending: 43,
363
+ // totalAgents: 2,
364
+ // averageLoad: 3.5
365
+ // }
366
+ }, 30000); // Toutes les 30 secondes
367
+ ```
368
+
369
+ ---
370
+
371
+ ## ๐Ÿ” Monitoring & Debug
372
+
373
+ ### Statistiques du Swarm
374
+
375
+ ```typescript
376
+ // Statistiques globales
377
+ const stats = swarm.getStatistics();
378
+ console.log('Swarm Statistics:', stats);
379
+ // {
380
+ // totalTasks: 50,
381
+ // completed: 20,
382
+ // failed: 2,
383
+ // running: 5,
384
+ // pending: 23,
385
+ // totalAgents: 3,
386
+ // averageLoad: 2.5
387
+ // }
388
+
389
+ // ร‰tat d'un agent spรฉcifique
390
+ const agentStatus = swarm.getAgentStatus('crypto-analyst');
391
+ console.log('Agent Status:', agentStatus);
392
+ // {
393
+ // agentName: 'crypto-analyst',
394
+ // runner: 'claude',
395
+ // capabilities: ['analysis', 'crypto', 'osint'],
396
+ // maxConcurrentTasks: 3,
397
+ // currentLoad: 2,
398
+ // estimatedCompletionTime: 120000
399
+ // }
400
+
401
+ // Rรฉsultats de toutes les tรขches
402
+ const allResults = swarm.getAllResults();
403
+ console.log('All Results:', allResults);
404
+
405
+ // Tรขches en attente
406
+ const pendingTasks = swarm.getPendingTasks();
407
+ console.log('Pending Tasks:', pendingTasks);
408
+ ```
409
+
410
+ ### Debug Workflow Long-Running
411
+
412
+ ```typescript
413
+ // Obtenir un handle sur un workflow existant
414
+ import { getLongRunningWorkflowHandle } from 'overmind-mcp';
415
+
416
+ const workflow = await getLongRunningWorkflowHandle('long-running-1699000000');
417
+
418
+ // ร‰tat actuel
419
+ const state = await workflow.query();
420
+ console.log('Workflow State:', state);
421
+
422
+ // Historique d'exรฉcution
423
+ const history = await workflow.history();
424
+ console.log('Workflow History:', history.events);
425
+ ```
426
+
427
+ ---
428
+
429
+ ## ๐Ÿš€ Bonnes Pratiques
430
+
431
+ 1. **Capacitรฉs des Agents** : Dรฉfinissez des capacitรฉs prรฉcises pour une allocation optimale
432
+ 2. **Prioritรฉs des Tรขches** : Utilisez la prioritรฉ (1-10) pour les tรขches critiques
433
+ 3. **Parallelisme** : Ajustez `maxParallelTasks` selon vos ressources (RAM, CPU)
434
+ 4. **Timeouts** : Dรฉfinissez des `estimatedDuration` rรฉalistes pour รฉviter les blocages
435
+ 5. **Monitoring** : Surveillez rรฉguliรจrement les statistiques du swarm
436
+ 6. **Fallback** : Prรฉvoyez des agents de secours pour les tรขches critiques
437
+
438
+ ---
439
+
440
+ ## ๐Ÿ“š Ressources Additionnelles
441
+
442
+ - **API Temporal**: https://docs.temporal.io
443
+ - **Guide Swarm**: https://github.com/DeamonDev888/overmind-mcp
444
+ - **Support Discord**: https://discord.gg/4AR82phtBz
@@ -0,0 +1,172 @@
1
+ version: '3.8'
2
+
3
+ # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
4
+ # OverMind-MCP Docker Compose (Minimal Setup)
5
+ # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
6
+ # Setup minimal pour OverMind-MCP qui Rร‰UTILISE votre PostgreSQL existant
7
+ # Services: RabbitMQ (Message Broker) + Temporal (Workflow Orchestrator)
8
+ #
9
+ # Prรฉrequis:
10
+ # - Docker Desktop installรฉ et dรฉmarrรฉ
11
+ # - PostgreSQL + pgvector dรฉjร  en Docker (container: postgres-pgvector)
12
+ # - Base de donnรฉes 'overmind_memory' crรฉรฉe
13
+ #
14
+ # Usage:
15
+ # docker-compose -f docker-compose.overmind.yml up -d
16
+ # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
17
+
18
+ services:
19
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
20
+ # RABBITMQ (Message Broker)
21
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
22
+ # Gรจre les files d'attente de messages entre agents
23
+ # Management UI: http://localhost:15672 (user: overmind, pass: overmind_secret_password)
24
+ rabbitmq:
25
+ image: rabbitmq:3.13-management
26
+ container_name: overmind-rabbitmq
27
+ hostname: overmind-rabbitmq
28
+ ports:
29
+ - "5672:5672" # AMQP protocol (pour OverMind)
30
+ - "15672:15672" # Management UI (interface web)
31
+ environment:
32
+ # Credentials par dรฉfaut (ร€ CHANGER en production !)
33
+ RABBITMQ_DEFAULT_USER: overmind
34
+ RABBITMQ_DEFAULT_PASS: overmind_secret_password_change_me
35
+ # Logs configuration
36
+ RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: -rabbit log_levels [{connection,error},{default,warning}]
37
+ volumes:
38
+ - rabbitmq_data:/var/lib/rabbitmq
39
+ networks:
40
+ - overmind-network
41
+ healthcheck:
42
+ test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
43
+ interval: 30s
44
+ timeout: 10s
45
+ retries: 5
46
+ start_period: 40s
47
+ restart: unless-stopped
48
+
49
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
50
+ # TEMPORAL (Workflow Orchestrator)
51
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
52
+ # Gรจre les workflows long-running (OSINT, analyses continues)
53
+ # Web UI: http://localhost:8088
54
+ temporal:
55
+ image: temporalio/auto-setup:1.24.0
56
+ container_name: overmind-temporal
57
+ hostname: overmind-temporal
58
+ ports:
59
+ - "7233:7233" # gRPC endpoint (pour OverMind)
60
+ - "8233:8233" # Web UI (interface web)
61
+ environment:
62
+ # Configuration PostgreSQL (votre container existant)
63
+ DB: postgres
64
+ POSTGRES_SEEDS: host.docker.internal # IMPORTANT: Accรจs ร  Windows host
65
+ POSTGRES_USER: postgres
66
+ POSTGRES_PWD: postgres # โ† ร€ CHANGER avec votre vrai mot de passe
67
+ POSTGRES_DB: temporal
68
+ # Configuration Temporal
69
+ TEMPERAL_ADDRESS: temporal:7233
70
+ TEMPORAL_CLI_ADDRESS: temporal:7233
71
+ SERVICES: frontend,history,matching,worker,web-ui
72
+ networks:
73
+ - overmind-network
74
+ restart: unless-stopped
75
+
76
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
77
+ # TEMPORAL WEB (UI Temporal)
78
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
79
+ # Interface web pour visualiser les workflows
80
+ # URL: http://localhost:8088
81
+ temporal-web:
82
+ image: temporalio/web:1.24.0
83
+ container_name: overmind-temporal-web
84
+ hostname: overmind-temporal-web
85
+ ports:
86
+ - "8088:8088"
87
+ environment:
88
+ TEMPORAL_GRPC_ENDPOINT: temporal:7233
89
+ TEMPORAL_PERMIT_WRITE_API: true
90
+ networks:
91
+ - overmind-network
92
+ depends_on:
93
+ - temporal
94
+ restart: unless-stopped
95
+
96
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
97
+ # PROMETHEUS (Metrics Collection) - OPTIONNEL
98
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
99
+ # Collecte les mรฉtriques d'OverMind (RAM, queues, tokens)
100
+ # URL: http://localhost:9090
101
+ #
102
+ # Pour activer: Dรฉcommentez le service ci-dessous et le service grafana
103
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
104
+ # prometheus:
105
+ # image: prom/prometheus:v2.55.1
106
+ # container_name: overmind-prometheus
107
+ # hostname: overmind-prometheus
108
+ # ports:
109
+ # - "9090:9090"
110
+ # volumes:
111
+ # - ./config/prometheus.yml:/etc/prometheus/prometheus.yml:ro
112
+ # - prometheus_data:/prometheus
113
+ # command:
114
+ # - '--config.file=/etc/prometheus/prometheus.yml'
115
+ # - '--storage.tsdb.path=/prometheus'
116
+ # - '--web.enable-lifecycle'
117
+ # networks:
118
+ # - overmind-network
119
+ # restart: unless-stopped
120
+
121
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
122
+ # GRAFANA (Dashboards) - OPTIONNEL
123
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
124
+ # Visualise les mรฉtriques Prometheus
125
+ # URL: http://localhost:3000 (user: admin, pass: grafana_password)
126
+ #
127
+ # Pour activer: Dรฉcommentez le service ci-dessous
128
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
129
+ # grafana:
130
+ # image: grafana/grafana:11.3.1
131
+ # container_name: overmind-grafana
132
+ # hostname: overmind-grafana
133
+ # ports:
134
+ # - "3000:3000"
135
+ # environment:
136
+ # GF_SECURITY_ADMIN_USER: admin
137
+ # GF_SECURITY_ADMIN_PASSWORD: grafana_password_change_me
138
+ # GF_INSTALL_PLUGINS: grafana-piechart-panel
139
+ # GF_USERS_ALLOW_SIGN_UP: "false"
140
+ # volumes:
141
+ # - grafana_data:/var/lib/grafana
142
+ # - ./config/grafana/provisioning:/etc/grafana/provisioning:ro
143
+ # networks:
144
+ # - overmind-network
145
+ # depends_on:
146
+ # - prometheus
147
+ # restart: unless-stopped
148
+
149
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
150
+ # NETWORKS
151
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
152
+ networks:
153
+ overmind-network:
154
+ driver: bridge
155
+ name: overmind-network
156
+ ipam:
157
+ config:
158
+ - subnet: 172.20.0.0/16
159
+
160
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
161
+ # VOLUMES
162
+ # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
163
+ volumes:
164
+ rabbitmq_data:
165
+ name: overmind-rabbitmq-data
166
+ driver: local
167
+ # prometheus_data:
168
+ # name: overmind-prometheus-data
169
+ # driver: local
170
+ # grafana_data:
171
+ # name: overmind-grafana-data
172
+ # driver: local
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "overmind-mcp",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "preferGlobal": true,
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.",
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",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
9
9
  "bin": {
10
- "overmind": "dist/bin/cli.js"
10
+ "overmind": "./dist/bin/cli.js",
11
+ "overmind-setup": "./scripts/setup.mjs",
12
+ "overmind-infra": "./scripts/docker-manager.mjs"
11
13
  },
12
14
  "exports": {
13
15
  ".": {
@@ -19,7 +21,18 @@
19
21
  "files": [
20
22
  "dist",
21
23
  "assets",
22
- "README.md"
24
+ "README.md",
25
+ "SETUP_WINDOWS.md",
26
+ "DEPLOYMENT.md",
27
+ "SWARM_USAGE.md",
28
+ "CHANGELOG.md",
29
+ "docker-compose.overmind.yml",
30
+ "scripts",
31
+ "scripts/setup.js",
32
+ "scripts/setup-overmind-db.js",
33
+ "scripts/docker-manager.js",
34
+ "scripts/install-dependencies.js",
35
+ "scripts/postinstall.js"
23
36
  ],
24
37
  "scripts": {
25
38
  "build": "tsc",
@@ -39,12 +52,15 @@
39
52
  "version": "changeset version",
40
53
  "release": "pnpm run build && changeset publish",
41
54
  "prepublishOnly": "pnpm run rebuild",
42
- "deploy:infra": "docker-compose up -d",
43
- "deploy:exporters": "docker-compose -f docker-compose.exporters.yml up -d",
44
- "deploy:all": "docker-compose up -d && docker-compose -f docker-compose.exporters.yml up -d",
45
- "deploy:down": "docker-compose down",
46
- "deploy:logs": "docker-compose logs -f",
47
- "deploy:status": "docker-compose ps"
55
+ "postinstall": "node scripts/postinstall.mjs",
56
+ "setup": "overmind-setup",
57
+ "setup:full": "overmind-setup --full",
58
+ "setup:deps": "node scripts/install-dependencies.mjs",
59
+ "deploy:infra": "overmind-infra up",
60
+ "deploy:down": "overmind-infra down",
61
+ "deploy:status": "overmind-infra status",
62
+ "deploy:logs": "overmind-infra logs",
63
+ "deploy:restart": "overmind-infra restart"
48
64
  },
49
65
  "keywords": [
50
66
  "mcp",
@@ -53,7 +69,14 @@
53
69
  "ai-agent",
54
70
  "llm",
55
71
  "orchestration",
56
- "automation"
72
+ "automation",
73
+ "swarm",
74
+ "temporal",
75
+ "rabbitmq",
76
+ "pgvector",
77
+ "observability",
78
+ "docker",
79
+ "auto-installation"
57
80
  ],
58
81
  "author": "DeaMoN888",
59
82
  "license": "MIT",