overmind-mcp 3.5.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@
8
8
  * ║ ║
9
9
  * ║ ARCHITECTURE ║
10
10
  * ║ ───────────── ║
11
- * ║ OverBridgeService → BridgeProxy → HTTP localhost:3099/mcp
11
+ * ║ OverBridgeService → BridgeProxy → HTTP [::1]:3099/mcp
12
12
  * ║ → Overmind MCP Server ║
13
13
  * ╚══════════════════════════════════════════════════════════════════════╝
14
14
  */
@@ -38,7 +38,9 @@ export declare class BridgeProxy {
38
38
  */
39
39
  call(toolName: string, args: Record<string, unknown>, timeoutMs?: number): Promise<McpResponse>;
40
40
  /**
41
- * Envoie une requête de ping JSON-RPC standard légère au serveur.
41
+ * Envoie un ping HTTP au serveur MCP.
42
+ * Utilise un simple GET /health (plus léger que le handshake JSON-RPC complet).
43
+ * Fallback: POST /mcp avec Accept SSE (si /health n'existe pas).
42
44
  */
43
45
  ping(timeoutMs?: number): Promise<boolean>;
44
46
  healthCheck(): Promise<HealthStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeProxy.d.ts","sourceRoot":"","sources":["../../src/bridge/BridgeProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAuD,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAkDpG,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;gBAGzB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAC7C,MAAM,CAAC,EAAE,YAAY;IAOvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,iBAAiB,IAAI,OAAO,YAAY,EAAE,aAAa,EAAE,CAE5D;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAID;;;;;;;;;;;OAWG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IAqDvB;;OAEG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiC1C,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;YAuB5B,MAAM;IA6CpB;;;;;OAKG;YACW,SAAS;CAkDxB"}
1
+ {"version":3,"file":"BridgeProxy.d.ts","sourceRoot":"","sources":["../../src/bridge/BridgeProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAqE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAkDlH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;gBAGzB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAC7C,MAAM,CAAC,EAAE,YAAY;IAOvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,iBAAiB,IAAI,OAAO,YAAY,EAAE,aAAa,EAAE,CAE5D;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAID;;;;;;;;;;;OAWG;IACG,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IAqDvB;;;;OAIG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgD1C,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;YAuB5B,MAAM;IA6CpB;;;;;OAKG;YACW,SAAS;CAkDxB"}
@@ -8,12 +8,12 @@
8
8
  * ║ ║
9
9
  * ║ ARCHITECTURE ║
10
10
  * ║ ───────────── ║
11
- * ║ OverBridgeService → BridgeProxy → HTTP localhost:3099/mcp
11
+ * ║ OverBridgeService → BridgeProxy → HTTP [::1]:3099/mcp
12
12
  * ║ → Overmind MCP Server ║
13
13
  * ╚══════════════════════════════════════════════════════════════════════╝
14
14
  */
15
15
  import { DEFAULT_BRIDGE_CONFIG, DEFAULT_CIRCUIT_CONFIG } from './types.js';
16
- import { createBridgeLogger, parseMcpResponseBody, withRetry } from './utils.js';
16
+ import { createBridgeLogger, parseMcpResponseBody, parseSseText, withRetry } from './utils.js';
17
17
  // ─── Circuit Breaker ───────────────────────────────────────────────────────
18
18
  class CircuitBreaker {
19
19
  config;
@@ -130,24 +130,37 @@ export class BridgeProxy {
130
130
  }
131
131
  // ─── JSON-RPC Protocol Ping ──────────────────────────────────────────────
132
132
  /**
133
- * Envoie une requête de ping JSON-RPC standard légère au serveur.
133
+ * Envoie un ping HTTP au serveur MCP.
134
+ * Utilise un simple GET /health (plus léger que le handshake JSON-RPC complet).
135
+ * Fallback: POST /mcp avec Accept SSE (si /health n'existe pas).
134
136
  */
135
137
  async ping(timeoutMs) {
136
138
  const timeout = timeoutMs ?? 5_000;
137
- const request = {
138
- jsonrpc: '2.0',
139
- id: this.rpcId++,
140
- method: 'ping',
141
- params: {},
142
- };
139
+ const controller = new AbortController();
140
+ const timer = setTimeout(() => controller.abort(), timeout);
143
141
  try {
144
- const controller = new AbortController();
145
- const timer = setTimeout(() => controller.abort(), timeout);
146
- const response = await fetch(this.config.mcpUrl, {
142
+ // Strategy: try GET /health first (lightweight, FastMCP exposes it)
143
+ const healthUrl = this.config.mcpUrl.replace(/\/mcp\/?$/, '/health');
144
+ let response = await fetch(healthUrl, {
145
+ method: 'GET',
146
+ signal: controller.signal,
147
+ });
148
+ if (response.ok) {
149
+ clearTimeout(timer);
150
+ return true;
151
+ }
152
+ // Fallback: POST /mcp with SSE Accept (real MCP ping)
153
+ const request = {
154
+ jsonrpc: '2.0',
155
+ id: this.rpcId++,
156
+ method: 'ping',
157
+ params: {},
158
+ };
159
+ response = await fetch(this.config.mcpUrl, {
147
160
  method: 'POST',
148
161
  headers: {
149
162
  'Content-Type': 'application/json',
150
- Accept: 'application/json',
163
+ Accept: 'application/json, text/event-stream',
151
164
  },
152
165
  body: JSON.stringify(request),
153
166
  signal: controller.signal,
@@ -156,10 +169,15 @@ export class BridgeProxy {
156
169
  if (!response.ok)
157
170
  return false;
158
171
  const bodyText = await response.text();
172
+ // Accept both SSE and plain JSON
173
+ const sse = parseSseText(bodyText);
174
+ if (sse)
175
+ return !sse.error;
159
176
  const parsed = JSON.parse(bodyText.trim());
160
177
  return parsed && parsed.jsonrpc === '2.0' && !parsed.error;
161
178
  }
162
179
  catch {
180
+ clearTimeout(timer);
163
181
  return false;
164
182
  }
165
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeProxy.js","sourceRoot":"","sources":["../../src/bridge/BridgeProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeProxy.js","sourceRoot":"","sources":["../../src/bridge/BridgeProxy.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ export interface McpServerSpec {
99
99
  url: string;
100
100
  }
101
101
  export interface BridgeConfig {
102
- /** URL du serveur MCP Overmind (default: http://localhost:3099/mcp) */
102
+ /** URL du serveur MCP Overmind (default: http://[::1]:3099/mcp — IPv6 loopback) */
103
103
  mcpUrl: string;
104
104
  /** Timeout par défaut en ms pour les appels MCP (default: 60_000) */
105
105
  defaultTimeoutMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,15 @@
5
5
  * ╚══════════════════════════════════════════════════════════════════════╝
6
6
  */
7
7
  export const DEFAULT_BRIDGE_CONFIG = {
8
- mcpUrl: 'http://localhost:3099/mcp',
8
+ // [::1] = IPv6 loopback — the Overmind MCP server binds on [::1]:3099 by default.
9
+ // Using 'localhost' can resolve to 127.0.0.1 (IPv4) and fail with ECONNREFUSED on Windows.
10
+ mcpUrl: 'http://[::1]:3099/mcp',
9
11
  defaultTimeoutMs: 60_000,
10
12
  agentTimeoutMs: 3_600_000, // 1h
11
13
  maxRetries: 2,
12
14
  retryDelayMs: 2_000,
13
15
  defaultMcpServers: [
14
- { name: 'memory', transport: 'httpStream', url: 'http://localhost:3099/mcp' },
16
+ { name: 'memory', transport: 'httpStream', url: 'http://[::1]:3099/mcp' },
15
17
  ],
16
18
  };
17
19
  export const DEFAULT_CIRCUIT_CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwJH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,MAAM,EAAE,2BAA2B;IACnC,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,SAAS,EAAE,KAAK;IAChC,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE;QACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,2BAA2B,EAAE;KAC9E;CACF,CAAC;AAeF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwJH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,kFAAkF;IAClF,2FAA2F;IAC3F,MAAM,EAAE,uBAAuB;IAC/B,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,SAAS,EAAE,KAAK;IAChC,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE;QACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,uBAAuB,EAAE;KAC1E;CACF,CAAC;AAeF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,CAAC;CACpB,CAAC"}
@@ -0,0 +1,438 @@
1
+ # 📋 Référence Complète — Commandes A2A & RPC Overmind Bridge
2
+
3
+ > **Version**: Overmind v3.5.2 + NEXUS V17 (6 bridges isolés P2P)
4
+ > **Date**: 2026-07-10
5
+ > **Portée**: Code source Overmind + bridges NEXUS + discord_llm
6
+
7
+ ---
8
+
9
+ ## Table des Matières
10
+
11
+ 1. [Architecture Corrigée](#architecture-corrigée)
12
+ 2. [Services Partagés](#services-partagés)
13
+ 3. [Commandes RPC par Bridge (NEXUS)](#commandes-rpc-par-bridge-nexus)
14
+ 4. [Commandes RPC OverBridgeServer (Overmind)](#commandes-rpc-overbridgeserver-overmind)
15
+ 5. [Commandes A2A Hub (MCP Tool)](#commandes-a2a-hub-mcp-tool)
16
+ 6. [Commandes CLI overmind-bridge](#commandes-cli-overmind-bridge)
17
+ 7. [Commandes Hermes Profile Management](#commandes-hermes-profile-management)
18
+ 8. [Scripts Helper d'Installation](#scripts-helper-dinstallation)
19
+ 9. [Bugs Source Corrigés](#bugs-source-corrigés)
20
+
21
+ ---
22
+
23
+ ## Architecture Corrigée
24
+
25
+ ```
26
+ ┌────────────────────────────────────────────────────────────────────┐
27
+ │ 6 BRIDGES ISOLÉS — P2P │
28
+ │ │
29
+ │ :3101 nexus_master 4 RPC: status/broadcast/pipeline/fanout │
30
+ │ :3102 nexus_trader 2 RPC: trade.request/trade.analysis │
31
+ │ :3103 nexus_risk_manager 3 RPC: validate/drawdown/feedback │
32
+ │ :3104 nexus_healer 3 RPC: fixed/failed/diagnose │
33
+ │ :3105 nexus_researcher 2 RPC: query/summarize │
34
+ │ :3106 nexus_publisher 3 RPC: trade-open/trade-close/signal │
35
+ │ │
36
+ │ TOTAL: 17 RPC methods │
37
+ │ │
38
+ │ A2A = HTTP POST inter-bridges (chaque bridge a ses propres clients)│
39
+ │ │
40
+ │ SERVICES PARTAGÉS: │
41
+ │ :3099 Overmind MCP Server (routing central) │
42
+ │ :8642 Hermes Gateway API (X-Hermes-Profile routing) │
43
+ │ :5432 PostgreSQL (MessageLog + Memory) │
44
+ └────────────────────────────────────────────────────────────────────┘
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Services Partagés
50
+
51
+ | Service | Port | URL | Rôle |
52
+ |---------|------|-----|------|
53
+ | **Overmind MCP** | :3099 | `http://[::1]:3099/mcp` | 14 tools: run_agent, a2a_hub, agent_control, memory_*, create_agent, etc. |
54
+ | **Hermes Gateway** | :8642 | `http://127.0.0.1:8642` | API Server HTTP+SSE (OpenAI-compatible) |
55
+ | **PostgreSQL** | :5432 | `localhost` | MessageLog (bridge_messages) + Memory (pgvector) |
56
+ | **Hyperliquid MCP** | :3150 | `http://localhost:3150` | Trading data (NEXUS-specific, roadmap) |
57
+
58
+ ---
59
+
60
+ ## Commandes RPC par Bridge (NEXUS)
61
+
62
+ Chaque bridge expose `POST /rpc` (JSON-RPC 2.0) + `GET /health` + `POST /shutdown`.
63
+
64
+ ### Format de Requête
65
+
66
+ ```bash
67
+ curl -X POST http://127.0.0.1:<PORT>/rpc \
68
+ -H "Content-Type: application/json" \
69
+ -d '{"jsonrpc":"2.0","id":"<id>","method":"<method>","params":{...}}'
70
+ ```
71
+
72
+ ### :3101 — nexus_master (Orchestrateur)
73
+
74
+ | Méthode | Params | Description |
75
+ |---------|--------|-------------|
76
+ | `health.ping` | — | Ping local (toujours OK) |
77
+ | `master.status` | — | Agrège la santé des 6 bridges en temps réel |
78
+ | `master.broadcast` | `{ message: string }` | Fan-out un prompt aux 5 peer bridges |
79
+ | `master.pipeline` | `{ steps: [{ peer, prompt }] }` | Chaîne séquentielle A→B→C entre bridges |
80
+ | `master.fanout` | `{ peers: string[], prompt, merge? }` | Parallèle N bridges + merge (concat/best/first_success) |
81
+
82
+ **Exemples:**
83
+
84
+ ```bash
85
+ # Status réseau complet
86
+ curl -s -X POST http://127.0.0.1:3101/rpc \
87
+ -H "Content-Type: application/json" \
88
+ -d '{"jsonrpc":"2.0","id":"1","method":"master.status"}'
89
+
90
+ # Broadcast à tous les peers
91
+ curl -s -X POST http://127.0.0.1:3101/rpc \
92
+ -H "Content-Type: application/json" \
93
+ -d '{"jsonrpc":"2.0","id":"2","method":"master.broadcast","params":{"message":"Alerte marché"}}'
94
+
95
+ # Pipeline: researcher → trader → publisher
96
+ curl -s -X POST http://127.0.0.1:3101/rpc \
97
+ -H "Content-Type: application/json" \
98
+ -d '{"jsonrpc":"2.0","id":"3","method":"master.pipeline","params":{"steps":[{"peer":"researcher","prompt":"Analyse BTC"},{"peer":"trader","prompt":"Décide trade"},{"peer":"publisher","prompt":"Publie signal"}]}}'
99
+
100
+ # Fanout parallèle + merge best
101
+ curl -s -X POST http://127.0.0.1:3101/rpc \
102
+ -H "Content-Type: application/json" \
103
+ -d '{"jsonrpc":"2.0","id":"4","method":"master.fanout","params":{"peers":["researcher","trader"],"prompt":"BTC outlook","merge":"best"}}'
104
+ ```
105
+
106
+ ### :3102 — nexus_trader (Exécution + Analyse)
107
+
108
+ | Méthode | Params | Description |
109
+ |---------|--------|-------------|
110
+ | `trade.request` | `{ symbol, side, quantity, entryPrice?, stopLoss?, takeProfit? }` | Valide via risk, notifie publisher |
111
+ | `trade.analysis` | `{ symbol, timeframe? }` | Délègue au researcher |
112
+
113
+ ```bash
114
+ curl -s -X POST http://127.0.0.1:3102/rpc \
115
+ -H "Content-Type: application/json" \
116
+ -d '{"jsonrpc":"2.0","id":"1","method":"trade.request","params":{"symbol":"BTC","side":"BUY","quantity":0.1}}'
117
+ ```
118
+
119
+ ### :3103 — nexus_risk_manager (Validation + Drawdown)
120
+
121
+ | Méthode | Params | Description |
122
+ |---------|--------|-------------|
123
+ | `risk.validate` | `{ symbol, side, quantity, entryPrice?, stopLoss?, takeProfit? }` | Valide un trade proposé |
124
+ | `risk.drawdown` | — | Vérifie le drawdown actuel du portfolio |
125
+ | `risk.feedback` | `{ message, type, suggestedParams? }` | Feedback au trader |
126
+
127
+ ```bash
128
+ curl -s -X POST http://127.0.0.1:3103/rpc \
129
+ -H "Content-Type: application/json" \
130
+ -d '{"jsonrpc":"2.0","id":"1","method":"risk.validate","params":{"symbol":"BTC","side":"BUY","quantity":0.1}}'
131
+ ```
132
+
133
+ ### :3104 — nexus_healer (Auto-réparation)
134
+
135
+ | Méthode | Params | Description |
136
+ |---------|--------|-------------|
137
+ | `heal.fixed` | `{ module, resolution, durationMs? }` | Notifie qu'un module a été réparé |
138
+ | `heal.failed` | `{ module, error, attempts }` | Notifie qu'une réparation a échoué |
139
+ | `heal.diagnose` | `{ module }` | Diagnostique l'état d'un module |
140
+
141
+ ```bash
142
+ curl -s -X POST http://127.0.0.1:3104/rpc \
143
+ -H "Content-Type: application/json" \
144
+ -d '{"jsonrpc":"2.0","id":"1","method":"heal.diagnose","params":{"module":"brain"}}'
145
+ ```
146
+
147
+ ### :3105 — nexus_researcher (Recherche + Summarization)
148
+
149
+ | Méthode | Params | Description |
150
+ |---------|--------|-------------|
151
+ | `research.query` | `{ topic, depth? }` | Lance une recherche sur un sujet |
152
+ | `research.summarize` | `{ sourceIds: string[] }` | Résume des sources |
153
+
154
+ ```bash
155
+ curl -s -X POST http://127.0.0.1:3105/rpc \
156
+ -H "Content-Type: application/json" \
157
+ -d '{"jsonrpc":"2.0","id":"1","method":"research.query","params":{"topic":"BTC trends","depth":"deep"}}'
158
+ ```
159
+
160
+ ### :3106 — nexus_publisher (Notifications + Signaux)
161
+
162
+ | Méthode | Params | Description |
163
+ |---------|--------|-------------|
164
+ | `publish.trade-open` | `{ symbol, side, quantity, entryPrice, timestamp }` | Notifie l'ouverture d'un trade |
165
+ | `publish.trade-close` | `{ symbol, side, quantity, exitPrice, pnl?, reason? }` | Notifie la fermeture d'un trade |
166
+ | `publish.signal` | `{ message, channel? }` | Publie un signal sur un canal |
167
+
168
+ ```bash
169
+ curl -s -X POST http://127.0.0.1:3106/rpc \
170
+ -H "Content-Type: application/json" \
171
+ -d '{"jsonrpc":"2.0","id":"1","method":"publish.signal","params":{"message":"BTC bullish signal","channel":"trading"}}'
172
+ ```
173
+
174
+ ### Endpoints Communs (tous les bridges)
175
+
176
+ | Endpoint | Méthode HTTP | Description |
177
+ |----------|-------------|-------------|
178
+ | `/health` | GET | `{ agent, status, uptime, rpcMethods[], peerCount }` |
179
+ | `/rpc` | POST | JSON-RPC 2.0 dispatcher |
180
+ | `/shutdown` | POST | Arrêt propre du bridge |
181
+
182
+ ### Routage RPC Interne
183
+
184
+ ```
185
+ POST /rpc → dispatchRpc(method)
186
+ 1. health.ping → local (toujours)
187
+ 2. Méthode locale (registerRpcMethod) → handler local
188
+ 3. Sinon → forwardToMcp() → POST http://[::1]:3099/mcp
189
+ ```
190
+
191
+ ---
192
+
193
+ ## Commandes RPC OverBridgeServer (Overmind)
194
+
195
+ Le `OverBridgeServer` (port 3100 par défaut, ou via discord_llm :3001) expose **24 méthodes JSON-RPC** :
196
+
197
+ ### Agents (10 méthodes)
198
+
199
+ | Méthode | Params | Description |
200
+ |---------|--------|-------------|
201
+ | `agent.run` | `agentName, runner, prompt, sessionId?, model?, externalKey?` | Lance un agent |
202
+ | `agent.a2a` | `fromAgent, toAgent, runner, prompt, model?` | A→B (Agent-to-Agent) |
203
+ | `agent.broadcast` | `fromAgent, runner, prompt, targets[]?, race?` | 1→N fan-out global |
204
+ | `agent.pipeline` | `initiator, runner, prompt, steps[], accumulateContext?` | Chaîne A→B→C |
205
+ | `agent.fanout` | `fromAgent, runner, prompt, targets[], mergeStrategy?` | 1→N + merge |
206
+ | `agent.delegate` | `fromAgent, toAgent, runner, prompt, async?, callbackUrl?` | Fire-and-forget |
207
+ | `agent.query` | `fromAgent, runner, prompt, targets[], agentTimeoutMs?` | Multi-agent query |
208
+ | `agent.status` | `agentName, action?, runner?` | Status live |
209
+ | `agent.list` | `status?, runner?` | Liste des agents |
210
+ | `agent.kill` | `agentName, runner?` | Kill un agent |
211
+
212
+ ### Messages (4 méthodes)
213
+
214
+ | Méthode | Params | Description |
215
+ |---------|--------|-------------|
216
+ | `message.history` | `toAgent?, fromAgent?, status?, limit?, offset?, sinceHours?` | Historique paginé |
217
+ | `message.get` | `id` (UUID) | Récupère un message |
218
+ | `message.replay` | `id` (UUID) | Rejoue un message |
219
+ | `message.stats` | — | Stats globales |
220
+
221
+ ### Sessions (4 méthodes)
222
+
223
+ | Méthode | Params | Description |
224
+ |---------|--------|-------------|
225
+ | `session.get` | `externalKey, agentName` | Session d'un utilisateur |
226
+ | `session.list` | — | Toutes les sessions |
227
+ | `session.delete` | `externalKey, agentName` | Supprime une session |
228
+ | `session.stats` | — | Stats des sessions |
229
+
230
+ ### Autres (6 méthodes)
231
+
232
+ | Méthode | Description |
233
+ |---------|-------------|
234
+ | `health.ping` | Liveness check |
235
+ | `webhook.sms` | Adapt + auto-dispatch webhook SMS |
236
+ | `GET /health` | Healthcheck enrichi |
237
+ | `POST /webhook/:provider` | Webhook HTTP (voipms, twilio, discord) |
238
+ | `GET /f/:filename` | Static file serve |
239
+ | `OPTIONS *` | CORS preflight |
240
+
241
+ ---
242
+
243
+ ## Commandes A2A Hub (MCP Tool)
244
+
245
+ Le tool MCP `a2a_hub` expose 8 actions pour la communication inter-agents :
246
+
247
+ | Action | Params | Description |
248
+ |--------|--------|-------------|
249
+ | `discover` | — | Liste tous les agents avec statut temps réel |
250
+ | `status` | `target` | État détaillé d'un agent |
251
+ | `send` | `target, message` | Message synchrone A→B |
252
+ | `delegate` | `target, message, callbackUrl?` | Tâche async (retourne taskId) |
253
+ | `pipeline` | `message, steps[]` | Chaîne séquentielle A→B→C |
254
+ | `fanout` | `targets[], message, mergeStrategy?` | 1→N parallèle + merge |
255
+ | `query` | `targets[], message` | Question rapide multi-agents |
256
+ | `broadcast` | `message, race?` | Message global à tous |
257
+
258
+ ```python
259
+ # Exemples
260
+ a2a_hub(action="discover")
261
+ a2a_hub(action="send", target="nexus_trader", message="Analyse BTC")
262
+ a2a_hub(action="pipeline", message="Analyse le marché", steps=[{"agentName":"nexus_researcher"},{"agentName":"nexus_trader"}])
263
+ a2a_hub(action="fanout", targets=["nexus_trader","nexus_risk_manager"], message="BTC?", mergeStrategy="best")
264
+ a2a_hub(action="broadcast", message="Alerte!", race=true)
265
+ ```
266
+
267
+ ---
268
+
269
+ ## Commandes CLI overmind-bridge
270
+
271
+ ### Démarrer le serveur
272
+
273
+ ```bash
274
+ overmind-bridge server --port 3100
275
+ ```
276
+
277
+ ### Appels one-shot
278
+
279
+ ```bash
280
+ # Flag direct
281
+ overmind-bridge call agent.run --agent nexus_master --runner hermes --prompt "Analyse BTC"
282
+
283
+ # Stdin
284
+ echo "Analyse BTC" | overmind-bridge call agent.run --agent nexus_master --runner hermes --prompt-stdin
285
+
286
+ # Fichier + variables
287
+ overmind-bridge call agent.run --agent nexus_master --runner hermes \
288
+ --prompt-file ./brief.txt --var ticker=BTC
289
+
290
+ # A2A
291
+ overmind-bridge call agent.a2a --from nexus_master --to nexus_trader --runner hermes \
292
+ --prompt "Valide mon analyse"
293
+ ```
294
+
295
+ ### Gestion
296
+
297
+ ```bash
298
+ overmind-bridge status # Status de tous les agents
299
+ overmind-bridge health # Health du serveur
300
+ overmind-bridge replay --id 7f3e8a1b-... # Replay un message
301
+ overmind-bridge sessions list # Liste des sessions
302
+ overmind-bridge sessions get --key "+141****7735" --agent pdf_bon_travail
303
+ overmind-bridge sessions rm --key "+141****7735" --agent pdf_bon_travail
304
+ ```
305
+
306
+ ---
307
+
308
+ ## Commandes Hermes Profile Management
309
+
310
+ ### Créer un agent
311
+
312
+ ```bash
313
+ # Via MCP tool
314
+ create_agent(name: "trader_btc", runner: "hermes", prompt: "...", model: "glm-5.2")
315
+
316
+ # Via CLI
317
+ hermes profile create trader_btc --no-alias --description "Trader BTC"
318
+ hermes -p trader_btc config set model.provider z-ai
319
+ hermes -p trader_btc config set model.model glm-5.2
320
+ ```
321
+
322
+ ### Gérer les profils
323
+
324
+ ```bash
325
+ hermes profile list # Lister
326
+ hermes profile show nexus_master # Détails
327
+ hermes profile delete nexus_master --yes # Supprimer
328
+ hermes -p nexus_master config set model.model "MiniMax-M3" # Changer modèle
329
+ ```
330
+
331
+ ### Lancer un agent
332
+
333
+ ```bash
334
+ # Via Gateway HTTP (recommandé — zero subprocess)
335
+ run_agent(runner: "hermes", agentName: "nexus_master", prompt: "...")
336
+
337
+ # Via CLI
338
+ hermes -p nexus_master chat -q "Analyse le BTC" -Q --yolo
339
+
340
+ # Via curl direct sur le Gateway
341
+ curl -X POST http://127.0.0.1:8642/v1/chat/completions \
342
+ -H "Content-Type: application/json" \
343
+ -H "Authorization: Bearer ${API_SERVER_KEY}" \
344
+ -H "X-Hermes-Profile: nexus_master" \
345
+ -d '{"model":"glm-5.2","messages":[{"role":"user","content":"..."}],"stream":true}'
346
+ ```
347
+
348
+ ---
349
+
350
+ ## Scripts Helper d'Installation
351
+
352
+ ### NEXUS — Démarrage et gestion
353
+
354
+ | Script | Usage | Description |
355
+ |--------|-------|-------------|
356
+ | `scripts/start-all-bridges.cjs` | `node scripts/start-all-bridges.cjs` | Démarre les 6 bridges en parallèle |
357
+ | `scripts/stop-all-bridges.cjs` | `node scripts/stop-all-bridges.cjs` | Arrête les 6 bridges |
358
+ | `scripts/status-bridges.cjs` | `node scripts/status-bridges.cjs` | Status de chaque bridge |
359
+ | `scripts/seed-bridges.cjs` | `node scripts/seed-bridges.cjs` | Crée la structure + .env pour les 6 |
360
+ | `scripts/test-a2a.cjs` | `node scripts/test-a2a.cjs` | Test E2A inter-bridges |
361
+ | `scripts/postbuild.cjs` | `node scripts/postbuild.cjs` | Copie config + .env vers dist |
362
+
363
+ ### Overmind — Build et install
364
+
365
+ ```bash
366
+ # Build complet
367
+ cd Workflow && npm run build
368
+
369
+ # Lint
370
+ npm run lint
371
+
372
+ # Test
373
+ npm run test
374
+
375
+ # Vérification installation
376
+ npm run verify-install
377
+
378
+ # Setup complet (Docker + Postgres + MCP)
379
+ npm run setup
380
+ ```
381
+
382
+ ### discord_llm — Build et démarrage
383
+
384
+ ```bash
385
+ cd discord_llm && npm run build && npm start
386
+ ```
387
+
388
+ ### Hermes Gateway — Activation
389
+
390
+ ```bash
391
+ # Config dans config.yaml
392
+ gateway:
393
+ platforms:
394
+ api_server:
395
+ enabled: true
396
+
397
+ # .env
398
+ API_SERVER_KEY=<key>
399
+ API_SERVER_ENABLED=1
400
+
401
+ # Redémarrer
402
+ hermes gateway restart
403
+ ```
404
+
405
+ ---
406
+
407
+ ## Bugs Source Corrigés
408
+
409
+ ### Overmind (Workflow/src/bridge/)
410
+
411
+ | Bug | Fichier | Fix |
412
+ |-----|---------|-----|
413
+ | `localhost` au lieu de `[::1]` (IPv4/IPv6 mismatch Windows) | `types.ts:159` | → `http://[::1]:3099/mcp` |
414
+ | `ping()` sans SSE Accept header (FastMCP rejette) | `BridgeProxy.ts:181` | → Ajout `Accept: text/event-stream` + fallback `GET /health` |
415
+ | `parseSseText` non importé dans `BridgeProxy` | `BridgeProxy.ts:25` | → Ajout import |
416
+ | Commentaire doc `localhost:3099` | `BridgeProxy.ts:11` | → `[::1]:3099` |
417
+
418
+ ### NEXUS (Nexus/common/ + bridges/)
419
+
420
+ | Bug | Fichier | Fix |
421
+ |-----|---------|-----|
422
+ | MCP URL `/rpc` au lieu de `/mcp` (FastMCP 404) | `BaseBridge.ts:227` | → `${mcpBase}/mcp` avec SSE parsing |
423
+ | Timeout MCP hardcodé 60s | `BaseBridge.ts:232` | → `config.mcpTimeoutMs` (120s défaut) |
424
+ | `Date.now()` comme ID JSON-RPC (collision) | `BridgeClient.ts:36` | → `crypto.randomUUID()` |
425
+ | `appendFileSync` (sync I/O dans hot path) | `logger.ts:71` | → `appendFile` async + rotation 50MB |
426
+ | Méthodes RPC custom forwardées au MCP (404) | `BaseBridge.ts:174` | → `registerRpcMethod()` + dispatch local |
427
+ | `.env` introuvable après build (dist vs src) | `config.ts:20` | → `candidatePaths[]` multi-niveaux |
428
+ | `postbuild.cjs` ne copiait pas les `.env` | `postbuild.cjs` | → Ajout section 2: copy bridges/.env |
429
+ | `*/` dans JSDoc cassait le parser CJS | `postbuild.cjs:5` | → Reworded comment |
430
+ | Pas de graceful shutdown SIGINT/SIGTERM | `bridge.ts` (×6) | → Ajout handler `process.on('SIGINT')` |
431
+ | Pas de keep-alive HTTP (TCP handshake chaque call) | `BridgeClient.ts` | → `HttpAgent({ keepAlive: true })` partagé |
432
+
433
+ ### discord_llm
434
+
435
+ | Bug | Fichier | Fix |
436
+ |-----|---------|-----|
437
+ | `localhost:3099` au lieu de `[::1]:3099` | `overmind-bridge.ts:63` | → `http://[::1]:3099/mcp` |
438
+ | `no-useless-assignment` lint errors | `overmind-bridge.ts:255,278` | → `let mcpStatus: string` (sans init) |