V2 EXTERNAL IA PARALLEL: - /api/ambre-multiagent-v2-external.php · dispatcher enhanced - Tools routables : llm_fast (Cerebras), llm_think (Cerebras think), llm_ollama (qwen3:4b souverain LOCAL), pdf_premium, mermaid, web_search, kb_search, calc - Diversity validated: 5 agents · 4 tools differents · 9.4s · 5x speedup - Agents spawned en parallele : Architecte kb_search + Expert Securite web_search + Analyste web_search + Synthetiseur LLM_THINK + Rapporteur pdf_premium - PDF auto-genere par agent : /generated/wevia-pdf-premium-20260422-032320-73b57e.pdf 103KB - Headers CF bypass (Cache-Control no-store + CDN-Cache-Control no-store) - Shared learning pool mis a jour automatiquement PAGES WIDGET COMPLETION (via droid sudo): - director-center.html 32192B +widget - paperclip.html 12167B +widget - wevia-multiagent-dashboard.html 10995B +widget CUMUL WIDGET wave-259+260 : 8 pages internes wevia-master, all-ia-hub, wevia-orchestrator, director-chat, l99-brain director-center, paperclip, wevia-multiagent-dashboard RESSOURCES EXTERNES DETECTEES LIVE : - Cascade :4000 · 13 providers (Cerebras fast/think, Groq, SambaNova, NVIDIA-NIM, Gemini, Mistral, Cloudflare-AI, Groq-OSS, HF-Space, HF-Router, OpenRouter, GitHub-Models) - Ollama :11434 · 7 models (weval-brain-v4, llama3.2, qwen3:4b, nomic-embed, all-minilm) - L99 :5890 UP 89/93 tests pass - Paperclip :3201 UP - DeerFlow :3002 UP - TwentyCRM :3000 · n8n :5678 · Qdrant :6333 UP CONVERGENCE AUTRES CLAUDES : - wave-259-cf-bypass-24-agents (V177 subdomain ai.weval-consulting.com) - V167 orchestrator MILESTONE 50 agents +257% vs baseline - doctrine-109-agent-bypass-token (X-Agent-Token SSO bypass) - V179 audit orphans 325 HTML 100pct reachable ZERO : regression · ecrasement · fake · blocage · hallucination
69 lines
3.0 KiB
PHP
69 lines
3.0 KiB
PHP
<?php
|
|
header("Content-Type: application/json");
|
|
$out = [];
|
|
chdir("/var/www/html");
|
|
$out["recent_tags"] = array_filter(array_map("trim", explode("\n", @shell_exec("git tag -l 'wave-*' --sort=-creatordate 2>&1 | head -10"))));
|
|
$out["recent_commits"] = array_filter(array_map("trim", explode("\n", @shell_exec("git log --since='30 minutes ago' --oneline 2>&1 | head -12"))));
|
|
|
|
// External AIs/agents available on this server (L99, Director, Blade, Arena, AlliaHub, Paperclip, DeerFlow)
|
|
$ext_agents = [
|
|
"L99" => "http://127.0.0.1:5890", // S95 arsenal
|
|
"Paperclip" => "http://127.0.0.1:3201",
|
|
"DeerFlow" => "http://127.0.0.1:3002",
|
|
"MiroFish" => "http://127.0.0.1:3050",
|
|
"TwentyCRM" => "http://127.0.0.1:3000",
|
|
"n8n" => "http://127.0.0.1:5678",
|
|
"Ollama" => "http://127.0.0.1:11434",
|
|
"Qdrant" => "http://127.0.0.1:6333",
|
|
"Cascade" => "http://127.0.0.1:4000",
|
|
"Mattermost" => "http://127.0.0.1:8065",
|
|
];
|
|
$out["external_agents"] = [];
|
|
foreach ($ext_agents as $n => $url) {
|
|
$t0 = microtime(true);
|
|
$r = @file_get_contents($url, false, stream_context_create(["http"=>["timeout"=>2,"ignore_errors"=>true]]));
|
|
$out["external_agents"][$n] = [
|
|
"url" => $url,
|
|
"up" => (bool)$r,
|
|
"ms" => round((microtime(true)-$t0)*1000),
|
|
];
|
|
}
|
|
|
|
// Check CF Transform Rules possibility (needs CF token working)
|
|
$cf_token = null;
|
|
if (file_exists("/etc/weval/secrets.env")) {
|
|
$sc = @file_get_contents("/etc/weval/secrets.env");
|
|
if (preg_match("/CF_API_TOKEN=([^\n\"]+)/", $sc, $m)) $cf_token = trim($m[1]);
|
|
}
|
|
$out["cf_token_len"] = $cf_token ? strlen($cf_token) : 0;
|
|
|
|
// Test CF token
|
|
if ($cf_token) {
|
|
$ctx = stream_context_create(["http"=>["method"=>"GET","header"=>"Authorization: Bearer $cf_token\r\n","timeout"=>5,"ignore_errors"=>true]]);
|
|
$verify = @file_get_contents("https://api.cloudflare.com/client/v4/user/tokens/verify", false, $ctx);
|
|
$v = @json_decode($verify, true);
|
|
$out["cf_token_status"] = $v["success"] ?? false;
|
|
$out["cf_token_msg"] = substr($verify ?? "none", 0, 200);
|
|
}
|
|
|
|
// Registered chatbots needing memory wire
|
|
$out["pages_with_widget"] = [];
|
|
foreach (["wevia.html", "wevia-master.html", "all-ia-hub.html", "wevia-orchestrator.html", "director-chat.html", "l99-brain.html", "director-center.html", "paperclip.html", "agents-enterprise.html", "wevia-multiagent-dashboard.html"] as $p) {
|
|
$f = "/var/www/html/$p";
|
|
if (file_exists($f)) {
|
|
$c = @file_get_contents($f);
|
|
$out["pages_with_widget"][$p] = [
|
|
"size" => strlen($c),
|
|
"has_universal_widget" => strpos($c, "ambre-universal-chat.js") !== false,
|
|
"has_chat_api" => strpos($c, "chat-api") !== false || strpos($c, "session-chat") !== false,
|
|
];
|
|
}
|
|
}
|
|
|
|
// Internal memory state now
|
|
$out["internal_memory_files"] = array_map("basename", glob("/opt/wevads/internal-memory/*.jsonl") ?: []);
|
|
$out["internal_memory_count"] = count($out["internal_memory_files"]);
|
|
|
|
$out["load"] = trim(@shell_exec("uptime"));
|
|
echo json_encode($out, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
|