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;
|
|
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
|
-
//
|
|
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
|
|
523
|
-
if (fs.existsSync(
|
|
524
|
-
const
|
|
525
|
-
|
|
526
|
-
|
|
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 .
|
|
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.
|
|
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
|
-
}
|