overmind-mcp 2.8.6 → 2.8.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/bin/launch.bat +40 -0
  2. package/bin/launch.js +78 -0
  3. package/bin/launch.sh +46 -0
  4. package/bin/restart_mcp.bat +3 -0
  5. package/bin/start_server.bat +3 -0
  6. package/bin/test_mcp.bat +4 -0
  7. package/dist/bin/cli.js +13 -0
  8. package/dist/bin/cli.js.map +1 -1
  9. package/dist/bin/launch.js +78 -0
  10. package/dist/bridge/BridgeProxy.d.ts +52 -0
  11. package/dist/bridge/BridgeProxy.d.ts.map +1 -0
  12. package/dist/bridge/BridgeProxy.js +265 -0
  13. package/dist/bridge/BridgeProxy.js.map +1 -0
  14. package/dist/bridge/OverBridgeService.d.ts +96 -0
  15. package/dist/bridge/OverBridgeService.d.ts.map +1 -0
  16. package/dist/bridge/OverBridgeService.js +334 -0
  17. package/dist/bridge/OverBridgeService.js.map +1 -0
  18. package/dist/bridge/index.d.ts +11 -0
  19. package/dist/bridge/index.d.ts.map +1 -0
  20. package/dist/bridge/index.js +11 -0
  21. package/dist/bridge/index.js.map +1 -0
  22. package/dist/bridge/types.d.ts +132 -0
  23. package/dist/bridge/types.d.ts.map +1 -0
  24. package/dist/bridge/types.js +19 -0
  25. package/dist/bridge/types.js.map +1 -0
  26. package/dist/bridge/utils.d.ts +48 -0
  27. package/dist/bridge/utils.d.ts.map +1 -0
  28. package/dist/bridge/utils.js +128 -0
  29. package/dist/bridge/utils.js.map +1 -0
  30. package/dist/lib/config.d.ts.map +1 -1
  31. package/dist/lib/config.js +11 -4
  32. package/dist/lib/config.js.map +1 -1
  33. package/dist/lib/envUtils.d.ts +2 -0
  34. package/dist/lib/envUtils.d.ts.map +1 -1
  35. package/dist/lib/envUtils.js +13 -2
  36. package/dist/lib/envUtils.js.map +1 -1
  37. package/dist/lib/logger.js +1 -1
  38. package/dist/lib/processRegistry.d.ts.map +1 -1
  39. package/dist/lib/processRegistry.js +34 -21
  40. package/dist/lib/processRegistry.js.map +1 -1
  41. package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
  42. package/dist/memory/PostgresMemoryProvider.js +14 -3
  43. package/dist/memory/PostgresMemoryProvider.js.map +1 -1
  44. package/dist/server.d.ts.map +1 -1
  45. package/dist/server.js +2 -1
  46. package/dist/server.js.map +1 -1
  47. package/dist/services/AgentManager.d.ts.map +1 -1
  48. package/dist/services/AgentManager.js +473 -97
  49. package/dist/services/AgentManager.js.map +1 -1
  50. package/dist/services/GeminiRunner.d.ts +18 -16
  51. package/dist/services/GeminiRunner.d.ts.map +1 -1
  52. package/dist/services/GeminiRunner.js +112 -126
  53. package/dist/services/GeminiRunner.js.map +1 -1
  54. package/dist/services/NousHermesRunner.d.ts.map +1 -1
  55. package/dist/services/NousHermesRunner.js +172 -56
  56. package/dist/services/NousHermesRunner.js.map +1 -1
  57. package/dist/tools/agent_control.d.ts +1 -1
  58. package/dist/tools/agent_control.d.ts.map +1 -1
  59. package/dist/tools/agent_control.js +4 -3
  60. package/dist/tools/agent_control.js.map +1 -1
  61. package/dist/tools/config_example.d.ts +1 -1
  62. package/dist/tools/create_agent.d.ts +1 -1
  63. package/dist/tools/manage_agents.d.ts +1 -1
  64. package/dist/tools/run_agent.d.ts +1 -1
  65. package/dist/tools/run_agent.d.ts.map +1 -1
  66. package/dist/tools/run_agent.js +3 -0
  67. package/dist/tools/run_agent.js.map +1 -1
  68. package/dist/tools/run_agents_parallel.d.ts +1 -1
  69. package/dist/tools/run_hermes.d.ts +1 -0
  70. package/dist/tools/run_hermes.d.ts.map +1 -1
  71. package/dist/tools/run_hermes.js +22 -15
  72. package/dist/tools/run_hermes.js.map +1 -1
  73. package/docs/provider-config-map.md +170 -105
  74. package/package.json +8 -10
  75. package/scripts/_db_check.py +10 -0
  76. package/scripts/postgres-manager.mjs +1 -1
  77. package/scripts/postinstall.mjs +10 -20
  78. package/scripts/setup.mjs +14 -16
  79. package/scripts/status_check.py +20 -0
  80. package/dist/services/AntigravityRunner.d.ts +0 -42
  81. package/dist/services/AntigravityRunner.d.ts.map +0 -1
  82. package/dist/services/AntigravityRunner.js +0 -404
  83. package/dist/services/AntigravityRunner.js.map +0 -1
@@ -3,9 +3,9 @@ export declare const runAgentSchema: z.ZodObject<{
3
3
  runner: z.ZodEnum<{
4
4
  claude: "claude";
5
5
  gemini: "gemini";
6
+ hermes: "hermes";
6
7
  kilo: "kilo";
7
8
  qwencli: "qwencli";
8
- hermes: "hermes";
9
9
  openclaw: "openclaw";
10
10
  cline: "cline";
11
11
  opencode: "opencode";
@@ -1 +1 @@
1
- {"version":3,"file":"run_agent.d.ts","sourceRoot":"","sources":["../../src/tools/run_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBA0BvB,CAAC;AAIL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAyG7F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,oBAAoB;;;;;;GA4CxD"}
1
+ {"version":3,"file":"run_agent.d.ts","sourceRoot":"","sources":["../../src/tools/run_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBA0BvB,CAAC;AAIL,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AA2G7F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,oBAAoB;;;;;;GA6CxD"}
@@ -106,9 +106,11 @@ const hermesParamsSchema = z.object({
106
106
  config: z.string().optional(),
107
107
  silent: z.boolean().default(false),
108
108
  signal: z.custom().optional(),
109
+ overmindMode: z.boolean().optional().default(true), // Overmind calls hermes via MCP — skip storeRun
109
110
  });
110
111
  // Validation manuelle des modes (déplacée ici pour compatibilité FastMCP)
111
112
  const RUNNER_MODES = {
113
+ gemini: ['GENERAL', 'CONTEXT_CHECK', 'PLAN', 'COMMAND', 'CASCADE', 'EVAL', 'ANTIGRAVITY_REVIEW', 'MQUERY', 'COMMIT_MESSAGE', 'CHECKPOINT', 'FAST_APPLY'],
112
114
  kilo: ['code', 'architect', 'ask', 'debug', 'orchestrator'],
113
115
  cline: ['plan', 'act'],
114
116
  };
@@ -141,6 +143,7 @@ export async function runAgent(args) {
141
143
  case 'claude':
142
144
  return runClaudeAgent(validateAndExtractParams(params, claudeParamsSchema));
143
145
  case 'gemini':
146
+ case 'antigravity':
144
147
  return runGeminiAgent(validateAndExtractParams(params, antigravityParamsSchema));
145
148
  case 'kilo':
146
149
  return runKiloAgent(validateAndExtractParams(params, kiloParamsSchema));
@@ -1 +1 @@
1
- {"version":3,"file":"run_agent.js","sourceRoot":"","sources":["../../src/tools/run_agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run_agent.js","sourceRoot":"","sources":["../../src/tools/run_agent.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ export declare const runAgentsParallelSchema: z.ZodObject<{
4
4
  runner: z.ZodEnum<{
5
5
  claude: "claude";
6
6
  gemini: "gemini";
7
+ hermes: "hermes";
7
8
  kilo: "kilo";
8
9
  qwencli: "qwencli";
9
- hermes: "hermes";
10
10
  openclaw: "openclaw";
11
11
  cline: "cline";
12
12
  opencode: "opencode";
@@ -9,6 +9,7 @@ export declare const runHermesSchema: z.ZodObject<{
9
9
  silent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
10
10
  model: z.ZodOptional<z.ZodString>;
11
11
  signal: z.ZodOptional<z.ZodCustom<AbortSignal, AbortSignal>>;
12
+ overmindMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
13
  }, z.core.$loose>;
13
14
  export declare function runHermesAgent(args: z.infer<typeof runHermesSchema>): Promise<{
14
15
  content: {
@@ -1 +1 @@
1
- {"version":3,"file":"run_hermes.d.ts","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;;;;;;;;iBAiBZ,CAAC;AAIjB,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;GAmFzE"}
1
+ {"version":3,"file":"run_hermes.d.ts","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;;;;;;;;;iBAmBZ,CAAC;AAIjB,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;GAyFzE"}
@@ -17,6 +17,8 @@ export const runHermesSchema = z
17
17
  .optional()
18
18
  .describe('Le modèle à utiliser. Priorité OpenAI (ex: gpt-4o), NVIDIA NIM (ex: deepseek-ai/deepseek-v4-pro) ou OpenRouter (ex: tencent/hy3-preview)'),
19
19
  signal: z.custom().optional().describe("AbortSignal pour annuler l'agent"),
20
+ /** Quand true, skip storeRun() — utilisé par Overmind MCP (le stockage est fait cote MCP Server) */
21
+ overmindMode: z.boolean().optional().default(false),
20
22
  })
21
23
  .passthrough();
22
24
  import { verifyInstallation } from '../lib/InstallHelper.js';
@@ -30,7 +32,7 @@ export async function runHermesAgent(args) {
30
32
  };
31
33
  }
32
34
  const runner = new NousHermesRunner();
33
- const { prompt, agentName, autoResume, sessionId, path: argPath, config: argConfig, silent, model, signal, } = args;
35
+ const { prompt, agentName, autoResume, sessionId, path: argPath, config: argConfig, silent, model, signal, overmindMode, } = args;
34
36
  const finalPath = argPath || getWorkspaceDir();
35
37
  const finalConfig = argConfig || getWorkspaceDir();
36
38
  const start = Date.now();
@@ -62,20 +64,25 @@ export async function runHermesAgent(args) {
62
64
  });
63
65
  }
64
66
  const durationMs = Date.now() - start;
65
- try {
66
- await storeRun({
67
- runner: 'hermes',
68
- agentName,
69
- prompt,
70
- result: result.result,
71
- error: result.error,
72
- durationMs,
73
- success: !result.error,
74
- sessionId: result.sessionId,
75
- });
76
- }
77
- catch (e) {
78
- console.error(`[run_hermes] ⚠️ Memory store failed: ${e instanceof Error ? e.message : String(e)}`);
67
+ // En mode Overmind (appel MCP), le run est déjà stocké par le MCP Server via memory_runs
68
+ // Skip storeRun pour éviter le double-stockage ET les erreurs de connexion postgres
69
+ if (!overmindMode) {
70
+ try {
71
+ await storeRun({
72
+ runner: 'hermes',
73
+ agentName,
74
+ prompt,
75
+ result: result.result,
76
+ error: result.error,
77
+ durationMs,
78
+ success: !result.error,
79
+ sessionId: result.sessionId,
80
+ });
81
+ }
82
+ catch (e) {
83
+ // En mode Overmind on skip, mais en mode normal on log seulement (ne fail pas l'agent)
84
+ console.error(`[run_hermes] ⚠️ Memory store failed: ${e instanceof Error ? e.message : String(e)}`);
85
+ }
79
86
  }
80
87
  if (result.error)
81
88
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"run_hermes.js","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run_hermes.js","sourceRoot":"","sources":["../../src/tools/run_hermes.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ settings_[agent].json → env (apres interpolation $VAR par process.env)
11
11
 
12
12
  Workflow/.env (C:\Users\Deamon\Desktop\Backup\Serveur MCP\Workflow\.env)
13
13
 
14
- process.env (env du parent, heredite par le spawn)
14
+ process.env (env du parent, herite par le spawn)
15
15
  ```
16
16
 
17
17
  **MAIS** pour `OPENROUTER_API_KEY` uniquement:
@@ -25,15 +25,35 @@ process.env (env du parent, heredite par le spawn)
25
25
 
26
26
  ---
27
27
 
28
- ## Les 4 fichiers cles
28
+ ## Les 5 fichiers cles
29
29
 
30
30
  | Fichier | Role |
31
31
  |---|---|
32
- | `HERMES_HOME/.env` | API keys globales Hermes |
32
+ | `HERMES_HOME/.env` | API keys globales Hermes (fallback) |
33
33
  | `Workflow/.env` | Variables du workflow (DB, tokens, etc.) |
34
34
  | `settings_[agent].json` | Config par agent (model, provider, tokens, MCP) |
35
35
  | `HERMES_HOME/.hermes/config.yaml` | Config systeme Hermes (model.default, provider, etc.) |
36
- | `HERMES_HOME/auth.json` | Credential pool — status des tokens (ok/exhausted) |
36
+ | `HERMES_HOME/auth.json` | Credential pool — status des tokens (ok/exhausted), URLs par provider |
37
+
38
+ ---
39
+
40
+ ## Les 2 endpoints Z.AI (DECOUVERTE CRITIQUE)
41
+
42
+ Z.AI a **deux endpoints distincts** — confusion entre les deux causait des erreurs 402:
43
+
44
+ | Endpoint | URL | Usage |
45
+ |---|---|---|
46
+ | **Coding** (celui qu'il faut) | `https://api.z.ai/api/coding/paas/v4` | Inference LLM (Hermes, Overmind) |
47
+ | **Non-coding** (ancien, different billing) | `https://api.z.ai/api/paas/v4` | Autre chose (pas le meme systeme de facturation) |
48
+
49
+ **Comment le credential pool est seed:**
50
+
51
+ | Source dans .env | Cle dans auth.json | base_url assignee |
52
+ |---|---|---|
53
+ | `ZAI_ANTHROPIC_FALLBACK_KEY` | `zai[0].access_token` | `https://api.z.ai/api/coding/paas/v4` ✅ |
54
+ | `Z_AI_API_KEY` | `zai[1].access_token` | `https://api.z.ai/api/paas/v4` ❌ (ancien) |
55
+
56
+ Le premier entry (priority 0) est utilise en premier. C'est celui qui est seed par `writeAuthJson()` dans `NousHermesRunner.ts` → `ZAI_ANTHROPIC_FALLBACK_KEY`.
37
57
 
38
58
  ---
39
59
 
@@ -44,16 +64,16 @@ process.env (env du parent, heredite par le spawn)
44
64
  | Param | Valeur attendue | Source dans Hermes |
45
65
  |---|---|---|
46
66
  | Provider ID | `zai` | config.yaml ou settings |
47
- | API Key | Une de: `GLM_API_KEY`, `ZAI_API_KEY`, `Z_AI_API_KEY` | `HERMES_HOME/.env` → `os.environ` |
48
- | Base URL | `https://api.z.ai/api/paas/v4` | hardcoded dans ProviderConfig |
67
+ | API Key | `ZAI_ANTHROPIC_FALLBACK_KEY` (cle primaire) ou `Z_AI_API_KEY` (fallback ancien) | `HERMES_HOME/.env` → `os.environ` |
68
+ | Base URL | `https://api.z.ai/api/coding/paas/v4` | credential pool (seed par writeAuthJson) |
49
69
  | Model | `glm-5.1` | settings `env.ANTHROPIC_MODEL` |
50
70
 
51
71
  ```json
52
72
  // settings_[agent].json — Z.AI correct
53
73
  {
54
74
  "env": {
55
- "ANTHROPIC_AUTH_TOKEN": "$GLM_API_KEY",
56
- "ANTHROPIC_BASE_URL": "https://api.z.ai/api/paas/v4",
75
+ "ANTHROPIC_AUTH_TOKEN": "$ZAI_ANTHROPIC_FALLBACK_KEY",
76
+ "ANTHROPIC_BASE_URL": "https://api.z.ai/api/coding/paas/v4",
57
77
  "ANTHROPIC_MODEL": "glm-5.1"
58
78
  }
59
79
  }
@@ -61,10 +81,23 @@ process.env (env du parent, heredite par le spawn)
61
81
 
62
82
  ```bash
63
83
  # .env minimal pour Z.AI
64
- GLM_API_KEY=ton_token_zai_ici
84
+ ZAI_ANTHROPIC_FALLBACK_KEY=5f650035e5a845549e4765184d8179b1.GdehlMpHT0dKq3m3
65
85
  ```
66
86
 
67
- **auth.json** stocke aussi la cle sous `Z_AI_API_KEY` (label: `GLM_API_KEY`, status: `ok`).
87
+ Le credential pool `auth.json` est ecrit par `writeAuthJson()` dans `NousHermesRunner.ts`. La cle `ZAI_ANTHROPIC_FALLBACK_KEY` est envoyee par `agentCustomEnv` → Hermes seed le credential pool avec le bon endpoint.
88
+
89
+ ---
90
+
91
+ ### Z.AI Multi-Token (E/Y)
92
+
93
+ Deamon a 2 tokens Z.AI (E=primary, Y=secondary). Le credential pool peut contenir les deux:
94
+
95
+ | Token | Label dans auth.json | Cle dans .env |
96
+ |---|---|---|
97
+ | Primary | `ANTHROPIC_AUTH_TOKEN_E` | `ANTHROPIC_AUTH_TOKEN_E` = `5f65...q3m3` |
98
+ | Secondary | `ANTHROPIC_AUTH_TOKEN_Y` | `ANTHROPIC_AUTH_TOKEN_Y` = `c78a...1ISt` |
99
+
100
+ Pour qu'un agent utilise le token Y (secondary) au lieu de E (primary), le settings doit utiliser `$ANTHROPIC_AUTH_TOKEN_Y` au lieu de `$ANTHROPIC_AUTH_TOKEN_E`.
68
101
 
69
102
  ---
70
103
 
@@ -101,26 +134,26 @@ MINIMAX_CN_API_KEY=ton_token_minimax_ici
101
134
 
102
135
  | Param | Valeur attendue | Source |
103
136
  |---|---|---|
104
- | Provider ID | — | Ne PAS utiliser |
137
+ | Provider ID | — | **Ne PAS utiliser** |
105
138
  | API Key | `OPENROUTER_API_KEY` | `HERMES_HOME/.env` → `os.environ` |
106
139
  | Base URL | `https://openrouter.ai/api/v1` | hardcoded |
107
140
  | Guardrail | — | Force 404 si active |
108
141
 
109
142
  **PROBLEME:** Si `OPENROUTER_API_KEY` est present (meme dans `OVERMIND_EMBEDDING_KEY` route via NousHermesRunner), Hermes le detecte et tente OpenRouter pour l'inference.
110
143
 
111
- **auth.json** a une entree OpenRouter — si le status est `exhausted`, Hermes ne retries plus mais peut quand meme picker le provider "openrouter" dans le credential pool.
144
+ **auth.json** a une entree OpenRouter — si le status est `exhausted`, Hermes ne retry plus mais peut quand meme picker le provider "openrouter" dans le credential pool.
112
145
 
113
146
  ---
114
147
 
115
148
  ## Comment Hermes decide quel provider utiliser
116
149
 
117
150
  ```
118
- 1. Si `provider` explicite dans settings.json → utilise ce provider
151
+ 1. Si `provider` explicite dans config.yaml → utilise ce provider
119
152
  2. Sinon si `ANTHROPIC_BASE_URL` contient openrouter → "openrouter"
120
153
  3. Sinon lit model name → compare avec model_defaults par provider
121
154
  - "glm-*" → "zai"
122
155
  - "MiniMax-*" → "minimax-cn"
123
- 4. Sinon fallback: "minimax-cn" (model.default dans config.yaml)
156
+ 4. Sinon fallback: model.default dans config.yaml
124
157
  ```
125
158
 
126
159
  Le model resolve le provider. Donc `ANTHROPIC_MODEL=glm-5.1` sans provider explicite → `zai`. `ANTHROPIC_MODEL=MiniMax-M2.7` → `minimax-cn`.
@@ -132,15 +165,15 @@ Le model resolve le provider. Donc `ANTHROPIC_MODEL=glm-5.1` sans provider expli
132
165
  Le runner lit `settings_[agent].json` → applique `interpolateEnvVars()` qui remplace `$VAR` par `process.env[VAR]` → envoie le tout dans `agentCustomEnv` au processus Hermes.
133
166
 
134
167
  ```typescript
135
- // Ce que NousHermesRunner.ts passe a Hermes (ligne 261-269)
168
+ // Ce que NousHermesRunner.ts passe a Hermes (agentCustomEnv)
136
169
  const agentCustomEnv = {
137
170
  ...process.env, // HERMES_HOME/.env + Workflow/.env fusionnes
138
- PYTHONIOENCODING: 'utf-8', // ...
139
- OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY || '', // VIDE maintenant (fixe)
171
+ PYTHONIOENCODING: 'utf-8',
172
+ OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY || '', // VIDE (fixe)
140
173
  NVIDIA_API_KEY: process.env.NVIDIA_API_KEY || process.env.NVAPI_KEY,
141
- ANTHROPIC_AUTH_TOKEN: s.env.ANTHROPIC_AUTH_TOKEN, // deja interpolate
142
- ANTHROPIC_BASE_URL: s.env.ANTHROPIC_BASE_URL, // deja interpolate
143
- ANTHROPIC_MODEL: s.env.ANTHROPIC_MODEL, // deja interpolate
174
+ ANTHROPIC_AUTH_TOKEN: s.env.ANTHROPIC_AUTH_TOKEN, // interpolate
175
+ ANTHROPIC_BASE_URL: s.env.ANTHROPIC_BASE_URL, // interpolate
176
+ ANTHROPIC_MODEL: s.env.ANTHROPIC_MODEL, // interpolate
144
177
  };
145
178
  ```
146
179
 
@@ -154,7 +187,7 @@ Puis lance Hermes avec `--env-file` pour discord_llm + Workflow `.env` (via star
154
187
  ```typescript
155
188
  OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY || process.env.OVERMIND_EMBEDDING_KEY,
156
189
  ```
157
- → Si `OPENROUTER_API_KEY` vide mais `OVERMIND_EMBEDDING_KEY` present → passe quand meme une cle OpenRouter a Hermes → Hermes detecte `OPENROUTER_API_KEY` dans credential pool → tente OpenRouter → 404 guardrail.
190
+ → Si `OPENROUTER_API_KEY` vide mais `OVERMIND_EMBEDDING_KEY` present → passe quand meme une cle OpenRouter a Hermes → Hermes detecte `OPENROUTER_API_KEY` → tente OpenRouter → 404 guardrail.
158
191
 
159
192
  **APRES le fix:**
160
193
  ```typescript
@@ -171,56 +204,52 @@ Le `ANTHROPIC_AUTH_TOKEN` dans `settings.json` **ne passe pas directement** dans
171
204
  ```
172
205
  settings_[agent].json
173
206
  "env": {
174
- "ANTHROPIC_AUTH_TOKEN": "$GLM_API_KEY", ← Runner remplace $GLM_API_KEY → "token_reel"
175
- "ANTHROPIC_BASE_URL": "https://api.z.ai/api/paas/v4",
207
+ "ANTHROPIC_AUTH_TOKEN": "$ZAI_ANTHROPIC_FALLBACK_KEY", ← Runner remplace $VAR → "token_reel"
208
+ "ANTHROPIC_BASE_URL": "https://api.z.ai/api/coding/paas/v4",
176
209
  "ANTHROPIC_MODEL": "glm-5.1"
177
210
  }
178
211
  ↓ (interpolateEnvVars par NousHermesRunner)
179
212
  agentCustomEnv envoye a Hermes:
180
213
  ANTHROPIC_AUTH_TOKEN=token_reel
181
- ANTHROPIC_BASE_URL=https://api.z.ai/api/paas/v4
214
+ ANTHROPIC_BASE_URL=https://api.z.ai/api/coding/paas/v4
182
215
  ANTHROPIC_MODEL=glm-5.1
183
216
 
184
217
  MAIS Hermes ne lit PAS ANTHROPIC_AUTH_TOKEN directement.
185
218
  Hermes lit le CREDENTIAL POOL (auth.json) + les .env vars listees dans api_key_env_vars.
186
219
 
187
220
  Credential pool est seed par:
188
- GLM_API_KEY, ZAI_API_KEY, Z_AI_API_KEY → "zai"
189
- MINIMAX_CN_API_KEY → "minimax-cn"
190
-
191
- Le ANTHROPIC_AUTH_TOKEN dans settings.json sert a RIEN pour le credential pool.
192
- Il est juste envoye dans agentCustomEnv mais Hermes l'ignore.
221
+ ZAI_ANTHROPIC_FALLBACK_KEY → "zai" avec base_url coding ✅
222
+ Z_AI_API_KEY → "zai" avec base_url non-coding (ancien)
223
+ MINIMAX_CN_API_KEY → "minimax-cn"
193
224
  ```
194
225
 
195
- Le `$GLM_API_KEY` dans `ANTHROPIC_AUTH_TOKEN` est juste une convenience pour que le token traverse le runner et arrive dans `process.env` du subprocess Hermes. C'est `process.env.GLM_API_KEY` qui seed le credential pool.
226
+ Le `$VAR` dans `ANTHROPIC_AUTH_TOKEN` est juste une convenience pour que le token traverse le runner et arrive dans `process.env` du subprocess Hermes. C'est `process.env.ZAI_ANTHROPIC_FALLBACK_KEY` qui seed le credential pool.
196
227
 
197
228
  ---
198
229
 
199
230
  ## Le flow complet (Z.AI par exemple)
200
231
 
201
- 1. `Workflow/.env` contient `GLM_API_KEY=<VOTRE_TOKEN_ZAI>`
202
- 2. `startpipeline.js` charge `.env` → `process.env.GLM_API_KEY`
232
+ 1. `Workflow/.env` contient `ZAI_ANTHROPIC_FALLBACK_KEY=<TOKEN>`
233
+ 2. `startpipeline.js` charge `.env` → `process.env.ZAI_ANTHROPIC_FALLBACK_KEY`
203
234
  3. ` NousHermesRunner` lit `settings_zai.json` → `interpolateEnvVars()`
204
- - `$GLM_API_KEY` → `process.env["GLM_API_KEY"]` → `"<TOKEN>"`
235
+ - `$ZAI_ANTHROPIC_FALLBACK_KEY` → `process.env["ZAI_ANTHROPIC_FALLBACK_KEY"]` → `"<TOKEN>"`
205
236
  - `ANTHROPIC_AUTH_TOKEN="<TOKEN>"` (valeur concrete maintenant)
206
237
  4. `agentCustomEnv` envoye a Hermes:
207
238
  - `ANTHROPIC_AUTH_TOKEN=<TOKEN>`
208
- - `ANTHROPIC_BASE_URL=https://api.z.ai/api/paas/v4`
239
+ - `ANTHROPIC_BASE_URL=https://api.z.ai/api/coding/paas/v4`
209
240
  - `ANTHROPIC_MODEL=glm-5.1`
210
241
  5. Hermes fait son propre lookup:
211
242
  - `load_pool("zai")` → `_resolve_api_key_provider_secret("zai")`
212
- - Cherche `GLM_API_KEY` via `_get_env_prefer_dotenv()` dans `HERMES_HOME/.env` puis `os.environ`
213
- - Trouve `GLM_API_KEY=<TOKEN>` dans `os.environ` (herite du parent)
214
- - Stocke dans `auth.json` avec status `ok`
215
- 6. API call → utilise le credential pool entry pour `zai`
216
-
217
- **Meme valeur, deux lectures differentes** — les deux convergent parce que le token est identique dans `HERMES_HOME/.env` et dans `process.env` (qui herite du `.env` charge). Si `GLM_API_KEY` est absent du `.env` mais present dans `HERMES_HOME/.env` → ca marche aussi (HERMES_HOME/.env est lu en priorite par `_get_env_prefer_dotenv`).
243
+ - Cherche `ZAI_ANTHROPIC_FALLBACK_KEY` via `_get_env_prefer_dotenv()` dans `HERMES_HOME/.env` puis `os.environ`
244
+ - Trouve dans `os.environ` (herite du parent)
245
+ - `writeAuthJson()` ecrit dans `auth.json` avec base_url `https://api.z.ai/api/coding/paas/v4`
246
+ 6. API call → utilise le credential pool entry pour `zai` avec le bon endpoint
218
247
 
219
248
  ---
220
249
 
221
250
  ## OPENROUTER et Les Embeddings
222
251
 
223
- **`OVERMIND_EMBEDDING_KEY`** = clef OpenRouter pour les **embeddings uniquement** (PostgresMemoryProvider du Workflow). Elle est dans le `.env` Overmind par defaut. Hermes n'a pas besoin de la voir pour l'LLM inference.
252
+ **`OVERMIND_EMBEDDING_KEY`** = clef OpenRouter pour les **embeddings uniquement** (PostgresMemoryProvider du Workflow). Elle est dans le `.env` Overmind. Hermes n'a pas besoin de la voir pour l'LLM inference.
224
253
 
225
254
  **NousHermesRunner ne doit jamais forwarder de clef OpenRouter a Hermes.** OpenRouter n'est pas un provider LLM dans ce setup. Si `OPENROUTER_API_KEY` arrive jusqu'a Hermes, il detecte la clef et tente OpenRouter pour l'inference → 404 guardrail.
226
255
 
@@ -228,7 +257,34 @@ Le `$GLM_API_KEY` dans `ANTHROPIC_AUTH_TOKEN` est juste une convenience pour que
228
257
  ```typescript
229
258
  OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY || '',
230
259
  ```
231
- On envoit un string vide si absent, pour etre explicite: "OpenRouter nest pas configure pour LLM ici."
260
+
261
+ ---
262
+
263
+ ## Le config.yaml ecrit par NousHermesRunner (exemple sniperbot_analyst)
264
+
265
+ ```yaml
266
+ mcp_servers:
267
+ memory-server:
268
+ url: "http://localhost:3099/mcp"
269
+ discord-server:
270
+ url: "http://localhost:3141/mcp"
271
+ x-mcp-server:
272
+ url: "http://localhost:3142/mcp"
273
+ postgresql-server:
274
+ url: "http://localhost:5433/mcp"
275
+
276
+ model:
277
+ default: glm-5.1
278
+ provider: z-ai
279
+
280
+ tts:
281
+ provider: elevenlabs
282
+ voice: charlie
283
+ voice_id: IKne3meq5aSn9XLyUdCD
284
+ model: eleven_multilingual_v2
285
+ ```
286
+
287
+ Ce config est ecrit dans `.overmind/hermes/agent_<name>/.hermes/config.yaml` a chaque run. Les valeurs viennent de `settings_<agent>.json` + defaults.
232
288
 
233
289
  ---
234
290
 
@@ -267,60 +323,82 @@ On envoit un string vide si absent, pour etre explicite: "OpenRouter nest pas co
267
323
 
268
324
  ## Resume
269
325
 
270
- || Tu veux... | Utilise ces vars |
326
+ | Tu veux... | Utilise ces vars |
271
327
  |---|---|
272
- | Z.AI (glm-5.1) | `GLM_API_KEY` dans `.env` + settings `$GLM_API_KEY` |
328
+ | Z.AI (glm-5.1) | `ZAI_ANTHROPIC_FALLBACK_KEY` dans `.env` + settings `$ZAI_ANTHROPIC_FALLBACK_KEY` |
329
+ | Z.AI secondary (token Y) | `ANTHROPIC_AUTH_TOKEN_Y` dans `.env` + settings `$ANTHROPIC_AUTH_TOKEN_Y` |
273
330
  | MiniMax CN | `MINIMAX_CN_API_KEY` dans `.env` + settings `$MINIMAX_CN_API_KEY` |
274
331
  | Embeddings OpenRouter | `OVERMIND_EMBEDDING_KEY` (pour embeddings, PAS LLM) |
275
332
  | Eviter OpenRouter LLM | Pas de `OPENROUTER_API_KEY` dans `HERMES_HOME/.env` |
276
333
 
277
334
  ---
278
335
 
279
- ## Gemini / Antigravity (id: `gemini`)
336
+ ## Gemini / @google/gemini-cli (id: `gemini`)
280
337
 
281
- **Ancien `gemini-cli` (npm `@google/gemini-cli`) est remplacé.**
338
+ Le runner `gemini` utilise **`@google/gemini-cli`** (npm, v0.43.0) en headless mode.
339
+ Le CLI est installé via `npm install -g @google/gemini-cli` et disponible dans le PATH.
282
340
 
283
- Le runner `gemini` dans Overmind utilise maintenant **Antigravity CLI**, bundlé dans **Antigravity IDE**. Le fichier `GeminiRunner.ts` a été refactorisé pour utiliser le CLI d'Antigravity au lieu du package npm `gemini-cli`.
341
+ ### Installation
284
342
 
285
- ### Ce qui a changé
343
+ ```bash
344
+ npm install -g @google/gemini-cli
345
+ gemini --version # → 0.43.0
346
+ ```
286
347
 
287
- | Avant | Après |
288
- |---|---|
289
- | `GeminiRunner` → spawn `node .../@google/gemini-cli/bundle/gemini.js` | `GeminiRunner` → spawn `Antigravity IDE.exe` avec `--mode`, `--prompt-file`, etc. |
290
- | Auth via sync `.gemini/` OAuth | Auth via OAuth interne Antigravity (pas de sync) |
291
- | Config `.overmind/gemini/` | Config `.antigravity/<agent>/` local |
292
- | Modes limitées | Modes: GENERAL, CONTEXT_CHECK, PLAN, COMMAND, CASCADE, EVAL, ANTIGRAVITY_REVIEW, MQUERY, COMMIT_MESSAGE, CHECKPOINT, FAST_APPLY |
348
+ ### Flags CLI utilisés
293
349
 
294
- ### Installation
350
+ | Flag | Valeur | Rôle |
351
+ |---|---|---|
352
+ | `-p` / `--prompt` | prompt text | Mode headless (non-interactif) |
353
+ | `--approval-mode` | `yolo` | Auto-approve tous les outils |
354
+ | `--session-id` | UUID | Session persistante entre appels |
355
+ | `--acp` | (flag) | Active le protocol agent (ACP) |
356
+ | `--model` | `antigravity/<MODE>` | Passe le mode Antigravity comme contexte |
357
+ | `--output-format` | `json` | Output structuré pour parser session_id |
295
358
 
296
- Antigravity IDE est déjà installé sur cette machine:
359
+ ### Commandes equivalents (CLI direct)
297
360
 
298
361
  ```bash
299
- C:\Users\Deamon\AppData\Local\Programs\Antigravity IDE\Antigravity IDE.exe
362
+ # Test quick
363
+ gemini -p "Dis-moi bonjour" --approval-mode yolo
364
+
365
+ # Avec session
366
+ gemini -p "Analyse ce code" --approval-mode yolo --session-id <uuid> --acp
367
+
368
+ # Mode PLAN
369
+ gemini -p "Planifie cette tache" --model antigravity/PLAN --approval-mode yolo --acp
370
+
371
+ # List sessions
372
+ gemini --list-sessions
300
373
  ```
301
374
 
302
- Le runner vérifie sa présence et retourne `ANTIGRAVITY_NOT_INSTALLED` si absent.
375
+ ### Modes Antigravity (parametre `mode`)
303
376
 
304
- ### Chemins clés
377
+ Le mode est passe via `--model antigravity/<MODE>` pour donner du contexte au modele.
305
378
 
306
- | Ressource | Path |
379
+ || Mode | Usage |
307
380
  |---|---|
308
- | CLI Executable | `C:\Users\Deamon\AppData\Local\Programs\Antigravity IDE\Antigravity IDE.exe` |
309
- | Resources App | `C:\Users\Deamon\AppData\Local\Programs\Antigravity IDE\resources\app` |
310
- | Language Server | `C:\Users\Deamon\AppData\Local\Programs\Antigravity IDE\resources\app\bin\language_server_windows_x64.exe` |
311
- | CLI Node | `C:\Users\Deamon\AppData\Local\Programs\Antigravity IDE\resources\app\out\cli.js` |
381
+ | `GENERAL` | Mode par defaut, taches polyvalentes |
382
+ | `CONTEXT_CHECK` | Verification de contexte code |
383
+ | `PLAN` | Planification de taches complexes |
384
+ | `COMMAND` | Execution de commandes shell |
385
+ | `CASCADE` | Execution en cascade multi-agents |
386
+ | `EVAL` | Evaluation et revue de code |
387
+ | `ANTIGRAVITY_REVIEW` | Revue automatique Antigravity |
388
+ | `MQUERY` | Recherche multi-source |
389
+ | `COMMIT_MESSAGE` | Generation de messages de commit |
390
+ | `CHECKPOINT` | Sauvegarde de checkpoint |
391
+ | `FAST_APPLY` | Application rapide de patches |
312
392
 
313
393
  ### Utilisation Overmind (run_agent)
314
394
 
315
- Le runner `gemini` est utilisé via `run_agent.ts` — même nom, nouvelle implémentation:
316
-
317
395
  ```typescript
318
396
  // run_agent avec runner: 'gemini'
319
397
  const result = await runAgent({
320
- runner: 'gemini', // GeminiRunner qui utilise Antigravity CLI en interne
398
+ runner: 'gemini', // GeminiRunner gemini CLI npm
321
399
  prompt: 'Analyse ce code',
322
400
  agentName: 'expert_python',
323
- mode: 'GENERAL', // GENERAL, PLAN, COMMAND, CASCADE, EVAL, etc.
401
+ mode: 'GENERAL', // GENERAL, PLAN, COMMAND, CASCADE, EVAL, etc.
324
402
  autoResume: false,
325
403
  configPath: './Workflow',
326
404
  });
@@ -332,48 +410,35 @@ const result = await runGeminiAgent({
332
410
  });
333
411
  ```
334
412
 
335
- ### Modes Antigravity (paramètre `mode`)
336
-
337
- | Mode | Usage |
338
- |---|---|
339
- | `GENERAL` | Mode par défaut, tâches polyvalentes |
340
- | `CONTEXT_CHECK` | Vérification de contexte code |
341
- | `PLAN` | Planification de tâches complexes |
342
- | `COMMAND` | Exécution de commandes shell |
343
- | `CASCADE` | Exécution en cascade multi-agents |
344
- | `EVAL` | Évaluation et revue de code |
345
- | `ANTIGRAVITY_REVIEW` | Revue automatique Antigravity |
346
- | `MQUERY` | Recherche multi-source |
347
- | `COMMIT_MESSAGE` | Génération de messages de commit |
348
- | `CHECKPOINT` | Sauvegarde de checkpoint |
349
- | `FAST_APPLY` | Application rapide de patches |
350
-
351
413
  ### Configuration agent
352
414
 
353
- Chaque agent peut avoir sa config dans `.antigravity/agent_<nom>/`:
354
- - `mcp.json` — serveurs MCP actifs
355
- - Session store — sessions Gemini persistées
415
+ Chaque agent stocke sa config dans `.antigravity/agent_<nom>/`:
416
+ - `mcp.json` — serveurs MCP actifs (copies depuis settings_<agent>.json)
417
+ - Session store — sessions persistees
356
418
 
357
- ### Différences avec l'ancien gemini-cli (npm)
419
+ ### Verification installation
358
420
 
359
- ```json
360
- // settings_<agent>.json — Antigravity
361
- {
362
- "env": {
363
- "ANTIGRAVITY_MODE": "GENERAL",
364
- "ANTIGRAVITY_DIR": ".antigravity/agent_<name>"
365
- }
366
- }
421
+ ```bash
422
+ gemini --version
423
+ # → 0.43.0
424
+
425
+ gemini mcp list
426
+ # → liste les MCP servers configures
367
427
  ```
368
428
 
369
- ### Vérification installation
429
+ ### Erreurs connues
370
430
 
371
- ```typescript
372
- import { isAntigravityInstalled } from './services/AntigravityRunner.js';
431
+ | Erreur | Cause | Fix |
432
+ |---|---|---|
433
+ | `GEMINI_CLI_NOT_INSTALLED` | `@google/gemini-cli` pas dans le PATH | `npm install -g @google/gemini-cli` |
434
+ | `EXIT_CODE_1` | Session invalide ou prompt rejete | Retry sans sessionId |
435
+ | `TIMEOUT` | Reponse > 15min | Augmente `CONFIG.TIMEOUT_MS` |
373
436
 
374
- if (isAntigravityInstalled()) {
375
- console.log('Antigravity IDE est installé');
376
- } else {
377
- console.log('Antigravity IDE non trouvé');
378
- }
379
- ```
437
+ ### Ce qui a change (historique)
438
+
439
+ || Avant (session 2025) | Maintenant |
440
+ |---|---|---|
441
+ | Spawn `language_server_windows_x64.exe` avec flags inexistants | Spawn `gemini` (npm bin) avec flags reels |
442
+ | `--mode --prompt-file --session --output-format` (flags Go inexistants) | `-p --approval-mode yolo --session-id --acp --model --output-format json` |
443
+ | Auth via OAuth interne Antigravity IDE | Auth via Google account du CLI npm |
444
+ | Config `.antigravity/<agent>/` | Config `.antigravity/<agent>/` (MCP + sessions) |