overmind-mcp 2.2.4 → 2.3.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.
Files changed (74) hide show
  1. package/.mcp.json.example +21 -0
  2. package/README.md +59 -6
  3. package/bin/.gitkeep +0 -0
  4. package/bin/README.md +34 -0
  5. package/dist/lib/InstallHelper.js +1 -1
  6. package/dist/lib/processRegistry.d.ts +71 -0
  7. package/dist/lib/processRegistry.d.ts.map +1 -0
  8. package/dist/lib/processRegistry.js +275 -0
  9. package/dist/lib/processRegistry.js.map +1 -0
  10. package/dist/server.d.ts +14 -1
  11. package/dist/server.d.ts.map +1 -1
  12. package/dist/server.js +58 -1
  13. package/dist/server.js.map +1 -1
  14. package/dist/services/ClaudeRunner.d.ts.map +1 -1
  15. package/dist/services/ClaudeRunner.js +59 -4
  16. package/dist/services/ClaudeRunner.js.map +1 -1
  17. package/dist/services/ClineRunner.d.ts.map +1 -1
  18. package/dist/services/ClineRunner.js +12 -1
  19. package/dist/services/ClineRunner.js.map +1 -1
  20. package/dist/services/GeminiRunner.d.ts.map +1 -1
  21. package/dist/services/GeminiRunner.js +18 -0
  22. package/dist/services/GeminiRunner.js.map +1 -1
  23. package/dist/services/KiloRunner.d.ts.map +1 -1
  24. package/dist/services/KiloRunner.js +28 -1
  25. package/dist/services/KiloRunner.js.map +1 -1
  26. package/dist/services/NousHermesRunner.d.ts.map +1 -1
  27. package/dist/services/NousHermesRunner.js +18 -5
  28. package/dist/services/NousHermesRunner.js.map +1 -1
  29. package/dist/services/OpenClawRunner.d.ts.map +1 -1
  30. package/dist/services/OpenClawRunner.js +12 -2
  31. package/dist/services/OpenClawRunner.js.map +1 -1
  32. package/dist/services/OpenCodeRunner.d.ts.map +1 -1
  33. package/dist/services/OpenCodeRunner.js +12 -1
  34. package/dist/services/OpenCodeRunner.js.map +1 -1
  35. package/dist/services/QwenCliRunner.d.ts.map +1 -1
  36. package/dist/services/QwenCliRunner.js +12 -1
  37. package/dist/services/QwenCliRunner.js.map +1 -1
  38. package/dist/tools/config_example.d.ts.map +1 -1
  39. package/dist/tools/config_example.js +23 -7
  40. package/dist/tools/config_example.js.map +1 -1
  41. package/dist/tools/get_agent_status.d.ts +29 -0
  42. package/dist/tools/get_agent_status.d.ts.map +1 -0
  43. package/dist/tools/get_agent_status.js +45 -0
  44. package/dist/tools/get_agent_status.js.map +1 -0
  45. package/dist/tools/kill_agent.d.ts +22 -0
  46. package/dist/tools/kill_agent.d.ts.map +1 -0
  47. package/dist/tools/kill_agent.js +33 -0
  48. package/dist/tools/kill_agent.js.map +1 -0
  49. package/dist/tools/stream_agent_output.d.ts +30 -0
  50. package/dist/tools/stream_agent_output.d.ts.map +1 -0
  51. package/dist/tools/stream_agent_output.js +44 -0
  52. package/dist/tools/stream_agent_output.js.map +1 -0
  53. package/dist/tools/wait_agent.d.ts +30 -0
  54. package/dist/tools/wait_agent.d.ts.map +1 -0
  55. package/dist/tools/wait_agent.js +68 -0
  56. package/dist/tools/wait_agent.js.map +1 -0
  57. package/docs/ASYNC_AGENT_INTEGRATION.md +311 -0
  58. package/docs/INDEX.md +144 -144
  59. package/docs/docs/OVERMIND_WORKFLOW_GUIDE.md +595 -0
  60. package/docs/docs/PROJECT_STRUCTURE.md +101 -0
  61. package/docs/docs/README_POSTGRES_INTEGRATION.md +229 -0
  62. package/package.json +5 -5
  63. package/scripts/auto-install.mjs +8 -8
  64. package/scripts/postgres-manager.mjs +1 -1
  65. package/scripts/postinstall.mjs +2 -2
  66. package/scripts/setup.mjs +8 -5
  67. package/docs/guides/DEPLOYMENT.md +0 -418
  68. package/docs/guides/SWARM_USAGE.md +0 -444
  69. /package/{install-overmind-unix.sh → bin/install-overmind-unix.sh} +0 -0
  70. /package/{install-overmind-windows.bat → bin/install-overmind-windows.bat} +0 -0
  71. /package/docs/{api/prompt → prompt}/Claude_code.md +0 -0
  72. /package/docs/{api/prompt → prompt}/Kilo.md +0 -0
  73. /package/docs/{api/prompt → prompt}/Kilo_Hermes.md +0 -0
  74. /package/docs/{api/prompt → prompt}/Minimax4.md +0 -0
@@ -0,0 +1,229 @@
1
+ # 🔗 PostgreSQL Integration Guide
2
+
3
+ Guide complet pour intégrer et utiliser PostgreSQL avec l'extension pgvector dans OverMind MCP.
4
+
5
+ ## 📋 Table des matières
6
+
7
+ - [Installation](#installation)
8
+ - [Configuration](#configuration)
9
+ - [Utilisation](#utilisation)
10
+ - [Performance](#performance)
11
+ - [Dépannage](#dépannage)
12
+
13
+ ## 🚀 Installation
14
+
15
+ ### Via Docker (Recommandé)
16
+
17
+ L'installation automatique est gérée par les scripts d'installation :
18
+
19
+ ```bash
20
+ # Windows
21
+ bin/install-overmind-windows.bat
22
+
23
+ # Linux/macOS
24
+ bin/install-overmind-unix.sh
25
+ ```
26
+
27
+ Le script crée automatiquement :
28
+ - Container Docker `overmind-postgres-pgvector`
29
+ - Extension pgvector (4096 dimensions)
30
+ - Base de données `overmind_memory`
31
+ - Tables et index nécessaires
32
+
33
+ ### Manuelle
34
+
35
+ Si vous préférez installer PostgreSQL manuellement :
36
+
37
+ ```bash
38
+ # Installer PostgreSQL
39
+ sudo apt-get install postgresql postgresql-contrib
40
+
41
+ # Installer l'extension pgvector
42
+ # Suivre les instructions sur : https://github.com/pgvector/pgvector
43
+ ```
44
+
45
+ ## ⚙️ Configuration
46
+
47
+ ### Variables d'environnement
48
+
49
+ Créer ou modifier `.env` :
50
+
51
+ ```bash
52
+ # PostgreSQL
53
+ POSTGRES_HOST=localhost
54
+ POSTGRES_PORT=5432
55
+ POSTGRES_USER=postgres
56
+ POSTGRES_PASSWORD=your_secure_password
57
+ POSTGRES_DB=overmind_memory
58
+
59
+ # OverMind Memory (optionnel)
60
+ OVERMIND_MEMORY_TYPE=postgres
61
+ ```
62
+
63
+ ### Vérification
64
+
65
+ Tester la connexion :
66
+
67
+ ```bash
68
+ docker exec overmind-postgres-pgvector psql -U postgres -c "SELECT extname FROM pg_extension WHERE extname = 'vector';"
69
+ ```
70
+
71
+ Doit retourner : `vector`
72
+
73
+ ## 🎯 Utilisation
74
+
75
+ ### Avec OverMind MCP
76
+
77
+ Les outils MCP suivants utilisent PostgreSQL :
78
+
79
+ #### 1. **memory_search** - Recherche sémantique
80
+ ```json
81
+ {
82
+ "jsonrpc": "2.0",
83
+ "id": 1,
84
+ "method": "tools/call",
85
+ "params": {
86
+ "name": "memory_search",
87
+ "arguments": {
88
+ "query": "agents IA performants",
89
+ "agentName": "my_agent",
90
+ "limit": 5
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ #### 2. **memory_store** - Stocker des connaissances
97
+ ```json
98
+ {
99
+ "jsonrpc": "2.0",
100
+ "id": 1,
101
+ "method": "tools/call",
102
+ "params": {
103
+ "name": "memory_store",
104
+ "arguments": {
105
+ "text": "Les agents GLM-5.1 sont très performants",
106
+ "source": "user"
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ #### 3. **MCP_PG_VECTOR** - Requêtes SQL directes
113
+ ```json
114
+ {
115
+ "jsonrpc": "2.0",
116
+ "id": 1,
117
+ "method": "tools/call",
118
+ "params": {
119
+ "name": "MCP_PG_VECTOR",
120
+ "arguments": {
121
+ "sql": "SELECT * FROM agents_metadata LIMIT 10"
122
+ }
123
+ }
124
+ }
125
+ ```
126
+
127
+ ### Via CLI OverMind
128
+
129
+ ```bash
130
+ # Rechercher dans la mémoire
131
+ overmind memory_search "agents performants" --agent my_agent
132
+
133
+ # Stocker une information
134
+ overmind memory_store "Nouveau conseil de test" --source user
135
+
136
+ # Voir les statistiques
137
+ overmind pgvector_stats --table embeddings
138
+ ```
139
+
140
+ ## 📊 Performance
141
+
142
+ ### Recherche vectorielle
143
+
144
+ #### Spécifications
145
+ - **Dimensions** : 4096 (Qwen 8B embeddings)
146
+ - **Index** : HNSW (Hierarchical Navigable Small World)
147
+ - **Distance** : Cosine similarity
148
+
149
+ #### Benchmark
150
+
151
+ ```bash
152
+ # Test de performance
153
+ overmind intelligent_search "test query" --table embeddings --topK 10
154
+ ```
155
+
156
+ ### Optimisations
157
+
158
+ 1. **Index HNSW** - Recherche approximative ultra-rapide
159
+ 2. **Cache embeddings** - Réduit les calculs répétitifs
160
+ 3. **Recherche hybride** - Combine texte et vecteur pour meilleurs résultats
161
+
162
+ ## 🔧 Dépannage
163
+
164
+ ### Problèmes courants
165
+
166
+ #### Erreur "extension vector does not exist"
167
+ ```bash
168
+ # Créer l'extension
169
+ docker exec overmind-postgres-pgvector psql -U postgres -c "CREATE EXTENSION vector;"
170
+ ```
171
+
172
+ #### Erreur "connection refused"
173
+ ```bash
174
+ # Vérifier que PostgreSQL tourne
175
+ docker ps | grep overmind-postgres
176
+
177
+ # Vérifier les ports
178
+ netstat -an | grep 5432
179
+ ```
180
+
181
+ #### Performance lente
182
+ ```bash
183
+ # Vérifier les statistiques
184
+ overmind pgvector_stats --table embeddings
185
+
186
+ # Recréer les index si nécessaire
187
+ overmind manage_vectors --action optimize --table embeddings
188
+ ```
189
+
190
+ ## 📚 Documentation avancée
191
+
192
+ ### Schéma de la base
193
+
194
+ ```sql
195
+ -- Tables principales
196
+ agents_metadata -- Métadonnées des agents
197
+ conversations -- Historique des conversations
198
+ embeddings -- Vecteurs pour recherche sémantique
199
+ agent_knowledge -- Connaissances des agents
200
+ ```
201
+
202
+ ### Recherche hybride
203
+
204
+ Combiner recherche textuelle et vectorielle :
205
+
206
+ ```sql
207
+ SELECT
208
+ id,
209
+ content,
210
+ embedding <=> '[...]' AS vector_distance,
211
+ ts_rank(content_fts, query) AS text_rank
212
+ FROM embeddings
213
+ WHERE content_fts @@ query
214
+ ORDER BY vector_distance ASC
215
+ LIMIT 10;
216
+ ```
217
+
218
+ ## 🚀 Bonnes pratiques
219
+
220
+ 1. **Backup régulier** : `docker exec overmind-postgres pg_dump -U postgres overmind_memory > backup.sql`
221
+ 2. **Monitoring** : Utiliser Grafana dashboard pour surveiller les performances
222
+ 3. **Maintenance** : `overmind manage_vectors --action optimize --table embeddings` hebdomadairement
223
+
224
+ ---
225
+
226
+ **Pour plus d'informations** :
227
+ - Guide principal : `../README.md`
228
+ - Docker : `../docker/README.md`
229
+ - Scripts DB : `../db/README.md`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overmind-mcp",
3
- "version": "2.2.4",
3
+ "version": "2.3.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",
@@ -25,8 +25,8 @@
25
25
  "README.md",
26
26
  "docs",
27
27
  "scripts",
28
- "install-overmind-windows.bat",
29
- "install-overmind-unix.sh"
28
+ "bin",
29
+ ".mcp.json.example"
30
30
  ],
31
31
  "scripts": {
32
32
  "build": "tsc",
@@ -116,8 +116,8 @@
116
116
  "pino-pretty": "^13.1.3",
117
117
  "pino-roll": "^2.2.0",
118
118
  "tinyglobby": "^0.2.16",
119
- "zod": "^4.3.6",
120
- "tslib": "^2.8.1"
119
+ "tslib": "^2.0.0",
120
+ "zod": "^4.3.6"
121
121
  },
122
122
  "peerDependencies": {
123
123
  "tslib": "^2.0.0"
@@ -136,13 +136,13 @@ async function setupInfrastructure() {
136
136
  const exportersUrl = 'https://raw.githubusercontent.com/DeamonDev888/overmind-mcp/main/docker-compose.exporters.yml';
137
137
 
138
138
  try {
139
- const composeData = runCommand(`curl -sL ${composeUrl}`);
139
+ const composeData = runCommand(`curl -sL --max-time 30 ${composeUrl}`);
140
140
  if (composeData) {
141
141
  writeFileSync(join(INSTALL_DIR, 'docker-compose.yml'), composeData);
142
142
  console.log('✅ docker-compose.yml téléchargé');
143
143
  }
144
144
 
145
- const exportersData = runCommand(`curl -sL ${exportersUrl}`);
145
+ const exportersData = runCommand(`curl -sL --max-time 30 ${exportersUrl}`);
146
146
  if (exportersData) {
147
147
  writeFileSync(join(INSTALL_DIR, 'docker-compose.exporters.yml'), exportersData);
148
148
  console.log('✅ docker-compose.exporters.yml téléchargé');
@@ -190,12 +190,12 @@ async function validateServices() {
190
190
  console.log('');
191
191
 
192
192
  const services = [
193
- { name: 'PostgreSQL', filter: 'postgres', check: 'pg_isready' },
194
- { name: 'RabbitMQ', filter: 'rabbitmq', check: null },
195
- { name: 'Temporal', filter: 'temporal', check: null },
196
- { name: 'Prometheus', filter: 'prometheus', check: null },
197
- { name: 'Grafana', filter: 'grafana', check: null },
198
- { name: 'Jaeger', filter: 'jaeger', check: null },
193
+ { name: 'PostgreSQL', filter: 'overmind-postgres-pgvector', check: 'pg_isready' },
194
+ { name: 'RabbitMQ', filter: 'overmind-rabbitmq', check: null },
195
+ { name: 'Temporal', filter: 'overmind-temporal', check: null },
196
+ { name: 'Prometheus', filter: 'overmind-prometheus', check: null },
197
+ { name: 'Grafana', filter: 'overmind-grafana', check: null },
198
+ { name: 'Jaeger', filter: 'overmind-jaeger', check: null },
199
199
  ];
200
200
 
201
201
  let allRunning = true;
@@ -173,7 +173,7 @@ function showHelp() {
173
173
  console.log('║ Usage: ║');
174
174
  console.log('║ overmind-postgres up Démarrer PostgreSQL ║');
175
175
  console.log('║ overmind-postgres down Arrêter PostgreSQL ║');
176
- console.log('║ overmind-postgres status Vérifier l''état ║');
176
+ console.log('║ overmind-postgres status Verifier l\'etat ║');
177
177
  console.log('║ overmind-postgres logs Voir les logs en temps réel ║');
178
178
  console.log('║ overmind-postgres reset Réinitialiser (⚠️ données) ║');
179
179
  console.log('║ ║');
@@ -201,14 +201,14 @@ async function setupConfigFiles() {
201
201
 
202
202
  try {
203
203
  // Télécharger .env.example
204
- const envExampleData = runCommand(`curl -sL ${envExampleUrl}`);
204
+ const envExampleData = runCommand(`curl -sL --max-time 30 ${envExampleUrl}`);
205
205
  if (envExampleData) {
206
206
  writeFileSync(join(INSTALL_DIR, '.env.example'), envExampleData);
207
207
  log(COLORS.green, '✅ .env.example téléchargé');
208
208
  }
209
209
 
210
210
  // Télécharger .mcp.json.example
211
- const mcpExampleData = runCommand(`curl -sL ${mcpExampleUrl}`);
211
+ const mcpExampleData = runCommand(`curl -sL --max-time 30 ${mcpExampleUrl}`);
212
212
  if (mcpExampleData) {
213
213
  writeFileSync(join(INSTALL_DIR, '.mcp.json.example'), mcpExampleData);
214
214
  log(COLORS.green, '✅ .mcp.json.example téléchargé');
package/scripts/setup.mjs CHANGED
@@ -175,11 +175,11 @@ async function installPostgreSQL() {
175
175
  execSync('docker pull pgvector/pgvector:pg16', { stdio: 'inherit' });
176
176
 
177
177
  console.log('🚀 Démarrage container PostgreSQL...');
178
- const runCommand = `docker run -d --name postgres-pgvector \\
178
+ const runCommand = `docker run -d --name overmind-postgres-pgvector \\
179
179
  -p 5432:5432 \\
180
180
  -e POSTGRES_PASSWORD=overmind_temp_password_change_me \\
181
181
  -e POSTGRES_USER=postgres \\
182
- -v postgres_data:/var/lib/postgresql/data \\
182
+ -v overmind_postgres_data:/var/lib/postgresql/data \\
183
183
  --restart unless-stopped \\
184
184
  pgvector/pgvector:pg16`;
185
185
 
@@ -192,7 +192,7 @@ async function installPostgreSQL() {
192
192
  // Verify pgvector
193
193
  console.log('🔍 Vérification pgvector...');
194
194
  await runCommandAsync(
195
- 'docker exec postgres-pgvector psql -U postgres -c "CREATE EXTENSION IF NOT EXISTS vector;"',
195
+ 'docker exec overmind-postgres-pgvector psql -U postgres -c "CREATE EXTENSION IF NOT EXISTS vector;"',
196
196
  'Activation pgvector'
197
197
  );
198
198
 
@@ -268,13 +268,16 @@ async function startDockerServices() {
268
268
  async function createOvermindDatabase() {
269
269
  logSection('CRÉATION BASE OVERMIND');
270
270
 
271
- // Import and run setup-overmind-db.mjs
272
271
  const setupDbPath = join(__dirname, 'setup-overmind-db.mjs');
272
+ const destDbDir = INSTALL_DIR;
273
+ const destDbPath = join(destDbDir, 'setup-overmind-db.mjs');
273
274
 
274
275
  try {
276
+ if (!existsSync(destDbDir)) {
277
+ mkdirSync(destDbDir, { recursive: true });
278
+ }
275
279
  copyFileSync(setupDbPath, destDbPath);
276
280
 
277
- // Run it
278
281
  await runCommandAsync(
279
282
  `node "${destDbPath}"`,
280
283
  'Initialisation DB OverMind'