overmind-mcp 3.6.1 → 3.7.1
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/README.md +20 -4
- package/dist/services/AgentManager.d.ts.map +1 -1
- package/dist/services/AgentManager.js +7 -38
- package/dist/services/AgentManager.js.map +1 -1
- package/dist/services/HermesPoolClient.d.ts +105 -0
- package/dist/services/HermesPoolClient.d.ts.map +1 -0
- package/dist/services/HermesPoolClient.js +190 -0
- package/dist/services/HermesPoolClient.js.map +1 -0
- package/dist/services/HermesProfileManager.d.ts +14 -5
- package/dist/services/HermesProfileManager.d.ts.map +1 -1
- package/dist/services/HermesProfileManager.js +60 -38
- package/dist/services/HermesProfileManager.js.map +1 -1
- package/dist/tools/a2a_hub.d.ts +17 -11
- package/dist/tools/a2a_hub.d.ts.map +1 -1
- package/dist/tools/a2a_hub.js +330 -312
- package/dist/tools/a2a_hub.js.map +1 -1
- package/docs/MIGRATION_V4_WRAPPER.md +544 -0
- package/package.json +1 -1
- package/scripts/test-pool-client.ts +27 -0
- package/scripts/test-registry.ts +22 -0
package/README.md
CHANGED
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
_Wrapper multi-agent persistant pour runners IA via MCP. Instanciez et pilotez des agents Hermes, Claude-Code, Gemini-cli, QwenCli, Kilo/Cline, OpenClaw — chacun avec sa propre mémoire, son state, ses skills. Backbone mémoire vectorielle PostgreSQL + pgvector._
|
|
12
|
+
|
|
13
|
+
> **Positionnement** : OverMind n'est plus un orchestrateur central qui dispatche. C'est une **factory à agents persistants** : chaque agent créé reçoit son propre profil Hermes, sa propre DB, ses propres skills, et vit tant qu'il est utile. L'intelligence est dans les agents, pas dans le wrapper.
|
|
12
14
|
|
|
13
15
|
<p align="center">
|
|
14
16
|
<a href="https://discord.gg/4AR82phtBz"><img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logo-color=white" alt="Discord"></a>
|
|
@@ -16,7 +18,7 @@ _Orchestrateur universel agents IA multi-modèles via MCP. Pilote Hermes, Claude
|
|
|
16
18
|
<a href="https://www.npmjs.com/package/overmind-mcp"><img src="https://img.shields.io/npm/v/overmind-mcp?style=for-the-badge&logo=npm&color=CB383D" alt="NPM"></a>
|
|
17
19
|
</p>
|
|
18
20
|
|
|
19
|
-
**OverMind-MCP**
|
|
21
|
+
**OverMind-MCP** instancie des agents IA **persistants** via le Model Context Protocol. Chaque agent créé = 1 profil Hermes natif + 1 profile.yaml + 1 SOUL.md + 1 state.db — il vit, se souvient, et communique avec ses pairs. Compatible avec **Hermes (natif)**, **Claude-Code**, **Gemini-cli**, **QwenCli**, **Kilo/Cline**, **OpenClaw**, et extensible à tout runner CLI.
|
|
20
22
|
|
|
21
23
|
---
|
|
22
24
|
|
|
@@ -25,7 +27,7 @@ _Orchestrateur universel agents IA multi-modèles via MCP. Pilote Hermes, Claude
|
|
|
25
27
|
- 🔌 **Multi-Runner** : Hermes natif, Claude-Code, Gemini, Kilo, QwenCli, OpenClaw — 1 commande par runner
|
|
26
28
|
- 🧠 **Mémoire Vectorielle** : RAG 4096D via PostgreSQL + pgvector, isolation par agent
|
|
27
29
|
- 🏗️ **Architecture v3.1** : Profils Hermes canoniques avec `profile.yaml`, `workspace.yaml`, `state.db`
|
|
28
|
-
- 🌉 **Bridge HTTP JSON-RPC** :
|
|
30
|
+
- 🌉 **Bridge HTTP JSON-RPC** : Communication A2A peer-to-peer entre agents persistants, scénarios, webhooks, sessions multi-tenant
|
|
29
31
|
- 🛡️ **Anti-Zombie** : 1 seul process HTTP partagé, processRegistry avec TTL + cleanup auto
|
|
30
32
|
- 📋 **14 Outils MCP** : run_agent, create_agent, memory_search/store, agent_control, etc.
|
|
31
33
|
- 🧠 **Mémoire par défaut** : tout agent créé via Overmind reçoit automatiquement le MCP `memory` (3 tools: memory_search/store/runs sur :3099). Pour l'accès complet 14 tools, utiliser `overmind` explicitement.
|
|
@@ -194,9 +196,23 @@ Agent 3 ──┘
|
|
|
194
196
|
|
|
195
197
|
---
|
|
196
198
|
|
|
197
|
-
##
|
|
199
|
+
## 🗺️ Roadmap v4.0 — Wrapper Multi-Agent Persistant
|
|
200
|
+
|
|
201
|
+
> OverMind pivote d'orchestrateur central → wrapper factory à agents persistants.
|
|
202
|
+
> Chaque agent créé est autonome (profil, state, mémoire, skills), pas un slot dans un pool global.
|
|
198
203
|
|
|
204
|
+
**État actuel (v3.7.0)** — wrapper déjà opérationnel :
|
|
205
|
+
- ✅ Agents Hermes = profils natifs (config.yaml, SOUL.md, state.db, skills/)
|
|
206
|
+
- ✅ Pool de credentials géré par Hermes (rotation round-robin, rate-limit aware)
|
|
207
|
+
- ✅ Bridge HTTP par agent (ports 3101+) — peer-to-peer A2A, pas de dispatch central
|
|
208
|
+
- ✅ Hermes Gateway natif (port 8642) — HTTP+SSE, routing via `X-Hermes-Profile`
|
|
199
209
|
|
|
210
|
+
**Plan de migration v4.0** — voir [`docs/MIGRATION_V4_WRAPPER.md`](docs/MIGRATION_V4_WRAPPER.md) pour le détail complet :
|
|
211
|
+
- Phase 1a — Suppression du dispatcher/YOLO_CONFIG (obligatoire, ~300 LOC)
|
|
212
|
+
- Phase 2 — Support Kanban OPTIONNEL (opt-in via `OVERMIND_KANBAN_ENABLED=1`)
|
|
213
|
+
- Phase 3 — Chaque agent = son propre bridge (peer-to-peer, plus de central)
|
|
214
|
+
- Phase 4 — Mémoire par-profile (au lieu de pgvector central)
|
|
215
|
+
- Phase 1b — Suppression historique Kanban (seulement si inutilisé après 1 release)
|
|
200
216
|
|
|
201
217
|

|
|
202
218
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../../src/services/AgentManager.ts"],"names":[],"mappings":"AA+BA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,eAAe,CAAC,EAAE,MAAM;YAQtB,sBAAsB;IAW9B,UAAU,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkN7D;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0BrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4ChF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoN/E,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentManager.d.ts","sourceRoot":"","sources":["../../src/services/AgentManager.ts"],"names":[],"mappings":"AA+BA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,eAAe,CAAC,EAAE,MAAM;YAQtB,sBAAsB;IAW9B,UAAU,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkN7D;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0BrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4ChF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoN/E,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA4NlE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAqFxE"}
|
|
@@ -608,45 +608,14 @@ Tu es conçu pour être exécuté par différents runners (Claude, Kilo, Gemini,
|
|
|
608
608
|
// getProfilePath() queries `hermes profile show <name>` for the real path.
|
|
609
609
|
// ═══════════════════════════════════════════════════════════════════════
|
|
610
610
|
const { HermesProfileManager } = await import('./HermesProfileManager.js');
|
|
611
|
-
//
|
|
612
|
-
//
|
|
613
|
-
|
|
614
|
-
// Auto-detect the primary provider from the auth token prefix
|
|
611
|
+
// Pull the auth token (if any) so we can optionally add it to the global pool.
|
|
612
|
+
// Hermes resolves credentials from the pool — we DON'T need to write a
|
|
613
|
+
// credentials map per profile anymore.
|
|
615
614
|
const authToken = envVars.ANTHROPIC_AUTH_TOKEN || '';
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
else if (/^[0-9a-f]{32}/i.test(authToken)) {
|
|
621
|
-
credentials['GLM_API_KEY'] = authToken;
|
|
622
|
-
}
|
|
623
|
-
else {
|
|
624
|
-
credentials['ANTHROPIC_API_KEY'] = authToken;
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
// Also forward any existing provider keys from the parent environment
|
|
628
|
-
// so the profile can use fallback providers
|
|
629
|
-
const providerEnvKeys = [
|
|
630
|
-
'GLM_API_KEY', 'ZAI_API_KEY', 'Z_AI_API_KEY',
|
|
631
|
-
'MINIMAX_API_KEY', 'MINIMAX_CN_API_KEY',
|
|
632
|
-
'DEEPSEEK_API_KEY',
|
|
633
|
-
'OPENAI_API_KEY',
|
|
634
|
-
'ANTHROPIC_API_KEY',
|
|
635
|
-
'OPENROUTER_API_KEY',
|
|
636
|
-
'GEMINI_API_KEY', 'GOOGLE_API_KEY',
|
|
637
|
-
'KIMI_API_KEY', 'MOONSHOT_API_KEY',
|
|
638
|
-
'DASHSCOPE_API_KEY',
|
|
639
|
-
'XAI_API_KEY',
|
|
640
|
-
'BASE_URL_Z', 'GLM_BASE_URL',
|
|
641
|
-
];
|
|
642
|
-
for (const key of providerEnvKeys) {
|
|
643
|
-
const val = process.env[key];
|
|
644
|
-
if (val && !credentials[key]) {
|
|
645
|
-
credentials[key] = val;
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
// Skip auth token requirement for Hermes — it has its own credential pool
|
|
649
|
-
// per profile via .env
|
|
615
|
+
// The Hermes profile uses the GLOBAL credential pool.
|
|
616
|
+
// If an auth token was passed, we add it as a single credential to the pool
|
|
617
|
+
// (keyed by the resolved provider). All other keys come from `hermes auth list`.
|
|
618
|
+
const credentials = authToken ? { api_key: authToken } : {};
|
|
650
619
|
const { profilePath, soulPath } = await HermesProfileManager.create({
|
|
651
620
|
name,
|
|
652
621
|
prompt: finalPrompt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../src/services/AgentManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../src/services/AgentManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HermesPoolClient — Thin wrapper over the native Hermes credential pool.
|
|
3
|
+
*
|
|
4
|
+
* ╔════════════════════════════════════════════════════════════════════════╗
|
|
5
|
+
* ║ WHY THIS EXISTS ║
|
|
6
|
+
* ║ ║
|
|
7
|
+
* ║ Hermes manages API keys centrally via `hermes auth add <provider>`. ║
|
|
8
|
+
* ║ Credentials are stored in a global pool with automatic rotation ║
|
|
9
|
+
* ║ (round_robin by default) and rate-limit aware failover. ║
|
|
10
|
+
* ║ ║
|
|
11
|
+
* ║ Overmind previously wrote `.env` files with hardcoded credentials per ║
|
|
12
|
+
* ║ profile. That defeated the pool — one key per profile, no rotation, ║
|
|
13
|
+
* ║ no failover. The right approach is to add credentials to the POOL ║
|
|
14
|
+
* ║ and let Hermes resolve them per profile. ║
|
|
15
|
+
* ║ ║
|
|
16
|
+
* ║ Providers in the pool (from `hermes auth list`): ║
|
|
17
|
+
* ║ - anthropic, copilot, deepseek, minimax, minimax-cn, ║
|
|
18
|
+
* ║ openai-api, qwen-oauth, xai, zai ║
|
|
19
|
+
* ║ ║
|
|
20
|
+
* ║ Per-profile: only config.yaml's `model.provider` is needed. ║
|
|
21
|
+
* ║ Hermes resolves the credentials + base_url from the pool automatically. ║
|
|
22
|
+
* ╚════════════════════════════════════════════════════════════════════════╝
|
|
23
|
+
*/
|
|
24
|
+
export interface PoolCredential {
|
|
25
|
+
/** Display label, e.g. "GLM coding 34" or "DeepSeek 7" */
|
|
26
|
+
label: string;
|
|
27
|
+
/** Where the credential came from: env var, manual entry, OAuth file, etc. */
|
|
28
|
+
source: 'env' | 'manual' | 'oauth' | 'gh_cli' | 'unknown';
|
|
29
|
+
/** Currently active in the rotation (← marker) */
|
|
30
|
+
active: boolean;
|
|
31
|
+
/** Raw suffix of the key for display, e.g. "sk-o...e25b" */
|
|
32
|
+
preview?: string;
|
|
33
|
+
/** If rate-limited, e.g. "rate-limited rate_limit_error (429) (10m 10s left)" */
|
|
34
|
+
status?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface PoolProvider {
|
|
37
|
+
/** Canonical Hermes provider id, e.g. "zai", "minimax-cn", "deepseek" */
|
|
38
|
+
id: string;
|
|
39
|
+
/** Total number of credentials in this provider's pool */
|
|
40
|
+
count: number;
|
|
41
|
+
/** True if at least one credential is currently active (not rate-limited) */
|
|
42
|
+
hasActive: boolean;
|
|
43
|
+
/** All credentials in the pool, in rotation order */
|
|
44
|
+
credentials: PoolCredential[];
|
|
45
|
+
}
|
|
46
|
+
export declare class HermesPoolClient {
|
|
47
|
+
/**
|
|
48
|
+
* List all providers and their credentials from `hermes auth list`.
|
|
49
|
+
* The output format is:
|
|
50
|
+
*
|
|
51
|
+
* <provider-id> (N credentials):
|
|
52
|
+
* #1 <label> api_key <source> [<status>] [←]
|
|
53
|
+
* #2 <label> api_key <source>
|
|
54
|
+
* ...
|
|
55
|
+
*/
|
|
56
|
+
static list(): Promise<PoolProvider[]>;
|
|
57
|
+
static parseAuthList(raw: string): PoolProvider[];
|
|
58
|
+
/**
|
|
59
|
+
* Get a specific provider's pool info. Returns null if provider doesn't exist.
|
|
60
|
+
*/
|
|
61
|
+
static getProvider(providerId: string): Promise<PoolProvider | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Add a credential to a provider's pool.
|
|
64
|
+
* Wraps `hermes auth add <provider> --api-key <key> [--inference-url <url>]`.
|
|
65
|
+
*/
|
|
66
|
+
static addCredential(providerId: string, apiKey: string, opts?: {
|
|
67
|
+
label?: string;
|
|
68
|
+
inferenceUrl?: string;
|
|
69
|
+
}): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Remove a credential from a provider's pool by label.
|
|
72
|
+
* Hermes auth remove uses positional <provider> <label>.
|
|
73
|
+
*/
|
|
74
|
+
static removeCredential(providerId: string, label: string): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Sync a list of credentials into the pool, deduped by label.
|
|
77
|
+
* Useful for bulk-importing from an Overmind workspace .env.
|
|
78
|
+
*/
|
|
79
|
+
static syncCredentials(providerId: string, credentials: Array<{
|
|
80
|
+
apiKey: string;
|
|
81
|
+
label?: string;
|
|
82
|
+
inferenceUrl?: string;
|
|
83
|
+
}>): Promise<{
|
|
84
|
+
added: number;
|
|
85
|
+
skipped: number;
|
|
86
|
+
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Check if a provider has at least one healthy credential available.
|
|
89
|
+
*/
|
|
90
|
+
static isProviderHealthy(providerId: string): Promise<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* List all healthy providers (at least one non-rate-limited credential).
|
|
93
|
+
*/
|
|
94
|
+
static listHealthyProviders(): Promise<string[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Compute a short summary of the pool state — useful for status embeds / dashboards.
|
|
97
|
+
*/
|
|
98
|
+
static summary(): Promise<{
|
|
99
|
+
totalProviders: number;
|
|
100
|
+
totalCredentials: number;
|
|
101
|
+
healthyProviders: string[];
|
|
102
|
+
rateLimitedProviders: string[];
|
|
103
|
+
}>;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=HermesPoolClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HermesPoolClient.d.ts","sourceRoot":"","sources":["../../src/services/HermesPoolClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,SAAS,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,qBAAa,gBAAgB;IAC3B;;;;;;;;OAQG;WACU,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAK5C,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE;IAsDjD;;OAEG;WACU,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAK1E;;;OAGG;WACU,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GACnD,OAAO,CAAC,IAAI,CAAC;IAQhB;;;OAGG;WACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E;;;OAGG;WACU,eAAe,CAC1B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5E,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA0B9C;;OAEG;WACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpE;;OAEG;WACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtD;;OAEG;WACU,OAAO,IAAI,OAAO,CAAC;QAC9B,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,CAAC;CAmBH"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HermesPoolClient — Thin wrapper over the native Hermes credential pool.
|
|
3
|
+
*
|
|
4
|
+
* ╔════════════════════════════════════════════════════════════════════════╗
|
|
5
|
+
* ║ WHY THIS EXISTS ║
|
|
6
|
+
* ║ ║
|
|
7
|
+
* ║ Hermes manages API keys centrally via `hermes auth add <provider>`. ║
|
|
8
|
+
* ║ Credentials are stored in a global pool with automatic rotation ║
|
|
9
|
+
* ║ (round_robin by default) and rate-limit aware failover. ║
|
|
10
|
+
* ║ ║
|
|
11
|
+
* ║ Overmind previously wrote `.env` files with hardcoded credentials per ║
|
|
12
|
+
* ║ profile. That defeated the pool — one key per profile, no rotation, ║
|
|
13
|
+
* ║ no failover. The right approach is to add credentials to the POOL ║
|
|
14
|
+
* ║ and let Hermes resolve them per profile. ║
|
|
15
|
+
* ║ ║
|
|
16
|
+
* ║ Providers in the pool (from `hermes auth list`): ║
|
|
17
|
+
* ║ - anthropic, copilot, deepseek, minimax, minimax-cn, ║
|
|
18
|
+
* ║ openai-api, qwen-oauth, xai, zai ║
|
|
19
|
+
* ║ ║
|
|
20
|
+
* ║ Per-profile: only config.yaml's `model.provider` is needed. ║
|
|
21
|
+
* ║ Hermes resolves the credentials + base_url from the pool automatically. ║
|
|
22
|
+
* ╚════════════════════════════════════════════════════════════════════════╝
|
|
23
|
+
*/
|
|
24
|
+
import { exec } from 'child_process';
|
|
25
|
+
import { promisify } from 'util';
|
|
26
|
+
import { rootLogger } from '../lib/logger.js';
|
|
27
|
+
const execAsync = promisify(exec);
|
|
28
|
+
const logger = rootLogger.child({ module: 'HermesPoolClient' });
|
|
29
|
+
export class HermesPoolClient {
|
|
30
|
+
/**
|
|
31
|
+
* List all providers and their credentials from `hermes auth list`.
|
|
32
|
+
* The output format is:
|
|
33
|
+
*
|
|
34
|
+
* <provider-id> (N credentials):
|
|
35
|
+
* #1 <label> api_key <source> [<status>] [←]
|
|
36
|
+
* #2 <label> api_key <source>
|
|
37
|
+
* ...
|
|
38
|
+
*/
|
|
39
|
+
static async list() {
|
|
40
|
+
const { stdout } = await execAsync('hermes auth list', { timeout: 10000 });
|
|
41
|
+
return this.parseAuthList(stdout);
|
|
42
|
+
}
|
|
43
|
+
static parseAuthList(raw) {
|
|
44
|
+
const providers = [];
|
|
45
|
+
const lines = raw.split(/\r?\n/);
|
|
46
|
+
let current = null;
|
|
47
|
+
for (const line of lines) {
|
|
48
|
+
// Header line: "<provider-id> (N credentials):"
|
|
49
|
+
const headerMatch = line.match(/^([a-z0-9_-]+)\s+\((\d+)\s+credentials?\):\s*$/i);
|
|
50
|
+
if (headerMatch) {
|
|
51
|
+
if (current)
|
|
52
|
+
providers.push(current);
|
|
53
|
+
current = {
|
|
54
|
+
id: headerMatch[1],
|
|
55
|
+
count: parseInt(headerMatch[2], 10),
|
|
56
|
+
hasActive: false,
|
|
57
|
+
credentials: [],
|
|
58
|
+
};
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
// Credential line: " #1 <label> api_key <source> [<status>] [←]"
|
|
62
|
+
const credMatch = line.match(/^\s*#\d+\s+(.+?)\s{2,}api_key\s+(\S+)(?:\s+(.+?))?(?:\s+←)?\s*$/);
|
|
63
|
+
if (credMatch && current) {
|
|
64
|
+
const label = credMatch[1].trim();
|
|
65
|
+
const rawSource = credMatch[2];
|
|
66
|
+
const statusField = credMatch[3]?.trim();
|
|
67
|
+
const active = line.includes('←');
|
|
68
|
+
// Detect source type
|
|
69
|
+
let source = 'unknown';
|
|
70
|
+
if (rawSource.startsWith('env:'))
|
|
71
|
+
source = 'env';
|
|
72
|
+
else if (rawSource === 'manual')
|
|
73
|
+
source = 'manual';
|
|
74
|
+
else if (rawSource === 'oauth')
|
|
75
|
+
source = 'oauth';
|
|
76
|
+
else if (rawSource === 'gh_cli')
|
|
77
|
+
source = 'gh_cli';
|
|
78
|
+
current.credentials.push({
|
|
79
|
+
label,
|
|
80
|
+
source,
|
|
81
|
+
active,
|
|
82
|
+
preview: statusField && /^[a-z]+-/i.test(statusField) ? statusField : undefined,
|
|
83
|
+
status: statusField && (statusField.includes('rate-limited') || statusField.includes('error'))
|
|
84
|
+
? statusField
|
|
85
|
+
: undefined,
|
|
86
|
+
});
|
|
87
|
+
if (active)
|
|
88
|
+
current.hasActive = true;
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (current)
|
|
93
|
+
providers.push(current);
|
|
94
|
+
return providers;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get a specific provider's pool info. Returns null if provider doesn't exist.
|
|
98
|
+
*/
|
|
99
|
+
static async getProvider(providerId) {
|
|
100
|
+
const all = await this.list();
|
|
101
|
+
return all.find((p) => p.id === providerId) ?? null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Add a credential to a provider's pool.
|
|
105
|
+
* Wraps `hermes auth add <provider> --api-key <key> [--inference-url <url>]`.
|
|
106
|
+
*/
|
|
107
|
+
static async addCredential(providerId, apiKey, opts = {}) {
|
|
108
|
+
const args = ['hermes', 'auth', 'add', providerId, '--type', 'api-key', '--api-key', apiKey];
|
|
109
|
+
if (opts.label)
|
|
110
|
+
args.push('--label', opts.label);
|
|
111
|
+
if (opts.inferenceUrl)
|
|
112
|
+
args.push('--inference-url', opts.inferenceUrl);
|
|
113
|
+
await execAsync(args.join(' '), { timeout: 30000 });
|
|
114
|
+
logger.info({ providerId, label: opts.label }, '[POOL] Credential added.');
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Remove a credential from a provider's pool by label.
|
|
118
|
+
* Hermes auth remove uses positional <provider> <label>.
|
|
119
|
+
*/
|
|
120
|
+
static async removeCredential(providerId, label) {
|
|
121
|
+
await execAsync(`hermes auth remove "${providerId}" "${label}"`, { timeout: 15000 });
|
|
122
|
+
logger.info({ providerId, label }, '[POOL] Credential removed.');
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Sync a list of credentials into the pool, deduped by label.
|
|
126
|
+
* Useful for bulk-importing from an Overmind workspace .env.
|
|
127
|
+
*/
|
|
128
|
+
static async syncCredentials(providerId, credentials) {
|
|
129
|
+
const existing = await this.getProvider(providerId);
|
|
130
|
+
const existingLabels = new Set(existing?.credentials.map((c) => c.label) ?? []);
|
|
131
|
+
let added = 0;
|
|
132
|
+
let skipped = 0;
|
|
133
|
+
for (const cred of credentials) {
|
|
134
|
+
const label = cred.label ?? `imported-${Date.now()}-${added}`;
|
|
135
|
+
if (existingLabels.has(label)) {
|
|
136
|
+
skipped++;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
await this.addCredential(providerId, cred.apiKey, {
|
|
141
|
+
label,
|
|
142
|
+
inferenceUrl: cred.inferenceUrl,
|
|
143
|
+
});
|
|
144
|
+
added++;
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
logger.warn({ providerId, label, error: e }, '[POOL] Failed to add credential.');
|
|
148
|
+
skipped++;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return { added, skipped };
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Check if a provider has at least one healthy credential available.
|
|
155
|
+
*/
|
|
156
|
+
static async isProviderHealthy(providerId) {
|
|
157
|
+
const provider = await this.getProvider(providerId);
|
|
158
|
+
return provider?.hasActive ?? false;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* List all healthy providers (at least one non-rate-limited credential).
|
|
162
|
+
*/
|
|
163
|
+
static async listHealthyProviders() {
|
|
164
|
+
const all = await this.list();
|
|
165
|
+
return all.filter((p) => p.hasActive).map((p) => p.id);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Compute a short summary of the pool state — useful for status embeds / dashboards.
|
|
169
|
+
*/
|
|
170
|
+
static async summary() {
|
|
171
|
+
const all = await this.list();
|
|
172
|
+
const healthy = [];
|
|
173
|
+
const rateLimited = [];
|
|
174
|
+
let totalCreds = 0;
|
|
175
|
+
for (const p of all) {
|
|
176
|
+
totalCreds += p.credentials.length;
|
|
177
|
+
if (p.hasActive)
|
|
178
|
+
healthy.push(p.id);
|
|
179
|
+
else
|
|
180
|
+
rateLimited.push(p.id);
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
totalProviders: all.length,
|
|
184
|
+
totalCredentials: totalCreds,
|
|
185
|
+
healthyProviders: healthy,
|
|
186
|
+
rateLimitedProviders: rateLimited,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=HermesPoolClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HermesPoolClient.js","sourceRoot":"","sources":["../../src/services/HermesPoolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,19 +56,28 @@ export declare class HermesProfileManager {
|
|
|
56
56
|
*/
|
|
57
57
|
static parseProfileList(rawOutput: string): HermesProfileInfo[];
|
|
58
58
|
/**
|
|
59
|
-
* Create a new Hermes profile
|
|
59
|
+
* Create a new Hermes profile that uses the NATIVE Hermes credential pool.
|
|
60
60
|
*
|
|
61
61
|
* Steps:
|
|
62
|
-
* 1.
|
|
63
|
-
* 2. hermes
|
|
64
|
-
* 3. hermes -p <name> config set model.
|
|
65
|
-
* 4.
|
|
62
|
+
* 1. Validate provider is healthy in the Hermes pool (round_robin rotation)
|
|
63
|
+
* 2. hermes profile create <name> --no-alias --description "<desc>"
|
|
64
|
+
* 3. hermes -p <name> config set model.provider <provider>
|
|
65
|
+
* 4. hermes -p <name> config set model.model <model>
|
|
66
66
|
* 5. Write SOUL.md with system prompt
|
|
67
67
|
* 6. Optionally set mcp_servers in config.yaml
|
|
68
|
+
* 7. Generate profile.yaml/workspace.yaml/README
|
|
69
|
+
*
|
|
70
|
+
* NOTE: We do NOT write credentials to the profile's .env anymore — Hermes
|
|
71
|
+
* resolves them from the global pool via `hermes auth list`. The profile's
|
|
72
|
+
* .env stays empty (just the placeholder comment Hermes writes by default).
|
|
73
|
+
*
|
|
74
|
+
* If `opts.credentials` is provided, they are added to the GLOBAL POOL via
|
|
75
|
+
* `hermes auth add` (deduped by label) rather than written to the profile.
|
|
68
76
|
*/
|
|
69
77
|
static create(opts: CreateProfileOptions): Promise<{
|
|
70
78
|
profilePath: string;
|
|
71
79
|
soulPath: string;
|
|
80
|
+
provider: string;
|
|
72
81
|
}>;
|
|
73
82
|
/**
|
|
74
83
|
* Delete a Hermes profile permanently.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HermesProfileManager.d.ts","sourceRoot":"","sources":["../../src/services/HermesProfileManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"HermesProfileManager.d.ts","sourceRoot":"","sources":["../../src/services/HermesProfileManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAeH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuBD,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUpC;;OAEG;WACU,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAUjD;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAyB/D;;;;;;;;;;;;;;;;;;OAkBG;WACU,MAAM,CACjB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAsFvE;;OAEG;WACU,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD;;;;;;;;;OASG;WACU,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBjE;;;;;OAKG;WACU,aAAa,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IA2FhB,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAkB/B,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAQjC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAgB1B;;OAEG;WACU,MAAM,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,GACA,OAAO,CAAC,IAAI,CAAC;CAqDjB"}
|