overmind-mcp
Version:
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
279 lines (240 loc) • 8.57 kB
JavaScript
import { z } from 'zod';
export const configExampleSchema = z.object({
provider: z
.enum([
'glm',
'openrouter',
'anthropic',
'overmind',
'hermes-minimax-cn',
'hermes-minimax-global',
'hermes-zai',
'hermes-anthropic',
])
.describe('Le fournisseur pour lequel vous voulez un exemple de configuration.'),
});
/**
* config_example tool — templates de configuration pour v3.3.
*
* Architecture v3.3:
* ~/.overmind/hermes/profiles/<name>/
* ├── config.yaml (provider, model, mcp_servers)
* ├── .env (credentials)
* ├── SOUL.md (system prompt + bloc Mémoire Overmind injecté)
* ├── memories/
* ├── sessions/
* └── skills/
*
* MCP servers:
* 'overmind' = :3099 (14 tools complet)
* 'memory' = :3099 (3 tools restreint mémoire, --memory-only)
* 'postgres' = :5433 (10 tools DB)
*
* OVERMIND_AGENT_NAME est injecté par HermesRunner dans le child env.
* L'isolation mémoire DB (agent_<name>) est automatique.
*/
export async function configExample(args) {
const { provider } = args;
let text = '';
const layout = `
### 🌳 Arborescence v3.3 (générée par create_agent)
\`\`\`
~/.overmind/hermes/profiles/<agent>/
├── config.yaml ← provider + model + mcp_servers
├── .env ← credentials LLM
├── SOUL.md ← system prompt + bloc Mémoire Overmind
├── memories/ ← Hermes native memory
├── sessions/ ← conversation history
└── skills/ ← procedural memory
~/.overmind/
├── .env ← PostgreSQL + global config
├── .mcp.json ← MCP servers (overmind, postgres, etc.)
└── bridge/
└── agents.json ← sessions registry
\`\`\`
### 🔧 MCP servers disponibles
| Nom | Port | Tools | Usage |
|-----|------|-------|-------|
| \`overmind\` | :3099 | 14 | Orchestration complète (run_agent, memory_*, create_agent) |
| \`memory\` | :3099 | 3 | Mémoire seule (--memory-only, memory_search/store/runs) |
| \`postgres\` | :5433 | 10 | PostgreSQL direct (vector, SQL) |
`;
switch (provider) {
// ═══════════════════════════════════════════════════════════════════
// HERMES v3.3 — config.yaml format
// ═══════════════════════════════════════════════════════════════════
case 'hermes-minimax-cn':
text = `🇨🇳 **HERMES + MINIMAX CN** (v3.3)
### 📂 config.yaml
\`\`\`yaml
model:
provider: minimax-cn
model: MiniMax-M3
mcp_servers:
overmind:
url: http://localhost:3099/mcp
\`\`\`
### 📂 .env (credentials)
\`\`\`bash
MINIMAX_CN_API_KEY=sk-cp-...
MINIMAX_CN_BASE_URL=https://api.minimaxi.com/anthropic
\`\`\`
### 📂 SOUL.md
Le bloc **## Mémoire Overmind** est injecté automatiquement par create_agent.
${layout}`;
break;
case 'hermes-minimax-global':
text = `🌍 **HERMES + MINIMAX GLOBAL** (v3.3)
### 📂 config.yaml
\`\`\`yaml
model:
provider: minimax
model: MiniMax-M3
mcp_servers:
overmind:
url: http://localhost:3099/mcp
\`\`\`
### 📂 .env
\`\`\`bash
MINIMAX_API_KEY=sk-cp-...
\`\`\`
Différence vs CN: URL \`api.minimax.io\` (sans le \`i\`).
${layout}`;
break;
case 'hermes-zai':
text = `🤖 **HERMES + Z.AI / GLM** (v3.3)
### 📂 config.yaml
\`\`\`yaml
model:
provider: zai
model: glm-5.1
mcp_servers:
overmind:
url: http://localhost:3099/mcp
\`\`\`
### 📂 .env
\`\`\`bash
GLM_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyy
\`\`\`
Token Z.AI = 32hex ou 32hex.32hex.
${layout}`;
break;
case 'hermes-anthropic':
text = `🅰️ **HERMES + ANTHROPIC OFFICIEL** (v3.3)
### 📂 config.yaml
\`\`\`yaml
model:
provider: anthropic
model: claude-sonnet-4-6
mcp_servers:
overmind:
url: http://localhost:3099/mcp
\`\`\`
### 📂 .env
\`\`\`bash
ANTHROPIC_API_KEY=sk-ant-...
\`\`\`
${layout}`;
break;
// ═══════════════════════════════════════════════════════════════════
// LEGACY: ClaudeRunner / KiloRunner
// ═══════════════════════════════════════════════════════════════════
case 'glm':
text = `🚀 **GLM / Z.AI (CLAUDE RUNNER)** (v3.3)
### 📂 config.yaml
\`\`\`yaml
model:
provider: zai
model: glm-5.1
mcp_servers:
overmind:
url: http://localhost:3099/mcp
\`\`\`
### 📂 .env
\`\`\`bash
ANTHROPIC_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyy
ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic
\`\`\`
> Pour le runner Hermes (préféré), utilisez \`hermes-zai\`.
${layout}`;
break;
case 'anthropic':
text = `🅰️ **CLAUDE RUNNER + ANTHROPIC** (v3.3)
### 📂 config.yaml
\`\`\`yaml
model:
provider: anthropic
model: claude-sonnet-4-6
mcp_servers:
overmind:
url: http://localhost:3099/mcp
\`\`\`
### 📂 .env
\`\`\`bash
ANTHROPIC_API_KEY=sk-ant-...
\`\`\`
${layout}`;
break;
case 'openrouter':
text = `⚠️ **OPENROUTER = EMBEDDINGS UNIQUEMENT** (convention v3.3)
OpenRouter ne doit PAS être utilisé pour l'inférence LLM.
Utilisé uniquement pour \`OVERMIND_EMBEDDING_KEY\` (Qwen3 Embedding 8B).
\`\`\`bash
# Dans ~/.overmind/.env
OVERMIND_EMBEDDING_URL=https://openrouter.ai/api/v1
OVERMIND_EMBEDDING_KEY=sk-or-v1-...
OVERMIND_EMBEDDING_MODEL=qwen/qwen3-embedding-8b
OVERMIND_EMBEDDING_DIMENSIONS=4096
\`\`\`
Pour le LLM, utilisez \`hermes-minimax-cn\` ou \`hermes-zai\`.`;
break;
// ═══════════════════════════════════════════════════════════════════
// OVERMIND: guide complet
// ═══════════════════════════════════════════════════════════════════
case 'overmind':
text = `🎯 **GUIDE COMPLET OVERMIND v3.3**
### Création d'un agent
\`\`\`
create_agent(
name: "mon_agent",
runner: "hermes",
model: "MiniMax-M3",
prompt: "Tu es un expert en..."
)
\`\`\`
create_agent fait automatiquement:
1. Crée le profil Hermes \`~/.overmind/hermes/profiles/mon_agent/\`
2. Détecte le provider depuis le model (MiniMax→minimax-cn, glm→zai, etc.)
3. Configure config.yaml avec provider + model + mcp_servers.overmind
4. Écrit .env avec les credentials
5. Écrit SOUL.md avec le prompt + bloc **## Mémoire Overmind**
### Isolation mémoire automatique
- HermesRunner injecte \`OVERMIND_AGENT_NAME=mon_agent\` dans l'env du child
- \`memory_search\` / \`memory_store\` lisent \`process.env.OVERMIND_AGENT_NAME\`
- PostgresMemoryProvider crée une DB isolée: \`agent_mon_agent\`
- Un agent ne peut PAS voir la mémoire d'un autre agent
### Détection automatique du provider
| Model contient | Provider détecté |
|----------------|------------------|
| minimax, m3 | minimax-cn |
| glm, zai | zai |
| claude, sonnet | anthropic |
| gpt | openai |
| gemini | gemini |
| deepseek | deepseek |
| kimi, moonshot | kimi-coding |
| qwen | alibaba |
| grok, xai | xai |
| (autre) | openrouter |
### MCP servers
- **overmind** (:3099) = 14 tools (run_agent, memory_*, create_agent, etc.)
- **memory-only** (:3099) = 3 tools restreints (memory_search/store/runs, via --memory-only)
- **postgres** (:5433) = 10 tools (SQL direct, vector search)
Pour restreindre un agent à la mémoire seule, utiliser le flag \`--memory-only\` (même port :3099).`;
break;
}
return {
content: [{ type: 'text', text }],
};
}
//# sourceMappingURL=config_example.js.map