overmind-mcp 2.8.37 → 2.8.40

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 +1 @@
1
- {"version":3,"file":"NousHermesRunner.d.ts","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"AA2DA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuGD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAoB;;IAMnC,gBAAgB,IAAI,IAAI;IAclB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAkC3D,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA6/B1E"}
1
+ {"version":3,"file":"NousHermesRunner.d.ts","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"AA2DA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAuGD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAoB;;IAMnC,gBAAgB,IAAI,IAAI;IAclB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAkC3D,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAkiC1E"}
@@ -517,17 +517,54 @@ export class NousHermesRunner {
517
517
  toolsetList.push(...enabledInSettings);
518
518
  }
519
519
  else if (effectiveSettings.enableAllProjectMcpServers === true) {
520
- // Read Workflow/.mcp.json and extract all server names
520
+ // ============================================================
521
+ // 2.8.39 — READ MCP SERVERS FROM HERMES CONFIG.YAML (NOT .mcp.json)
522
+ // ============================================================
523
+ // Earlier (2.8.36) we read `Workflow/.mcp.json` for the toolset names,
524
+ // but that's the Overmind-CLI/Claude-Code format. Hermes upstream's
525
+ // `--toolsets` flag expects names that match the `mcp_servers:` block
526
+ // of the **Hermes config.yaml** (i.e. <HERMES_HOME>/config.yaml).
527
+ // The two registries use DIFFERENT names — `serveur_discord` vs
528
+ // `discord-server`, `X` vs `x_server`, etc. — and the Hermes one is
529
+ // the one Hermes actually recognises. Passing `serveur_discord` to
530
+ // `--toolsets` produces the `Warning: Unknown toolsets` we saw at
531
+ // 17:50, which silently dropped those tools and the agent reported
532
+ // "j'ai pas de MCP".
533
+ //
534
+ // Read the Hermes config.yaml `mcp_servers:` block and pass its keys.
535
+ // Fall back to `.mcp.json` only if the Hermes config has no mcp_servers.
521
536
  try {
522
- const projectMcpPath = path.join(getWorkspaceDir(), '.mcp.json');
523
- if (fs.existsSync(projectMcpPath)) {
524
- const projectMcp = JSON.parse(fs.readFileSync(projectMcpPath, 'utf8'));
525
- const allServers = Object.keys(projectMcp?.mcpServers || {});
526
- toolsetList.push(...allServers);
537
+ const hermesConfigPath = path.join(getSharedHermesHome(), 'config.yaml');
538
+ if (fs.existsSync(hermesConfigPath)) {
539
+ const yamlText = fs.readFileSync(hermesConfigPath, 'utf8');
540
+ // Tiny ad-hoc YAML parser for `mcp_servers:` block: capture the
541
+ // top-level keys under that section. This is intentionally
542
+ // dependency-free — we don't want to pull in a YAML lib for a
543
+ // single field. Hermes' config.yaml uses simple `key: value` lines
544
+ // and 2-space indent for the mcp_servers block.
545
+ const mcpBlockMatch = yamlText.match(/^mcp_servers:\s*\n((?: {2}[^\n]+\n?)+)/m);
546
+ if (mcpBlockMatch) {
547
+ const block = mcpBlockMatch[1];
548
+ const serverNames = [...block.matchAll(/^ {2}([a-zA-Z0-9_-]+):/gm)].map((m) => m[1]);
549
+ if (serverNames.length > 0) {
550
+ toolsetList.push(...serverNames);
551
+ }
552
+ }
553
+ }
554
+ if (toolsetList.length === 0) {
555
+ // Fallback: read .mcp.json (Overmind format) for any servers not in
556
+ // Hermes config. This won't help if names don't match, but at least
557
+ // surfaces the names to the user via the warning.
558
+ const projectMcpPath = path.join(getWorkspaceDir(), '.mcp.json');
559
+ if (fs.existsSync(projectMcpPath)) {
560
+ const projectMcp = JSON.parse(fs.readFileSync(projectMcpPath, 'utf8'));
561
+ const allServers = Object.keys(projectMcp?.mcpServers || {});
562
+ toolsetList.push(...allServers);
563
+ }
527
564
  }
528
565
  }
529
566
  catch (e) {
530
- logger.warn({ error: e }, '[HERMES_ARGS] Failed to read .mcp.json for toolsets, continuing without --toolsets.');
567
+ logger.warn({ error: e }, '[HERMES_ARGS] Failed to read Hermes config.yaml for toolsets, continuing without --toolsets.');
531
568
  }
532
569
  }
533
570
  if (toolsetList.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"NousHermesRunner.js","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NousHermesRunner.js","sourceRoot":"","sources":["../../src/services/NousHermesRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,587 @@
1
+ # Guide Complet : Setup d'un agent Hermes persistant (Discord) avec Overmind
2
+
3
+ **Audience :** admin Linux qui part de zéro et veut un bot Discord alimenté par
4
+ MiniMax-M3 (ou n'importe quel provider LLM), avec persistance, MCP Discord,
5
+ et toutes les subtilités de la subtilisation comprises.
6
+
7
+ **Pré-requis :** Linux (Ubuntu 24+ recommandé), `sudo` activé, accès à un
8
+ compte Discord bot + token.
9
+
10
+ **Stack final :**
11
+ - Node.js 22 LTS
12
+ - Docker (PostgreSQL + pgvector pour la mémoire vectorielle)
13
+ - overmind-mcp 2.8.40+ (`npm i -g overmind-mcp`)
14
+ - hermes-agent 0.16.0+ (`pip install hermes-agent` ou `npm i -g hermes-agent`)
15
+ - discord_llm (le bridge Discord ↔ Overmind)
16
+ - Un token MiniMax CN (sk-cp-* ou sk-mm-*) — voir §5
17
+
18
+ ---
19
+
20
+ ## 1. Préparation système (Linux fresh)
21
+
22
+ ```bash
23
+ # 1.1 Mise à jour
24
+ sudo apt update && sudo apt upgrade -y
25
+
26
+ # 1.2 Paquets de base
27
+ sudo apt install -y curl git build-essential python3 python3-pip python3-venv \
28
+ ripgrep jq ca-certificates gnupg lsb-release
29
+
30
+ # 1.3 Node.js 22 LTS
31
+ curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
32
+ sudo apt install -y nodejs
33
+ node --version # v22.x
34
+
35
+ # 1.4 Docker (pour PostgreSQL + pgvector)
36
+ curl -fsSL https://get.docker.com | sudo sh
37
+ sudo usermod -aG docker $USER
38
+ newgrp docker
39
+ docker --version
40
+
41
+ # 1.5 PostgreSQL + pgvector via Docker
42
+ docker run -d --name overmind-postgres \
43
+ -e POSTGRES_PASSWORD=psu6044 \
44
+ -e POSTGRES_DB=overmind \
45
+ -p 5433:5432 \
46
+ pgvector/pgvector:pg16
47
+ # Note: on utilise 5433 (pas 5432) pour éviter les conflits
48
+ sleep 5
49
+ docker exec overmind-postgres psql -U postgres -c "CREATE DATABASE bt_clients;"
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 2. Installation globale d'Overmind + Hermes
55
+
56
+ ```bash
57
+ # 2.1 Overmind MCP (l'orchestrateur multi-runner)
58
+ sudo npm i -g overmind-mcp
59
+ overmind-mcp --version # doit afficher 2.8.40+
60
+
61
+ # 2.2 Hermes Agent (le moteur LLM)
62
+ pip install hermes-agent
63
+ hermes --version # doit afficher 0.16.0+
64
+
65
+ # 2.3 Premier setup de Hermes (auth + workspace)
66
+ hermes setup
67
+ # → crée ~/.hermes/, te demande de login à un provider
68
+ # → ne login PAS ici (Overmind va gérer ça dynamiquement)
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 3. Setup du workspace Overmind
74
+
75
+ ```bash
76
+ # 3.1 Créer le workspace
77
+ mkdir -p ~/overmind-workflow && cd ~/overmind-workflow
78
+ overmind-mcp init
79
+ # → crée .overmind/, .mcp.json, .claude/, etc.
80
+
81
+ # 3.2 Variables d'environnement minimales
82
+ cat > .env <<'EOF'
83
+ # PostgreSQL
84
+ POSTGRES_HOST=localhost
85
+ POSTGRES_PORT=5433
86
+ POSTGRES_DB=overmind
87
+ POSTGRES_USER=postgres
88
+ POSTGRES_PASSWORD=psu6044
89
+
90
+ # MiniMax CN (vos tokens — voir §5)
91
+ ANTHROPIC_AUTH_TOKEN_1=***votre_token_CN_valide***
92
+ ANTHROPIC_AUTH_TOKEN_2=***votre_token_CN_valide***
93
+
94
+ # Convention user: MiniMax = CN par défaut
95
+ OVERMIND_MINIMAX_DEFAULT=cn
96
+ EOF
97
+ chmod 600 .env
98
+ ```
99
+
100
+ ---
101
+
102
+ ## 4. Configuration des agents Hermes — La subtilisation expliquée
103
+
104
+ ### 4.1 Le concept
105
+
106
+ Overmind supporte **4 runners** : `claude`, `kilo`, `openclaw`, `hermes`.
107
+ Pour ne pas réinventer la roue 4 fois, Overmind utilise **un format unifié**
108
+ pour TOUS les runners : `Workflow/.claude/settings_<agent>.json`.
109
+
110
+ Quand le runner `hermes` est invoqué, il **convertit** ce format unifié vers
111
+ le **format canonique Hermes** (`<HERMES_HOME>/agents/<name>/settings.json`)
112
+ au moment du spawn. C'est la "subtilisation" : Overmind déduit
113
+ automatiquement quels env vars provider-specific seed (e.g. `MINIMAX_CN_API_KEY`)
114
+ à partir du token + URL.
115
+
116
+ ### 4.2 L'arborescence canonique (3 couches)
117
+
118
+ ```
119
+ ~/overmind-workflow/ ← workspace Overmind
120
+ ├── .claude/ ← COUCHE 1 (source, tu édites)
121
+ │ ├── settings_<agent>.json ← format Overmind unifié
122
+ │ └── agents/<agent>.md ← (legacy, ignoré par Hermes)
123
+ ├── .mcp.json ← registre MCP servers HTTP
124
+ ├── .env ← tokens + secrets ($VAR)
125
+ ├── .overmind/hermes/ ← HERMES_HOME (root partagé)
126
+ │ ├── agents/<agent>/ ← COUCHE 2 (canonique, auto-généré)
127
+ │ │ ├── settings.json ← écrit par le runner
128
+ │ │ ├── SOUL.md ← persona de l'agent
129
+ │ │ ├── sessions/ logs/ memories/ ← Hermes upstream écrit
130
+ │ ├── config.yaml ← COUCHE 3 (Hermes global, auto-bootstrappé)
131
+ │ ├── auth.json ← COUCHE 3 (credential pool, Hermes global)
132
+ │ ├── sessions/ logs/ ← partagés entre agents
133
+ └── src/ ← code source Overmind (si dev)
134
+ ```
135
+
136
+ **3 couches pour 3 raisons :**
137
+ - **Source** `.claude/settings_<name>.json` = portable entre 4 runners (Claude/Kilo/OpenClaw/Hermes)
138
+ - **Canonique** `.overmind/hermes/agents/<name>/settings.json` = ce qu'Hermes upstream lit
139
+ - **Globale** `.overmind/hermes/config.yaml` + `auth.json` = état partagé, géré par Hermes upstream
140
+
141
+ ### 4.3 La subtilisation — TABLE DE MAPPING (le coeur du fix 2.8.x)
142
+
143
+ Quand le runner Overmind écrit le settings.json canonique, il **injecte**
144
+ automatiquement des env vars provider-specific. Le user n'a qu'à mettre
145
+ `ANTHROPIC_AUTH_TOKEN` + `ANTHROPIC_BASE_URL` dans le source — le runner
146
+ fait le reste.
147
+
148
+ | Token prefix dans `ANTHROPIC_AUTH_TOKEN` | URL contient | → env vars seedées dans le canonique |
149
+ |---|---|---|
150
+ | `sk-cp-*` ou `sk-mm-*` | `minimaxi` (avec le `i`) | `MINIMAX_CN_API_KEY` + `MINIMAX_CN_BASE_URL=https://api.minimaxi.com/anthropic` |
151
+ | `sk-cp-*` ou `sk-mm-*` | `minimax` (sans le `i`) | `MINIMAX_API_KEY` + `MINIMAX_BASE_URL=https://api.minimax.io/anthropic` |
152
+ | `sk-cp-*` ou `sk-mm-*` | vide | `MINIMAX_CN_*` (défaut `OVERMIND_MINIMAX_DEFAULT=cn`) |
153
+ | 32hex ou 32hex.32hex | n/a | `ZAI_ANTHROPIC_FALLBACK_KEY` + `GLM_API_KEY` |
154
+ | autre `sk-*` | n/a | rien de plus (laisser `ANTHROPIC_AUTH_TOKEN`) |
155
+
156
+ **Pourquoi c'est subtil :** le binaire Hermes upstream a 31+ plugins
157
+ provider-specific. Chaque plugin lit des env vars différentes :
158
+ - Plugin `minimax-cn` lit `MINIMAX_CN_API_KEY`
159
+ - Plugin `minimax` (GLOBAL) lit `MINIMAX_API_KEY`
160
+ - Résolveur provider lit `MINIMAX_CN_BASE_URL` (PAS `ANTHROPIC_BASE_URL`)
161
+
162
+ Si tu mets juste `ANTHROPIC_AUTH_TOKEN`, **le plugin upstream va
163
+ silencieusement 401** parce qu'il cherche une autre env var. Le runner
164
+ Overmind fait le mapping pour toi.
165
+
166
+ ---
167
+
168
+ ## 5. Obtenir un token MiniMax CN valide
169
+
170
+ ```bash
171
+ # 5.1 Créer un compte sur https://api.minimaxi.com (CN, pas GLOBAL)
172
+
173
+ # 5.2 Générer une clé API (préfixe sk-cp-)
174
+ # → Copier la clé dans ANTHROPIC_AUTH_TOKEN_1 du .env
175
+
176
+ # 5.3 Tester
177
+ curl -X POST https://api.minimaxi.com/anthropic/v1/messages \
178
+ -H "x-api-key: $ANTHROPIC_AUTH_TOKEN_1" \
179
+ -H "anthropic-version: 2023-06-01" \
180
+ -H "content-type: application/json" \
181
+ -d '{"model": "MiniMax-M3", "max_tokens": 32, "messages": [{"role": "user", "content": "ping"}]}'
182
+ # → Doit retourner 200 avec une réponse du modèle
183
+ ```
184
+
185
+ ⚠️ **Tous les tokens sk-cp-* ne sont pas forcément valides sur CN** —
186
+ certains comptes sont GLOBAL (`api.minimax.io` sans le `i`). Vérifie
187
+ toujours avec curl avant d'investir du temps de debug.
188
+
189
+ ---
190
+
191
+ ## 6. Créer un agent Hermes — l'exemple sniperbot_analyst
192
+
193
+ ### 6.1 Le source settings (COUCHE 1)
194
+
195
+ **`~/overmind-workflow/.claude/settings_sniperbot_analyst.json`**
196
+
197
+ ```json
198
+ {
199
+ "env": {
200
+ "ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN_1",
201
+ "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
202
+ "ANTHROPIC_MODEL": "MiniMax-M3",
203
+ "ANTHROPIC_PROVIDER": "minimax-cn"
204
+ },
205
+ "enableAllProjectMcpServers": true,
206
+ "enabledMcpjsonServers": [],
207
+ "agent": "sniperbot_analyst",
208
+ "runner": "hermes"
209
+ }
210
+ ```
211
+
212
+ **Notes :**
213
+ - `$ANTHROPIC_AUTH_TOKEN_1` est résolu depuis `.env` au moment du spawn
214
+ - `enableAllProjectMcpServers: true` = tous les serveurs MCP du `.mcp.json` sont chargés
215
+ - `enabledMcpjsonServers: []` = pas de filtre additionnel (vide = "tout")
216
+ - **`MINIMAX_CN_API_KEY` et `MINIMAX_CN_BASE_URL` ne sont PAS ici** — le runner les auto-seed (subtilisation 2.8.34)
217
+
218
+ ### 6.2 Le registre MCP servers (commun à tous les agents)
219
+
220
+ **`~/overmind-workflow/.mcp.json`**
221
+
222
+ ⚠️ **IMPORTANT** : les noms de serveurs DOIVENT matcher les clés du
223
+ `config.yaml` Hermes (`.overmind/hermes/config.yaml:mcp_servers:`). Les
224
+ deux registries ont des conventions différentes — le runner Overmind essaie
225
+ de matcher mais ça peut casser.
226
+
227
+ **Format recommandé** (kebab-case anglais) :
228
+
229
+ ```json
230
+ {
231
+ "mcpServers": {
232
+ "memory-server": { "type": "http", "url": "http://localhost:3099/mcp" },
233
+ "discord-server": { "type": "http", "url": "http://localhost:3141/mcp" },
234
+ "x_server": { "type": "http", "url": "http://localhost:3142/mcp" },
235
+ "postgres": { "type": "http", "url": "http://localhost:5433/mcp" },
236
+ "voipms-mcp": { "type": "http", "url": "http://localhost:3146/mcp" }
237
+ }
238
+ }
239
+ ```
240
+
241
+ ### 6.3 Le persona de l'agent (SOUL.md)
242
+
243
+ **`~/overmind-workflow/.overmind/hermes/agents/sniperbot_analyst/SOUL.md`**
244
+
245
+ Ce fichier est créé automatiquement par le runner au premier spawn, mais
246
+ tu peux le pré-créer. Format : markdown libre.
247
+
248
+ ```markdown
249
+ # Sniperbot Analyst — Ton persona
250
+
251
+ Tu es un analyste financier Discord pour le serveur VIBE DEV. Tu réponds
252
+ toujours via les outils MCP Discord (jamais de texte brut après un appel).
253
+
254
+ ## Tes tools MCP Discord (17 outils réels)
255
+ - mcp_discord_server_gestion_messages (action: envoyer, lire, modifier, supprimer, reagir)
256
+ - mcp_discord_server_creer_embed (embed builder avec 22+ thèmes)
257
+ - mcp_discord_server_gestion_membres (action: lister, info, timeout, warn, ban, kick)
258
+ - mcp_discord_server_gestion_canaux (action: lister, creer, modifier, supprimer)
259
+ ... (voir l'inventaire complet du MCP Discord server)
260
+
261
+ ## Tes tools Overmind
262
+ - mcp_overmind_server_run_agent (spawner un sous-agent)
263
+ - mcp_overmind_server_list_agents (lister 92 agents)
264
+ - mcp_overmind_server_memory_search / memory_store
265
+ - mcp_overmind_server_update_agent_config
266
+ ```
267
+
268
+ ### 6.4 Le config.yaml Hermes (COUCHE 3, auto-bootstrappé par le runner)
269
+
270
+ **`~/overmind-workflow/.overmind/hermes/config.yaml`**
271
+
272
+ Ce fichier est créé automatiquement par le runner Overmind au premier
273
+ spawn (depuis `~/.hermes/config.yaml` par défaut). Contient au minimum :
274
+
275
+ ```yaml
276
+ mcp_servers:
277
+ discord-server:
278
+ url: http://localhost:3141/mcp
279
+ memory-server:
280
+ url: http://localhost:3099/mcp
281
+ postgres:
282
+ url: http://localhost:5433/mcp
283
+ voipms-mcp:
284
+ url: http://localhost:3146/mcp
285
+ x_server:
286
+ url: http://localhost:3142/mcp
287
+ ```
288
+
289
+ **Les noms ici sont ce que `--toolsets` accepte.** Si tu mets
290
+ `serveur_discord` ici, le runner ne pourra pas activer les tools via
291
+ `--toolsets` (il faut le même nom partout).
292
+
293
+ ---
294
+
295
+ ## 7. Lancer l'agent via MCP
296
+
297
+ ```bash
298
+ # 7.1 Démarrer le serveur MCP Overmind (qui sert run_agent)
299
+ overmind-mcp start --port 3099
300
+
301
+ # 7.2 Invoquer l'agent depuis n'importe quel client MCP
302
+ # (Claude Code, Continue.dev, ou directement via curl + JSON-RPC 2.0)
303
+
304
+ # Exemple: test direct
305
+ mcp-client call overmind-mcp run_agent \
306
+ --agentName "sniperbot_analyst" \
307
+ --runner "hermes" \
308
+ --prompt "ping - réponds juste OK"
309
+ # → Réponse: "OK"
310
+ # → Log: provider=minimax-cn, model=MiniMax-M3, latency=4-6s
311
+ ```
312
+
313
+ **Le serveur MCP est sur port 3099** par défaut. Il sert le tool
314
+ `run_agent` qui prend `{agentName, runner, prompt, model?}`.
315
+
316
+ ---
317
+
318
+ ## 8. Brancher Discord (le bot + bridge)
319
+
320
+ ### 8.1 Le bot Discord Node.js (discord_llm)
321
+
322
+ ```bash
323
+ # 8.1.1 Créer un bot Discord sur https://discord.com/developers/applications
324
+ # → Copier le token
325
+
326
+ # 8.1.2 Cloner discord_llm (le wrapper Overmind+Discord)
327
+ git clone https://github.com/your-org/discord_llm.git ~/discord_llm
328
+ cd ~/discord_llm
329
+ npm install
330
+
331
+ # 8.1.3 Configurer
332
+ cat > .env <<'EOF'
333
+ DISCORD_BOT_TOKEN=***votre_token_bot_discord***
334
+ CLAUDE_SERVER_PORT=3001
335
+ RUNNER=hermes
336
+ BRIDGE_AGENT=sniperbot_analyst
337
+ OVERMIND_MCP_URL=http://localhost:3099/mcp
338
+ EOF
339
+
340
+ # 8.1.4 Build + start
341
+ npm run build
342
+ npm start
343
+ # → "Bot Discord connecté et maintenu en vie"
344
+ # → "🔗 Claude Server: http://localhost:3001"
345
+ ```
346
+
347
+ ### 8.2 Le bridge HTTP port 3001
348
+
349
+ Le bot Discord fait `POST localhost:3001/send` au bridge, qui forward
350
+ vers `mcp__overmind__run_agent` (port 3099). Le bridge est inclus dans
351
+ `discord_llm/src/overmind-bridge.ts` et est démarré automatiquement par
352
+ `npm start`.
353
+
354
+ ### 8.3 Tester end-to-end
355
+
356
+ ```
357
+ !sniper ping
358
+ ```
359
+
360
+ Le bot Discord :
361
+ 1. Reçoit le message dans le channel VIBE DEV
362
+ 2. POST `/send` au bridge (port 3001)
363
+ 3. Bridge → MCP Overmind (port 3099) → run_agent(agentName="sniperbot_analyst", runner="hermes", prompt="ping")
364
+ 4. Runner Overmind → spawn `hermes chat -q "ping" --model MiniMax-M3 --provider minimax-cn --yolo`
365
+ 5. Hermes upstream → POST api.minimaxi.com/anthropic/v1/messages
366
+ 6. Réponse "OK" → MCP → bridge → bot Discord → message sur VIBE DEV
367
+ ```
368
+
369
+ ---
370
+
371
+ ## 9. Update / maintenance (le cas Linux)
372
+
373
+ ```bash
374
+ # 9.1 Update Overmind MCP
375
+ sudo npm update -g overmind-mcp
376
+ overmind-mcp --version # doit afficher la nouvelle version
377
+
378
+ # 9.2 Update Hermes
379
+ pip install --upgrade hermes-agent
380
+ hermes --version
381
+
382
+ # 9.3 Restart les services (l'ordre compte)
383
+ # 1. Postgres (toujours en premier)
384
+ docker restart overmind-postgres
385
+
386
+ # 2. MCP servers tiers (discord, x, voipms)
387
+ docker restart discord-mcp # ou systemctl restart discord-mcp
388
+ docker restart x-mcp
389
+ docker restart voipms-mcp
390
+
391
+ # 3. Overmind MCP server
392
+ pkill -f "overmind-mcp start"
393
+ overmind-mcp start --port 3099 &
394
+
395
+ # 4. Discord bot + bridge
396
+ pkill -f "discord_llm"
397
+ cd ~/discord_llm && npm start &
398
+
399
+ # 9.4 Vérifier que tout marche
400
+ curl http://localhost:3099/mcp # doit retourner 200
401
+ curl http://localhost:3141/mcp # MCP Discord
402
+ curl http://localhost:3001/status # bridge
403
+ ```
404
+
405
+ ---
406
+
407
+ ## 10. Debug checklist (quand ça marche pas)
408
+
409
+ | Symptôme | Cause probable | Fix |
410
+ |---|---|---|
411
+ | `HTTP 401: Missing Authentication header` | Token pas passé à Hermes | Vérifier `$ANTHROPIC_AUTH_TOKEN_1` est résolu, `MINIMAX_CN_API_KEY` est seedé dans le canonique |
412
+ | `HTTP 401: invalid api key` | Mauvais endpoint | Vérifier `api.minimaxi.com` (CN avec `i`) vs `api.minimax.io` (GLOBAL) |
413
+ | `HTTP 402: insufficient balance` | Token sans budget | Changer `$ANTHROPIC_AUTH_TOKEN_1` → `_2` ou `_7` |
414
+ | `Warning: Unknown toolsets` | Noms de toolsets mismatch `.mcp.json` vs `config.yaml` | Standardiser les noms (kebab-case) |
415
+ | Sniperbot dit "j'ai pas de MCP" mais log montre 69 tools registered | SOUL.md désaligné | Réécrire le SOUL.md pour lister les vrais tools |
416
+ | "Provider: openrouter" au lieu de "minimax-cn" | `--provider` flag pas passé | Vérifier que le runner a `--provider` dans cleanArgs |
417
+ | `EXIT_CODE_1` sur le bridge | MCP server tourne l'ancien build | `pkill -f overmind-mcp && overmind-mcp start &` |
418
+ | "Erreur inconnue" générique | Stale state dans `.overmind/hermes/agents/<name>/.hermes/` | Migrer vers `agents/<name>/` (le helper `getAgentHermesHome` 2.8.30 le fait auto) |
419
+ | `cleanupTempFiles` efface le settings.json canonique | settings.json pushé dans `tempFiles` | Bug fixé en 2.8.32 — ne pas push |
420
+
421
+ ---
422
+
423
+ ## 11. Le pipeline complet (visualisation)
424
+
425
+ ```
426
+ [Discord] "!sniper ping"
427
+
428
+ [discord_llm bot Node.js] (port N/A, websocket Discord)
429
+ ↓ POST /send
430
+ [discord_llm bridge HTTP] (port 3001, Express)
431
+ ↓ JSON-RPC 2.0
432
+ [Overmind MCP server] (port 3099)
433
+ ↓ run_agent()
434
+ [NousHermesRunner.runAgentInternal()]
435
+ ├─ Lit .claude/settings_sniperbot_analyst.json (COUCHE 1, source)
436
+ ├─ Interpol $VAR depuis .env
437
+ ├─ Subtilisation 2.8.34 (sk-cp + minimaxi → MINIMAX_CN_API_KEY)
438
+ ├─ Écrit .overmind/hermes/agents/sniperbot_analyst/settings.json (COUCHE 2)
439
+ ├─ Bootstrap config.yaml (COUCHE 3) si manquant
440
+ └─ Spawn `hermes chat -q ... --model MiniMax-M3 --provider minimax-cn --yolo`
441
+ avec HERMES_HOME=<workspace>/.overmind/hermes/
442
+ (et si enableAllProjectMcpServers=true, --toolsets avec les noms de config.yaml)
443
+
444
+ [Hermes upstream] (subprocess)
445
+ ├─ Lit agents/sniperbot_analyst/settings.json
446
+ ├─ Lit agents/sniperbot_analyst/SOUL.md
447
+ ├─ Charge les MCP servers de config.yaml:mcp_servers:
448
+ └─ Construit un client Anthropic
449
+
450
+ [api.minimaxi.com/anthropic] (endpoint MiniMax CN)
451
+ POST /v1/messages { model: "MiniMax-M3", ... }
452
+
453
+ [Réponse du modèle] → Hermes → MCP → bridge → bot Discord → message sur VIBE DEV
454
+ ```
455
+
456
+ ---
457
+
458
+ ## 12. Cas particuliers & FAQ
459
+
460
+ ### Q: Pourquoi 3 couches de config et pas juste 1 ?
461
+
462
+ **R:** Polyglot par design. Overmind = orchestrateur multi-runner (4 runners),
463
+ donc il parle 4 formats. Si on n'avait qu'Overmind+Hermes, on pourrait tout
464
+ mettre dans le canonique. Mais comme on supporte aussi ClaudeRunner/KiloRunner/
465
+ OpenClawRunner qui ont leurs propres formats, le source unifié (COUCHE 1) est
466
+ plus simple à maintenir.
467
+
468
+ ### Q: Pourquoi mon agent dit "j'ai pas de MCP" alors qu'il les a ?
469
+
470
+ **R:** Biais de prompting. Le SOUL.md est trop prescriptif (il dit "j'utilise
471
+ toujours Discord" au lieu de lister factuellement les tools). Solution :
472
+ réécrire le SOUL.md pour être un inventaire factuel.
473
+
474
+ ### Q: Le runner peut-il fonctionner sans Discord ?
475
+
476
+ **R:** Oui. Le runner est 100% agnostique du canal de sortie. Tu peux
477
+ invoquer un agent via `mcp__overmind__run_agent` directement (sans Discord),
478
+ via Discord (via le bot + bridge), via cron job, via webhook, etc. La
479
+ sortie revient au caller.
480
+
481
+ ### Q: Comment ajouter un nouveau provider LLM (e.g. Mistral) ?
482
+
483
+ **R:** 4 étapes :
484
+ 1. Ajouter le détecteur de token dans `src/services/NousHermesRunner.ts`
485
+ (voir section "Subtilisation" 4.3)
486
+ 2. Ajouter le case dans `src/tools/config_example.ts`
487
+ 3. Ajouter le profile dans `~/.hermes/config.yaml` (section `providers:`)
488
+ 4. Documenter dans `docs/provider-config-map.md`
489
+
490
+ ### Q: Différence entre `enableAllProjectMcpServers: true` et `enabledMcpjsonServers: [...]` ?
491
+
492
+ **R:**
493
+ - `enableAllProjectMcpServers: true` = charger tous les serveurs du `.mcp.json` (Overmind registry)
494
+ - `enabledMcpjsonServers: [...]` = charger SEULEMENT les serveurs listés (filtre)
495
+ - Si les deux sont set, le filtre gagne (`enabledMcpjsonServers` est plus spécifique)
496
+ - Si les deux sont vides/absents, AUCUN MCP n'est chargé (l'agent a juste les tools Hermes natifs)
497
+
498
+ ### Q: Comment tester sans payer ?
499
+
500
+ **R:** 3 options :
501
+ 1. **Anthropic officiel** : `claude-sonnet-4-6` via ton compte (5$ gratuits au start)
502
+ 2. **OpenRouter** (embeddings only par convention user) — ne PAS utiliser pour LLM
503
+ 3. **Z.AI GLM** : modèles `glm-4.5-air` gratuits en bêta
504
+
505
+ ---
506
+
507
+ ## 13. TL;DR (le strict minimum)
508
+
509
+ ```bash
510
+ # 1. Install
511
+ sudo npm i -g overmind-mcp
512
+ pip install hermes-agent
513
+
514
+ # 2. Workspace
515
+ mkdir ~/overmind-workflow && cd ~/overmind-workflow
516
+ echo 'ANTHROPIC_AUTH_TOKEN_1=sk-cp-***' > .env
517
+ echo 'OVERMIND_MINIMAX_DEFAULT=cn' >> .env
518
+
519
+ # 3. Source agent
520
+ mkdir -p .claude .mcp.json
521
+ cat > .claude/settings_sniper.json <<EOF
522
+ {
523
+ "env": {
524
+ "ANTHROPIC_AUTH_TOKEN": "\$ANTHROPIC_AUTH_TOKEN_1",
525
+ "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
526
+ "ANTHROPIC_MODEL": "MiniMax-M3",
527
+ "ANTHROPIC_PROVIDER": "minimax-cn"
528
+ },
529
+ "enableAllProjectMcpServers": true,
530
+ "agent": "sniper", "runner": "hermes"
531
+ }
532
+ EOF
533
+
534
+ # 4. MCP servers
535
+ cat > .mcp.json <<EOF
536
+ {"mcpServers":{"memory-server":{"type":"http","url":"http://localhost:3099/mcp"}}}
537
+ EOF
538
+
539
+ # 5. Start
540
+ overmind-mcp start --port 3099 &
541
+
542
+ # 6. Test
543
+ mcp-client call overmind-mcp run_agent \
544
+ --agentName sniper --runner hermes --prompt "ping"
545
+ # → "OK"
546
+ ```
547
+
548
+ C'est tout. Le reste (canonique, config.yaml, SOUL.md, Discord bridge) est
549
+ auto-généré par le runner. Si tu as besoin de Discord, ajoute discord_llm
550
+ (§8).
551
+
552
+ ---
553
+
554
+ ## 14. Versions & changelog
555
+
556
+ | Version | Date | Fix majeur |
557
+ |---|---|---|
558
+ | 2.8.28 | 2026-06 | Premier fix 401 — interpolation $VAR cassée |
559
+ | 2.8.29 | 2026-06 | Settings canonique prime sur .hermes/.env stale |
560
+ | 2.8.30 | 2026-06 | Refactor format canonique Hermes (appdirs style) |
561
+ | 2.8.32 | 2026-06 | Subtilisation : auto-seed MINIMAX_CN_API_KEY |
562
+ | 2.8.33 | 2026-06 | Subtilisation : auto-seed MINIMAX_CN_BASE_URL |
563
+ | 2.8.34 | 2026-06 | Re-add `--provider` flag (bypass auto-router bug) |
564
+ | 2.8.36 | 2026-06 | `--toolsets` flag passé au CLI |
565
+ | 2.8.37 | 2026-06 | Bootstrap config.yaml dans HERMES_HOME partagé |
566
+ | 2.8.38 | 2026-06 | SOUL.md sniperbot aligné (envoyer_message → gestion_messages) |
567
+ | 2.8.39 | 2026-06 | Toolsets lus depuis config.yaml (pas .mcp.json) |
568
+ | 2.8.40 | 2026-06 | SOUL.md full rewrite avec inventaire 17 tools |
569
+
570
+ ---
571
+
572
+ ## 15. Crédits & références
573
+
574
+ - **Overmind MCP** : https://github.com/your-org/overmind-mcp
575
+ - **Hermes Agent** : https://hermes-agent.nousresearch.com/docs
576
+ - **MiniMax API** : https://api.minimaxi.com (CN) / https://api.minimax.io (GLOBAL)
577
+ - **MCP Discord server** : https://github.com/your-org/discord-mcp-server (v2.1.3)
578
+ - **discord_llm** : https://github.com/your-org/discord_llm
579
+ - **Exemple vivant** : sniperbot_analyst sur VIBE DEV (serveur Discord 804393160092024832)
580
+ - **CHANGELOG** : voir `Workflow/CHANGELOG.md` pour l'historique complet
581
+ - **SUBTILISATION** : voir `C:\Users\Deamon\Desktop\SUBTILISATION_EXPLAINED.txt` (doc originale)
582
+ - **Flow diagram** : voir `Workflow/docs/OVERMIND_HERMES_SNIPERBOT_FLOW.md`
583
+
584
+ ---
585
+
586
+ **Auteur :** Nicolas (chef d'équipe Bon-air, compagnon charpentier-menuisier)
587
+ **Mainteneur :** toi + tes agents Hermes (autrement dit, ce guide est vivant)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overmind-mcp",
3
- "version": "2.8.37",
3
+ "version": "2.8.40",
4
4
  "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.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,50 +0,0 @@
1
- // Hermes test: invokes overmind memory_store with source="agent_test"
2
- // Bypasses the Zod enum restriction on the MCP tool layer (which only accepts
3
- // 'user'|'agent'|'pattern'|'error'|'decision') and calls the provider directly,
4
- // which accepts any string for source. This is the documented intent of the
5
- // request: store with source="agent_test".
6
-
7
- import { getMemoryProvider } from '../dist/memory/MemoryFactory.js';
8
-
9
- const TEXT = 'HERMES TEST OK — run 3-agents-parallel 2026-06-07';
10
- const SOURCE = 'agent_test';
11
-
12
- try {
13
- const provider = getMemoryProvider();
14
- const effectiveAgentName = process.env.OVERMIND_AGENT_NAME || undefined;
15
- const id = await provider.storeKnowledge({
16
- text: TEXT,
17
- source: SOURCE,
18
- agentName: effectiveAgentName,
19
- });
20
- // Verify by reading back via the provider's search
21
- let verified = false;
22
- try {
23
- const search = await provider.searchMemory({
24
- query: TEXT,
25
- limit: 3,
26
- include_runs: false,
27
- });
28
- const hit = (search?.results || []).find((r) => r.text === TEXT);
29
- verified = !!hit;
30
- } catch (e) {
31
- verified = `search failed: ${e.message}`;
32
- }
33
- console.log(JSON.stringify({
34
- ok: true,
35
- stored: true,
36
- id,
37
- source: effectiveAgentName ? `agent|${effectiveAgentName}` : SOURCE,
38
- requested_source: SOURCE,
39
- agent_name: effectiveAgentName || null,
40
- verified,
41
- }, null, 2));
42
- } catch (err) {
43
- console.error(JSON.stringify({
44
- ok: false,
45
- stored: false,
46
- error: err instanceof Error ? err.message : String(err),
47
- stack: err instanceof Error ? err.stack : undefined,
48
- }, null, 2));
49
- process.exit(1);
50
- }