overmind-mcp 2.8.30 → 2.8.35
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/dist/bridge/BridgeProxy.d.ts +2 -1
- package/dist/bridge/BridgeProxy.d.ts.map +1 -1
- package/dist/bridge/BridgeProxy.js +2 -1
- package/dist/bridge/BridgeProxy.js.map +1 -1
- package/dist/bridge/OverBridgeService.d.ts +6 -4
- package/dist/bridge/OverBridgeService.d.ts.map +1 -1
- package/dist/bridge/OverBridgeService.js +6 -4
- package/dist/bridge/OverBridgeService.js.map +1 -1
- package/dist/bridge/index.d.ts +2 -2
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +4 -4
- package/dist/bridge/index.js.map +1 -1
- package/dist/services/NousHermesRunner.d.ts.map +1 -1
- package/dist/services/NousHermesRunner.js +133 -12
- package/dist/services/NousHermesRunner.js.map +1 -1
- package/dist/tools/config_example.d.ts +20 -3
- package/dist/tools/config_example.d.ts.map +1 -1
- package/dist/tools/config_example.js +254 -201
- package/dist/tools/config_example.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,318 +1,371 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const configExampleSchema = z.object({
|
|
3
3
|
provider: z
|
|
4
|
-
.enum([
|
|
4
|
+
.enum([
|
|
5
|
+
// Standard providers (legacy ClaudeRunner/KiloRunner)
|
|
6
|
+
'glm',
|
|
7
|
+
'openrouter',
|
|
8
|
+
'ilmu',
|
|
9
|
+
'anthropic',
|
|
10
|
+
'overmind',
|
|
11
|
+
// Hermes providers (NousHermesRunner — 2.8.34+)
|
|
12
|
+
'hermes-minimax-cn',
|
|
13
|
+
'hermes-minimax-global',
|
|
14
|
+
'hermes-zai',
|
|
15
|
+
'hermes-anthropic',
|
|
16
|
+
])
|
|
5
17
|
.describe('Le fournisseur pour lequel vous voulez un exemple de configuration.'),
|
|
6
18
|
});
|
|
19
|
+
/**
|
|
20
|
+
* config_example tool — provides copy-pasteable config templates for each
|
|
21
|
+
* supported provider. Updated for Overmind 2.8.34+:
|
|
22
|
+
* - Hermes runner uses the CANONICAL Hermes layout (HERMES_HOME/agents/<name>/)
|
|
23
|
+
* instead of the legacy polylgot `agent_<name>/.hermes/` dir.
|
|
24
|
+
* - The runner auto-injects provider-specific env vars (MINIMAX_CN_API_KEY,
|
|
25
|
+
* MINIMAX_CN_BASE_URL, etc.) into the canonical settings.json based on
|
|
26
|
+
* the token prefix + ANTHROPIC_BASE_URL. Users only need to set
|
|
27
|
+
* ANTHROPIC_AUTH_TOKEN (+ ANTHROPIC_BASE_URL) and the runner does the rest.
|
|
28
|
+
* - `--provider` is now passed to the CLI (forces Hermes upstream to skip
|
|
29
|
+
* the auto-router that was picking openrouter for MiniMax-M3).
|
|
30
|
+
*
|
|
31
|
+
* Use case: when a user asks "how do I configure agent X for provider Y",
|
|
32
|
+
* call this tool and copy/paste the relevant section.
|
|
33
|
+
*/
|
|
7
34
|
export async function configExample(args) {
|
|
8
35
|
const { provider } = args;
|
|
9
36
|
let text = '';
|
|
10
37
|
const interpolationNotice = `
|
|
11
38
|
💡 **NOUVEAUTÉ : INTERPOLATION DE VARIABLES**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
39
|
+
Les fichiers \`settings_<agent>.json\` et la config canonique Hermes
|
|
40
|
+
supportent les références \`$VAR\` qui sont résolues depuis \`Workflow/.env\`
|
|
41
|
+
ou \`process.env\` au moment du spawn.
|
|
42
|
+
`;
|
|
15
43
|
switch (provider) {
|
|
16
|
-
|
|
17
|
-
|
|
44
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
45
|
+
// HERMES — NOUVEAU FORMAT CANONIQUE (2.8.30+)
|
|
46
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
47
|
+
case 'hermes-minimax-cn':
|
|
48
|
+
text = `🇨🇳 **HERMES + MINIMAX CN** (Overmind 2.8.34+, NousHermesRunner)
|
|
18
49
|
|
|
19
|
-
### 📂 settings_
|
|
50
|
+
### 📂 Workflow/.claude/settings_<agent>.json
|
|
20
51
|
\`\`\`json
|
|
21
52
|
{
|
|
22
53
|
"env": {
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
54
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN_1",
|
|
55
|
+
"ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
|
|
56
|
+
"ANTHROPIC_MODEL": "MiniMax-M3",
|
|
57
|
+
"ANTHROPIC_PROVIDER": "minimax-cn"
|
|
27
58
|
},
|
|
28
59
|
"enableAllProjectMcpServers": false,
|
|
29
|
-
"enabledMcpjsonServers": [
|
|
30
|
-
"postgresql-server",
|
|
31
|
-
"memory"
|
|
32
|
-
],
|
|
60
|
+
"enabledMcpjsonServers": ["memory-server", "discord-server"],
|
|
33
61
|
"agent": "nom_agent",
|
|
34
|
-
"runner": "
|
|
62
|
+
"runner": "hermes"
|
|
35
63
|
}
|
|
36
64
|
\`\`\`
|
|
37
65
|
|
|
38
|
-
### 📂
|
|
66
|
+
### 📂 Workflow/.claude/agents/<agent>.md (system prompt, optionnel)
|
|
67
|
+
\`\`\`markdown
|
|
68
|
+
# Persona de l'agent
|
|
69
|
+
|
|
70
|
+
Tu es un assistant ... (description libre)
|
|
39
71
|
\`\`\`
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
72
|
+
|
|
73
|
+
### 📂 Workflow/.env (tokens)
|
|
74
|
+
\`\`\`
|
|
75
|
+
ANTHROPIC_AUTH_TOKEN_1=sk-cp-xxxxxxxx # token MiniMax CN valide
|
|
76
|
+
ANTHROPIC_AUTH_TOKEN_2=sk-cp-yyyyyyyy
|
|
77
|
+
ANTHROPIC_AUTH_TOKEN_3=sk-cp-zzzzzzzz
|
|
45
78
|
\`\`\`
|
|
46
79
|
|
|
47
|
-
|
|
48
|
-
- \`glm-5.1\` - Flagship modèle (recommandé)
|
|
49
|
-
- \`glm-5\` - Performances solides
|
|
50
|
-
- \`glm-4.5-air\` - Modèle léger et coût-efficace
|
|
80
|
+
### 🔧 Ce que le runner fait automatiquement au spawn
|
|
51
81
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
82
|
+
1. Lit \`settings_<agent>.json\` + interpole les \`$VAR\` depuis le \`.env\`
|
|
83
|
+
2. Détecte le provider depuis le token prefix + URL :
|
|
84
|
+
- \`sk-cp-*\` + URL contient \`minimaxi\` → **MiniMax CN**
|
|
85
|
+
3. Écrit le **settings.json canonique** dans
|
|
86
|
+
\`<HERMES_HOME>/agents/<agent>/settings.json\` avec :
|
|
87
|
+
- L'env block (héritée de settings_<agent>.json)
|
|
88
|
+
- \`MINIMAX_CN_API_KEY\` (le plugin \`minimax-cn\` upstream lit CECI, pas \`ANTHROPIC_AUTH_TOKEN\`)
|
|
89
|
+
- \`MINIMAX_CN_BASE_URL\` (le résolveur provider upstream lit CECI, pas \`ANTHROPIC_BASE_URL\`)
|
|
90
|
+
4. Spawn \`hermes chat -q "..." --model MiniMax-M3 --provider minimax-cn --yolo\`
|
|
91
|
+
avec \`HERMES_HOME=<workspace>/.overmind/hermes/\`
|
|
55
92
|
|
|
93
|
+
### 🌳 Arborescence canonique (Overmind-managed + Hermes-managed)
|
|
94
|
+
\`\`\`
|
|
95
|
+
Workflow/.overmind/hermes/ ← HERMES_HOME (shared root)
|
|
96
|
+
├── agents/
|
|
97
|
+
│ └── nom_agent/ ← per-agent home
|
|
98
|
+
│ ├── settings.json ← écrit par le runner
|
|
99
|
+
│ ├── SOUL.md ← (optionnel) persona par-agent
|
|
100
|
+
│ ├── sessions/ logs/ memories/ ... ← Hermes upstream écrit
|
|
101
|
+
├── config.yaml ← global, Hermes upstream
|
|
102
|
+
├── auth.json ← global, Hermes upstream (credential pool)
|
|
103
|
+
├── sessions/ logs/ ... ← partagés entre agents
|
|
104
|
+
\`\`\`
|
|
105
|
+
|
|
106
|
+
### ⚠️ Pièges courants
|
|
107
|
+
- Ne PAS écrire manuellement \`<HERMES_HOME>/agents/<name>/.hermes/\` — c'est l'ancien
|
|
108
|
+
format polyglot (pré-2.8.30). Le runner crée directement \`agents/<name>/\`.
|
|
109
|
+
- Ne PAS toucher \`config.yaml\` ou \`auth.json\` au root — Hermes upstream les gère.
|
|
110
|
+
- Le token \`$VAR\` est résolu **une seule fois** (pas récursif).
|
|
111
|
+
- Si tu changes l'URL de \`api.minimax.io\` (GLOBAL) → \`api.minimaxi.com\` (CN avec le \`i\`),
|
|
112
|
+
le runner switch automatiquement entre \`MINIMAX_API_KEY\` et \`MINIMAX_CN_API_KEY\`.
|
|
113
|
+
- Les tokens sk-cp sont partagés entre CN et GLOBAL — c'est **l'URL dans settings** qui
|
|
114
|
+
décide quel bucket/provider est utilisé.
|
|
56
115
|
${interpolationNotice}`;
|
|
57
116
|
break;
|
|
58
|
-
case '
|
|
59
|
-
text =
|
|
117
|
+
case 'hermes-minimax-global':
|
|
118
|
+
text = `🌍 **HERMES + MINIMAX GLOBAL** (Overmind 2.8.34+, NousHermesRunner)
|
|
60
119
|
|
|
61
|
-
### 📂 settings_
|
|
120
|
+
### 📂 Workflow/.claude/settings_<agent>.json
|
|
62
121
|
\`\`\`json
|
|
63
122
|
{
|
|
64
123
|
"env": {
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
124
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN_GLOBAL",
|
|
125
|
+
"ANTHROPIC_BASE_URL": "https://api.minimax.io/anthropic",
|
|
126
|
+
"ANTHROPIC_MODEL": "MiniMax-M3",
|
|
127
|
+
"ANTHROPIC_PROVIDER": "minimax"
|
|
69
128
|
},
|
|
70
129
|
"enableAllProjectMcpServers": false,
|
|
71
|
-
"enabledMcpjsonServers": [
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"discord-server"
|
|
75
|
-
],
|
|
76
|
-
"agent": "ilmu_agent",
|
|
77
|
-
"runner": "kilo"
|
|
130
|
+
"enabledMcpjsonServers": ["memory-server"],
|
|
131
|
+
"agent": "nom_agent",
|
|
132
|
+
"runner": "hermes"
|
|
78
133
|
}
|
|
79
134
|
\`\`\`
|
|
135
|
+
|
|
136
|
+
### Différence vs CN
|
|
137
|
+
- **URL :** \`api.minimax.io\` (SANS le \`i\`) — endpoint international
|
|
138
|
+
- **Env var seedé :** \`MINIMAX_API_KEY\` (pas \`MINIMAX_CN_API_KEY\`)
|
|
139
|
+
- **Plugin upstream :** profile \`minimax\` (pas \`minimax-cn\`)
|
|
140
|
+
- Le runner détecte \`api.minimax.io\` dans l'URL et switch auto.
|
|
141
|
+
|
|
142
|
+
Voir \`hermes-minimax-cn\` pour le détail complet du flow + arborescence.
|
|
80
143
|
${interpolationNotice}`;
|
|
81
144
|
break;
|
|
82
|
-
case '
|
|
83
|
-
text =
|
|
145
|
+
case 'hermes-zai':
|
|
146
|
+
text = `🤖 **HERMES + Z.AI / GLM** (Overmind 2.8.34+, NousHermesRunner)
|
|
84
147
|
|
|
85
|
-
### 📂 settings_
|
|
148
|
+
### 📂 Workflow/.claude/settings_<agent>.json
|
|
86
149
|
\`\`\`json
|
|
87
150
|
{
|
|
88
151
|
"env": {
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"ANTHROPIC_MODEL": "The_Chaos_Prophet",
|
|
94
|
-
"ANTHROPIC_SMALL_FAST_MODEL": "MiniMax-M2",
|
|
95
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2",
|
|
96
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2",
|
|
97
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2"
|
|
152
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN_Y",
|
|
153
|
+
"ANTHROPIC_BASE_URL": "https://api.z.ai/api/coding/paas/v4",
|
|
154
|
+
"ANTHROPIC_MODEL": "glm-5.1",
|
|
155
|
+
"ANTHROPIC_PROVIDER": "zai"
|
|
98
156
|
},
|
|
157
|
+
"enableAllProjectMcpServers": false,
|
|
158
|
+
"enabledMcpjsonServers": ["memory-server"],
|
|
99
159
|
"agent": "nom_agent",
|
|
100
|
-
"runner": "
|
|
160
|
+
"runner": "hermes"
|
|
101
161
|
}
|
|
102
162
|
\`\`\`
|
|
103
163
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
164
|
+
### Ce que le runner fait au spawn (auto-détection token)
|
|
165
|
+
- Token Z.AI = 32hex (\`c78a134949fc4c369911c24e9fa4b84c.OZhHX5Obs6qF1ISt\`) ou
|
|
166
|
+
32hex simple (\`5f650035e5a845549e4765184d8179b1\`)
|
|
167
|
+
- Runner seed automatiquement :
|
|
168
|
+
- \`ZAI_ANTHROPIC_FALLBACK_KEY\` (= valeur du token)
|
|
169
|
+
- \`GLM_API_KEY\` (= valeur du token)
|
|
170
|
+
- Plugin upstream \`zai\` lit ces vars.
|
|
171
|
+
|
|
172
|
+
Voir \`hermes-minimax-cn\` pour le détail complet du flow + arborescence.
|
|
110
173
|
${interpolationNotice}`;
|
|
111
174
|
break;
|
|
112
|
-
case '
|
|
113
|
-
text =
|
|
175
|
+
case 'hermes-anthropic':
|
|
176
|
+
text = `🅰️ **HERMES + ANTHROPIC (OFFICIEL)** (Overmind 2.8.34+, NousHermesRunner)
|
|
114
177
|
|
|
115
|
-
### 📂 settings_
|
|
178
|
+
### 📂 Workflow/.claude/settings_<agent>.json
|
|
116
179
|
\`\`\`json
|
|
117
180
|
{
|
|
118
181
|
"env": {
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"ANTHROPIC_MODEL": "anthropic/claude-3-5-sonnet",
|
|
124
|
-
"ANTHROPIC_SMALL_FAST_MODEL": "anthropic/claude-3-haiku",
|
|
125
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL": "anthropic/claude-3-5-sonnet",
|
|
126
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL": "anthropic/claude-3-opus",
|
|
127
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "anthropic/claude-3-haiku"
|
|
182
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN",
|
|
183
|
+
"ANTHROPIC_BASE_URL": "https://api.anthropic.com",
|
|
184
|
+
"ANTHROPIC_MODEL": "claude-sonnet-4-6",
|
|
185
|
+
"ANTHROPIC_PROVIDER": "anthropic"
|
|
128
186
|
},
|
|
187
|
+
"enableAllProjectMcpServers": false,
|
|
188
|
+
"enabledMcpjsonServers": ["memory-server"],
|
|
129
189
|
"agent": "nom_agent",
|
|
130
|
-
"runner": "
|
|
190
|
+
"runner": "hermes"
|
|
131
191
|
}
|
|
132
192
|
\`\`\`
|
|
193
|
+
|
|
194
|
+
### Note
|
|
195
|
+
Pour Anthropic, le runner ne seed PAS de variables provider-specific — il laisse
|
|
196
|
+
\`ANTHROPIC_AUTH_TOKEN\` tel quel. Le plugin upstream \`anthropic\` lit cette var
|
|
197
|
+
directement, donc pas de transformation nécessaire.
|
|
198
|
+
|
|
199
|
+
Voir \`hermes-minimax-cn\` pour le détail complet du flow + arborescence.
|
|
133
200
|
${interpolationNotice}`;
|
|
134
201
|
break;
|
|
135
|
-
|
|
136
|
-
|
|
202
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
203
|
+
// LEGACY: ClaudeRunner / KiloRunner (autres providers)
|
|
204
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
205
|
+
case 'glm':
|
|
206
|
+
text = `🚀 **EXEMPLE DE CONFIGURATION POUR GLM / Z.AI (CLAUDE RUNNER)**
|
|
137
207
|
|
|
138
208
|
### 📂 settings_[nom_agent].json
|
|
139
209
|
\`\`\`json
|
|
140
210
|
{
|
|
141
211
|
"env": {
|
|
142
|
-
"ANTHROPIC_MODEL": "
|
|
143
|
-
"ANTHROPIC_AUTH_TOKEN": "$
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-Text-01",
|
|
147
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-Text-01",
|
|
148
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-Text-01",
|
|
149
|
-
"API_TIMEOUT_MS": "900000",
|
|
150
|
-
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
|
|
151
|
-
"agent": "minimax_agent"
|
|
212
|
+
"ANTHROPIC_MODEL": "$ANTHROPIC_MODEL_Z",
|
|
213
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN_Y",
|
|
214
|
+
"ANTHROPIC_AUTH_TOKEN_FALLBACK": "$ANTHROPIC_AUTH_TOKEN_E",
|
|
215
|
+
"ANTHROPIC_BASE_URL": "$ANTHROPIC_BASE_URL_Z"
|
|
152
216
|
},
|
|
153
|
-
"
|
|
217
|
+
"enableAllProjectMcpServers": false,
|
|
218
|
+
"enabledMcpjsonServers": ["postgresql-server", "memory"],
|
|
219
|
+
"agent": "nom_agent",
|
|
154
220
|
"runner": "claude"
|
|
155
221
|
}
|
|
156
222
|
\`\`\`
|
|
157
|
-
${interpolationNotice}`;
|
|
158
|
-
break;
|
|
159
|
-
// ─── OVERMIND: Guide complet $VAR + FALLBACK TOKENS ───
|
|
160
|
-
case 'overmind':
|
|
161
|
-
text = `🎯 **GUIDE COMPLET : SUBSTITUTION $VAR ET FALLBACK TOKENS**
|
|
162
223
|
|
|
163
|
-
|
|
224
|
+
### 📂 .env correspondant
|
|
225
|
+
\`\`\`
|
|
226
|
+
ANTHROPIC_BASE_URL_Z=https://api.z.ai/api/anthropic
|
|
227
|
+
ANTHROPIC_MODEL_Z=glm-5.1
|
|
228
|
+
ANTHROPIC_AUTH_TOKEN_Y=your_primary_token_here
|
|
229
|
+
ANTHROPIC_AUTH_TOKEN_E=your_fallback_token_here
|
|
230
|
+
\`\`\`
|
|
164
231
|
|
|
165
|
-
|
|
232
|
+
**Modèles GLM disponibles :** \`glm-5.1\` (flagship), \`glm-5\`, \`glm-4.5-air\`.
|
|
166
233
|
|
|
167
|
-
|
|
234
|
+
**Fallback automatique :** \`ANTHROPIC_AUTH_TOKEN_Y\` → \`ANTHROPIC_AUTH_TOKEN_E\` sur 401/429/5xx.
|
|
168
235
|
|
|
169
|
-
|
|
236
|
+
> **Note :** Si tu utilises le **runner Hermes** (préféré pour les agents
|
|
237
|
+
> Discord/CLI), utilise plutôt \`hermes-zai\`. Le ClaudeRunner ci-dessus est
|
|
238
|
+
> pour les agents qui spawnent directement le binaire Claude Code.
|
|
239
|
+
${interpolationNotice}`;
|
|
240
|
+
break;
|
|
241
|
+
case 'ilmu':
|
|
242
|
+
text = `🚀 **EXEMPLE DE CONFIGURATION POUR ILMU AI (KILO RUNNER)**
|
|
170
243
|
|
|
244
|
+
### 📂 settings_[nom_agent].json
|
|
171
245
|
\`\`\`json
|
|
172
246
|
{
|
|
173
247
|
"env": {
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
|
|
248
|
+
"ANTHROPIC_MODEL": "$Z_AI_MODEL",
|
|
249
|
+
"ANTHROPIC_AUTH_TOKEN": "$Z_AI_API_KEY",
|
|
250
|
+
"ANTHROPIC_BASE_URL": "$Z_AI_BASE_URL",
|
|
251
|
+
"API_TIMEOUT_MS": "900000"
|
|
252
|
+
},
|
|
253
|
+
"enableAllProjectMcpServers": false,
|
|
254
|
+
"enabledMcpjsonServers": ["postgresql-server", "memory", "discord-server"],
|
|
255
|
+
"agent": "ilmu_agent",
|
|
256
|
+
"runner": "kilo"
|
|
177
257
|
}
|
|
178
258
|
\`\`\`
|
|
259
|
+
${interpolationNotice}`;
|
|
260
|
+
break;
|
|
261
|
+
case 'openrouter':
|
|
262
|
+
text = `⚠️ **OPENROUTER = EMBEDDINGS UNIQUEMENT** (Overmind convention 2026-06-07)
|
|
179
263
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
### 2️⃣ RETRY AUTOMATIQUE SUR ERREUR (ClaudeRunner + KiloRunner)
|
|
185
|
-
|
|
186
|
-
Quand une erreur se produit, Overmind peut RETENTER automatiquement avec des tokens de secours.
|
|
187
|
-
|
|
188
|
-
**Erreurs retryables :**
|
|
189
|
-
- **401** : Auth failure (token invalide/expiré)
|
|
190
|
-
- **429** : Rate limit / quota exhausted (limite atteinte)
|
|
191
|
-
- **500, 502, 503** : Server error (erreur serveur)
|
|
192
|
-
|
|
193
|
-
**Détection texte stderr :** \`401\`, \`unauthorized\`, \`invalid api key\`, \`authentication failed\`, \`auth error\`, \`429\`, \`rate limit\`, \`quota exhausted\`, \`limit exhausted\`, \`503\`, \`service unavailable\`, \`500\`, \`internal server error\`
|
|
264
|
+
OpenRouter ne doit PAS être utilisé pour l'inférence LLM dans Overmind. Le
|
|
265
|
+
runner Hermes purge activement \`OPENROUTER_API_KEY\` du spawn env, et
|
|
266
|
+
configurer un agent Hermes avec OpenRouter LLM résultera en **HTTP 401
|
|
267
|
+
"Missing Authentication header"** parce que la clé est bloquée.
|
|
194
268
|
|
|
195
|
-
**
|
|
269
|
+
**Pour les embeddings Overmind uniquement :** voir \`OVERMIND_EMBEDDING_KEY\`
|
|
270
|
+
dans \`Workflow/.env\` (consommé par les providers d'embedding Overmind internes).
|
|
196
271
|
|
|
197
|
-
|
|
272
|
+
**Si tu veux router via OpenRouter pour LLM :** utilise le runner
|
|
273
|
+
\`openclaw\` ou \`kilo\` avec un settings qui ne déclenche pas le purge
|
|
274
|
+
Hermes. Mais ce n'est PAS recommandé.
|
|
198
275
|
|
|
199
|
-
|
|
276
|
+
Voir \`hermes-minimax-cn\` ou \`hermes-anthropic\` pour les providers LLM
|
|
277
|
+
supportés par le runner Hermes.
|
|
278
|
+
${interpolationNotice}`;
|
|
279
|
+
break;
|
|
280
|
+
case 'anthropic':
|
|
281
|
+
text = `🅰️ **CLAUDE RUNNER + ANTHROPIC OFFICIEL**
|
|
200
282
|
|
|
283
|
+
### 📂 settings_[nom_agent].json
|
|
201
284
|
\`\`\`json
|
|
202
285
|
{
|
|
203
|
-
"model": "claude-sonnet-4-20250514",
|
|
204
286
|
"env": {
|
|
205
|
-
"
|
|
206
|
-
"
|
|
207
|
-
"
|
|
208
|
-
|
|
209
|
-
|
|
287
|
+
"ANTHROPIC_MODEL": "claude-sonnet-4-6",
|
|
288
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN",
|
|
289
|
+
"API_TIMEOUT_MS": "900000"
|
|
290
|
+
},
|
|
291
|
+
"enableAllProjectMcpServers": false,
|
|
292
|
+
"enabledMcpjsonServers": ["memory-server"],
|
|
293
|
+
"agent": "nom_agent",
|
|
294
|
+
"runner": "claude"
|
|
210
295
|
}
|
|
211
296
|
\`\`\`
|
|
297
|
+
${interpolationNotice}`;
|
|
298
|
+
break;
|
|
299
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
300
|
+
// OVERMIND: guide complet (subtilisation, fallbacks, etc.)
|
|
301
|
+
// ═══════════════════════════════════════════════════════════════════
|
|
302
|
+
case 'overmind':
|
|
303
|
+
text = `🎯 **GUIDE COMPLET : SUBSTITUTION $VAR ET FALLBACK TOKENS**
|
|
212
304
|
|
|
213
|
-
|
|
214
|
-
\`\`\`
|
|
215
|
-
ANTHROPIC_AUTH_TOKEN=sk-cp-primary... # Token principal ( utilisation normale )
|
|
216
|
-
ANTHROPIC_AUTH_TOKEN_2=sk-cp-xxx... # Fallback #1
|
|
217
|
-
ANTHROPIC_AUTH_TOKEN_3=sk-cp-yyy... # Fallback #2
|
|
218
|
-
ANTHROPIC_AUTH_TOKEN_4=sk-cp-zzz... # Fallback #3
|
|
219
|
-
\`\`\`
|
|
220
|
-
|
|
221
|
-
**Comment ça marche :**
|
|
222
|
-
1. L'agent commence avec \`ANTHROPIC_AUTH_TOKEN\` = \`$ANTHROPIC_AUTH_TOKEN\` → résolu → \`sk-cp-primary...\`
|
|
223
|
-
2. Si erreur 401/429/5xx → retry avec \`AUTH_FALLBACK_1\` → \`sk-cp-xxx...\`
|
|
224
|
-
3. Si encore échec → retry avec \`AUTH_FALLBACK_2\` → \`sk-cp-yyy...\`
|
|
225
|
-
4. Si encore échec → retry avec \`AUTH_FALLBACK_3\` → \`sk-cp-zzz...\`
|
|
226
|
-
5. Si encore échec → \`RETRYABLE_ERROR_ALL_FALLBACKS_EXHAUSTED\`
|
|
305
|
+
Overmind supporte deux mécanismes puissants pour vos agents.
|
|
227
306
|
|
|
228
307
|
---
|
|
229
308
|
|
|
230
|
-
###
|
|
309
|
+
### 1️⃣ SUBSTITUTION $VAR (tous les runners)
|
|
310
|
+
|
|
311
|
+
Les settings de vos agents peuvent référencer des variables d'environnement
|
|
312
|
+
du \`.env\` avec la syntaxe \`$NOM_VARIABLE\`.
|
|
231
313
|
|
|
232
314
|
\`\`\`json
|
|
233
315
|
{
|
|
234
|
-
"model": "claude-sonnet-4-20250514",
|
|
235
316
|
"env": {
|
|
236
|
-
"
|
|
237
|
-
"
|
|
238
|
-
"AUTH_FALLBACK_2": "$ANTHROPIC_AUTH_TOKEN_3", // Fallback #2
|
|
239
|
-
"AUTH_FALLBACK_3": "$ANTHROPIC_AUTH_TOKEN_4" // Fallback #3
|
|
317
|
+
"ANTHROPIC_AUTH_TOKEN": "$ANTHROPIC_AUTH_TOKEN_1",
|
|
318
|
+
"ANTHROPIC_BASE_URL": "$Z_AI_BASE_URL"
|
|
240
319
|
}
|
|
241
320
|
}
|
|
242
321
|
\`\`\`
|
|
243
322
|
|
|
244
|
-
|
|
323
|
+
Au runtime, Overmind remplace automatiquement \`$ANTHROPIC_AUTH_TOKEN_1\` par
|
|
324
|
+
sa valeur réelle depuis le \`.env\`.
|
|
245
325
|
|
|
246
326
|
---
|
|
247
327
|
|
|
248
|
-
###
|
|
328
|
+
### 2️⃣ SUBTILISATION AUTO (Hermes runner, 2.8.34+)
|
|
249
329
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
330
|
+
Pour le **runner Hermes**, le runner détecte le token prefix et seed
|
|
331
|
+
automatiquement les env vars provider-specific dans le settings.json
|
|
332
|
+
canonique :
|
|
333
|
+
|
|
334
|
+
| Token prefix | URL contient \`minimaxi\` | URL contient \`minimax.io\` | 32hex | seed |
|
|
335
|
+
|---|---|---|---|---|
|
|
336
|
+
| \`sk-cp-*\` | ✅ CN | — | — | \`MINIMAX_CN_API_KEY\` + \`MINIMAX_CN_BASE_URL\` |
|
|
337
|
+
| \`sk-cp-*\` | — | ✅ GLOBAL | — | \`MINIMAX_API_KEY\` + \`MINIMAX_BASE_URL\` |
|
|
338
|
+
| 32hex / 32hex.32hex | — | — | ✅ | \`ZAI_ANTHROPIC_FALLBACK_KEY\` + \`GLM_API_KEY\` |
|
|
339
|
+
| autre \`sk-*\` | n/a | n/a | n/a | rien (laisser \`ANTHROPIC_AUTH_TOKEN\` comme fallback) |
|
|
260
340
|
|
|
261
|
-
|
|
341
|
+
L'utilisateur n'a qu'à mettre \`ANTHROPIC_AUTH_TOKEN\` + \`ANTHROPIC_BASE_URL\`
|
|
342
|
+
dans son settings.json — le runner fait le reste.
|
|
262
343
|
|
|
263
344
|
---
|
|
264
345
|
|
|
265
|
-
###
|
|
346
|
+
### 3️⃣ RETRY AUTOMATIQUE SUR ERREUR (ClaudeRunner + KiloRunner)
|
|
266
347
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
- Les tokens sont résolus **avant** le spawn de l'agent.
|
|
270
|
-
- Le retry fonctionne sur erreur **401 (auth), 429 (rate limit), 500/502/503 (server error)** — pas sur les erreurs de réseau simples (timeout, DNS...).
|
|
271
|
-
- Chaque token fallback ne sera testé qu'une seule fois par session d'agent.
|
|
272
|
-
- Si tous les fallbacks sont épuisés, l'erreur finale est \`RETRYABLE_ERROR_ALL_FALLBACKS_EXHAUSTED\`.`;
|
|
273
|
-
break;
|
|
274
|
-
case 'hermes':
|
|
275
|
-
text = `🤖 **EXEMPLE DE CONFIGURATION POUR HERMES (NOUS AGENT)**
|
|
348
|
+
Quand une erreur se produit, Overmind peut RETENTER automatiquement avec
|
|
349
|
+
des tokens de secours.
|
|
276
350
|
|
|
277
|
-
|
|
278
|
-
\`\`\`json
|
|
279
|
-
{
|
|
280
|
-
"model": "MiniMax-M2.7",
|
|
281
|
-
"env": {
|
|
282
|
-
"HERMES_AUTH_TOKEN": "$HERMES_AUTH_TOKEN",
|
|
283
|
-
"HERMES_BASE_URL": "$HERMES_BASE_URL",
|
|
284
|
-
"HERMES_MODEL": "MiniMax-M2.7",
|
|
285
|
-
"MAX_TOKENS": "16000"
|
|
286
|
-
},
|
|
287
|
-
"enableAllProjectMcpServers": false,
|
|
288
|
-
"enabledMcpjsonServers": [
|
|
289
|
-
"postgresql-server",
|
|
290
|
-
"memory"
|
|
291
|
-
],
|
|
292
|
-
"agent": "nom_agent",
|
|
293
|
-
"runner": "hermes"
|
|
294
|
-
}
|
|
295
|
-
\`\`\`
|
|
351
|
+
**Erreurs retryables :** 401, 429, 500, 502, 503.
|
|
296
352
|
|
|
297
|
-
|
|
298
|
-
\`\`\`
|
|
299
|
-
# Hermes / Nous Agent Configuration
|
|
300
|
-
HERMES_AUTH_TOKEN=your_hermes_token_here
|
|
301
|
-
HERMES_BASE_URL=https://api.minimax.io
|
|
302
|
-
MAX_TOKENS=16000
|
|
303
|
-
\`\`\`
|
|
353
|
+
**Flow :** Token primaire → \`AUTH_FALLBACK_1\` → \`AUTH_FALLBACK_2\` → \`AUTH_FALLBACK_3\` → ÉCHEC
|
|
304
354
|
|
|
305
|
-
|
|
306
|
-
- Hermes utilise les **3 fichiers standard** comme les autres runners : \`.claude/settings_[agent].json\`, \`.claude/agents/[agent].md\`, \`.claude/.mcp.[agent].json\`
|
|
307
|
-
- Le modèle par défaut est \`MiniMax-M2.7\` (défini dans \`CONFIG.HERMES.DEFAULT_MODEL\`)
|
|
308
|
-
- Les agents sont définis via \`PromptManager\` (\`.claude/agents/[nom].md\`)
|
|
309
|
-
- Les MCP servers sont configurés via \`.claude/.mcp.[agent].json\` (même format que Claude/Kilo)
|
|
310
|
-
- HERMES_DIR est automatiquement injecté au spawn pour l'isolation
|
|
311
|
-
- Pas de fallback token intégré (contrairement à Claude/Kilo) — à implémenter via le réseau de tokens Overmind si besoin
|
|
355
|
+
---
|
|
312
356
|
|
|
313
|
-
|
|
357
|
+
### ⚠️ RÈGLES IMPORTANTES
|
|
314
358
|
|
|
315
|
-
|
|
359
|
+
- Les clés \`AUTH_FALLBACK_1\`, \`AUTH_FALLBACK_2\`, \`AUTH_FALLBACK_3\` sont réservées
|
|
360
|
+
par Overmind pour le retry automatique.
|
|
361
|
+
- La substitution est à **un seul niveau** : \`$MINIMAXI_API_KEY\` est remplacé,
|
|
362
|
+
mais pas récursivement.
|
|
363
|
+
- Les tokens sont résolus **avant** le spawn de l'agent.
|
|
364
|
+
- Pour Hermes, le token \`ANTHROPIC_AUTH_TOKEN_5\` (sk-cp-*) a été testé OK sur
|
|
365
|
+
\`api.minimaxi.com\` mais le compte a un **HTTP 402 "insufficient balance"**
|
|
366
|
+
au moment de ce guide — utiliser plutôt \`_1\`, \`_2\`, ou \`_7\`.
|
|
367
|
+
- \`_3\` et \`_6\` sont morts (HTTP 401). \`_4\` est rate-limited. \`_E\`, \`_F\`,
|
|
368
|
+
\`_Y\` sont au format Z.AI (32hex).`;
|
|
316
369
|
break;
|
|
317
370
|
}
|
|
318
371
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config_example.js","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"config_example.js","sourceRoot":"","sources":["../../src/tools/config_example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC;QACJ,sDAAsD;QACtD,KAAK;QACL,YAAY;QACZ,MAAM;QACN,WAAW;QACX,UAAU;QACV,gDAAgD;QAChD,mBAAmB;QACnB,uBAAuB;QACvB,YAAY;QACZ,kBAAkB;KACnB,CAAC;SACD,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAyC;IAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,MAAM,mBAAmB,GAAG;;;;;CAK7B,CAAC;IAEA,QAAQ,QAAQ,EAAE,CAAC;QACjB,sEAAsE;QACtE,8CAA8C;QAC9C,sEAAsE;QACtE,KAAK,mBAAmB;YACtB,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,uBAAuB;YAC1B,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;EAyBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,YAAY;YACf,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,kBAAkB;YACrB,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,sEAAsE;QACtE,uDAAuD;QACvD,sEAAsE;QACtE,KAAK,KAAK;YACR,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,MAAM;YACT,IAAI,GAAG;;;;;;;;;;;;;;;;;EAiBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,YAAY;YACf,IAAI,GAAG;;;;;;;;;;;;;;;;EAgBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,KAAK,WAAW;YACd,IAAI,GAAG;;;;;;;;;;;;;;;;EAgBX,mBAAmB,EAAE,CAAC;YAClB,MAAM;QAER,sEAAsE;QACtE,2DAA2D;QAC3D,sEAAsE;QACtE,KAAK,UAAU;YACb,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAiEyB,CAAC;YACjC,MAAM;IACV,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "overmind-mcp",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.35",
|
|
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",
|