127 lines
8.3 KiB
PHP
127 lines
8.3 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
header('Access-Control-Allow-Origin: *');
|
|
|
|
$agents = [
|
|
// CORE AGENTS (existing 23)
|
|
["name"=>"Infra Agent","desc"=>"Load, disk, memory, services","cat"=>"core","status"=>"ready","icon"=>"🔧"],
|
|
["name"=>"Sovereign Agent","desc"=>"12 IA providers cascade","cat"=>"core","status"=>"ready","icon"=>"🧠"],
|
|
["name"=>"NonReg Agent","desc"=>"152/152 quality tests","cat"=>"core","status"=>"ready","icon"=>"✅"],
|
|
["name"=>"Ethica Agent","desc"=>"141K HCPs DZ/MA/TN","cat"=>"core","status"=>"ready","icon"=>"👨⚕️"],
|
|
["name"=>"Git Agent","desc"=>"Commit, push, status","cat"=>"core","status"=>"ready","icon"=>"📁"],
|
|
["name"=>"Vault Agent","desc"=>"1181 files, 44 GOLD","cat"=>"core","status"=>"ready","icon"=>"🔒"],
|
|
["name"=>"Docker Agent","desc"=>"10 containers management","cat"=>"core","status"=>"ready","icon"=>"🐳"],
|
|
["name"=>"Scraper Agent","desc"=>"DabaDoc, CNAM, CRONC","cat"=>"core","status"=>"ready","icon"=>"🕷️"],
|
|
["name"=>"Crons Agent","desc"=>"S204:4 S95:6 scheduled","cat"=>"core","status"=>"ready","icon"=>"⏰"],
|
|
["name"=>"S95 Agent","desc"=>"Remote server via SSH","cat"=>"core","status"=>"ready","icon"=>"🖥️"],
|
|
["name"=>"Security Agent","desc"=>"CrowdSec, AEGIS, Nuclei","cat"=>"core","status"=>"ready","icon"=>"🛡️"],
|
|
["name"=>"Paperclip Agent","desc"=>"CEO 890 agents","cat"=>"core","status"=>"ready","icon"=>"📎"],
|
|
["name"=>"OSS Discovery","desc"=>"71 tools 67 wired 94%","cat"=>"core","status"=>"ready","icon"=>"🔍"],
|
|
["name"=>"WEDROID Agent","desc"=>"Backend diag+fix 8 APIs","cat"=>"core","status"=>"ready","icon"=>"🤖"],
|
|
["name"=>"WEVCODE Agent","desc"=>"Code Assistant 4 modes","cat"=>"core","status"=>"ready","icon"=>"💻"],
|
|
["name"=>"Director Agent","desc"=>"312 services monitored","cat"=>"core","status"=>"ready","icon"=>"🎬"],
|
|
["name"=>"OpenClaw Agent","desc"=>"AI Gateway Council","cat"=>"core","status"=>"ready","icon"=>"🦑"],
|
|
["name"=>"Consensus Agent","desc"=>"Multi-IA voting","cat"=>"core","status"=>"ready","icon"=>"🤝"],
|
|
["name"=>"Blade IA Agent","desc"=>"Razer 34 capabilities","cat"=>"core","status"=>"ready","icon"=>"🗡️"],
|
|
["name"=>"DeerFlow Agent","desc"=>"828 skills research","cat"=>"core","status"=>"ready","icon"=>"🦌"],
|
|
["name"=>"Hermes Agent","desc"=>"26 skills automation","cat"=>"core","status"=>"ready","icon"=>"⚡"],
|
|
["name"=>"L99 Agent","desc"=>"177 pages 1236 wiki","cat"=>"core","status"=>"ready","icon"=>"📊"],
|
|
["name"=>"Playwright Agent","desc"=>"16/16 visual tests","cat"=>"core","status"=>"ready","icon"=>"🎭"],
|
|
["name"=>"Multi-Agent Orchestrator","desc"=>"15 agents parallel SSE, V102 regex, natural language V103","cat"=>"core","status"=>"ready","icon"=>""],
|
|
["name"=>"Training Hub","desc"=>"Fine-tune HF yace222/weval-brain-v4, Qdrant KB, cognitive-opus46 635 functions","cat"=>"core","status"=>"ready","icon"=>""],
|
|
["name"=>"All-IA Hub","desc"=>"Combines wevia-master + wevcode + arena + opus-replacement streaming","cat"=>"core","status"=>"ready","icon"=>""],
|
|
["name"=>"WEVIA Master Streaming","desc"=>"SSE getReader timeout 1h, multi-agent, tool exec, session+files","cat"=>"core","status"=>"ready","icon"=>""],
|
|
["name"=>"Arena Multi-Provider","desc"=>"14 providers cascade: cerebras/groq/gemini/sambanova/nvidia/mistral/hf/openrouter/github/cf","cat"=>"core","status"=>"ready","icon"=>""],
|
|
|
|
|
|
// OH-MY-CLAUDECODE AGENTS (19)
|
|
["name"=>"Architect","desc"=>"System design, boundaries, interfaces","cat"=>"claudecode","status"=>"ready","icon"=>"🏗️"],
|
|
["name"=>"Executor","desc"=>"Code implementation, refactoring","cat"=>"claudecode","status"=>"ready","icon"=>"⚙️"],
|
|
["name"=>"Debugger","desc"=>"Root-cause analysis, failure diagnosis","cat"=>"claudecode","status"=>"ready","icon"=>"🐛"],
|
|
["name"=>"Test Engineer","desc"=>"Test strategy, coverage, TDD","cat"=>"claudecode","status"=>"ready","icon"=>"🧪"],
|
|
["name"=>"Planner","desc"=>"Task sequencing, execution plans","cat"=>"claudecode","status"=>"ready","icon"=>"📋"],
|
|
["name"=>"Code Reviewer","desc"=>"Logic defects, anti-patterns","cat"=>"claudecode","status"=>"ready","icon"=>"👁️"],
|
|
["name"=>"Security Reviewer","desc"=>"Vulnerabilities, trust boundaries","cat"=>"claudecode","status"=>"ready","icon"=>"🔐"],
|
|
["name"=>"API Reviewer","desc"=>"API contracts, versioning","cat"=>"claudecode","status"=>"ready","icon"=>"🔌"],
|
|
["name"=>"Performance Reviewer","desc"=>"Hotspots, optimization","cat"=>"claudecode","status"=>"ready","icon"=>"🚀"],
|
|
["name"=>"Explorer","desc"=>"Fast codebase search, mapping","cat"=>"claudecode","status"=>"ready","icon"=>"🔍"],
|
|
["name"=>"Analyst","desc"=>"Requirements, acceptance criteria","cat"=>"claudecode","status"=>"ready","icon"=>"📊"],
|
|
["name"=>"Verifier","desc"=>"Completion evidence, validation","cat"=>"claudecode","status"=>"ready","icon"=>"✔️"],
|
|
["name"=>"Writer","desc"=>"Docs, migration notes, guidance","cat"=>"claudecode","status"=>"ready","icon"=>"📝"],
|
|
["name"=>"Designer","desc"=>"UX/UI architecture, interaction","cat"=>"claudecode","status"=>"ready","icon"=>"🎨"],
|
|
["name"=>"Product Manager","desc"=>"PRD, personas, JTBD","cat"=>"claudecode","status"=>"ready","icon"=>"📦"],
|
|
["name"=>"UX Researcher","desc"=>"Heuristic audits, accessibility","cat"=>"claudecode","status"=>"ready","icon"=>"🔬"],
|
|
["name"=>"Git Master","desc"=>"Commit strategy, history","cat"=>"claudecode","status"=>"ready","icon"=>"🌿"],
|
|
["name"=>"Researcher","desc"=>"External docs and references","cat"=>"claudecode","status"=>"ready","icon"=>"📚"],
|
|
["name"=>"Critic","desc"=>"Plan/design critical challenge","cat"=>"claudecode","status"=>"ready","icon"=>"⚖️"],
|
|
];
|
|
|
|
// Add DeerFlow skills as agents
|
|
$df_skills = glob("/opt/deer-flow/skills/weval/*/");
|
|
foreach (array_slice($df_skills, 0, 50) as $s) {
|
|
$name = basename($s);
|
|
if ($name && $name[0] !== '.') {
|
|
$agents[] = ["name"=>"DF: $name","desc"=>"DeerFlow skill","cat"=>"deerflow","status"=>"ready","icon"=>"🦌"];
|
|
}
|
|
}
|
|
|
|
// Add Hermes skills
|
|
$hm = glob("/var/www/weval/skills/hermes/*/");
|
|
foreach ($hm as $s) {
|
|
$name = basename($s);
|
|
$agents[] = ["name"=>"Hermes: $name","desc"=>"Hermes skill","cat"=>"hermes","status"=>"ready","icon"=>"⚡"];
|
|
}
|
|
|
|
// SuperClaude agents
|
|
$sc = ["Brainstorming","BusinessPanel","DeepResearch","Introspection","Orchestration","TaskManager","TokenEfficiency"];
|
|
foreach ($sc as $s) {
|
|
$agents[] = ["name"=>"SC: $s","desc"=>"SuperClaude agent","cat"=>"superclaude","status"=>"ready","icon"=>"🧬"];
|
|
}
|
|
|
|
// Skills
|
|
$skills = ["ralph","autopilot","ultrawork","team","plan","deep-interview","ralplan","ecomode","visual-verdict","web-clone","ultraqa","ai-slop-cleaner"];
|
|
foreach ($skills as $s) {
|
|
$agents[] = ["name"=>"Skill: $s","desc"=>"oh-my-claudecode workflow","cat"=>"skills","status"=>"ready","icon"=>"⚡"];
|
|
}
|
|
|
|
// V101 BUSINESS AGENTS - parse enterprise-model.html AG variable (572 agents post-V93)
|
|
$em_path = "/var/www/html/enterprise-model.html";
|
|
if (file_exists($em_path)) {
|
|
$em = file_get_contents($em_path);
|
|
// Extract agent names: {n:'Agent Name',rm:'dept',...
|
|
preg_match_all("/\{n:'([^']+)',rm:'([^']+)'/", $em, $m);
|
|
$added_biz = 0;
|
|
$seen = [];
|
|
for ($i = 0; $i < count($m[1]); $i++) {
|
|
$name = $m[1][$i];
|
|
$dept = $m[2][$i];
|
|
if ($dept === "dead") continue; // Skip dead agents (V93 fix)
|
|
if (isset($seen[$name])) continue; // Dedup
|
|
$seen[$name] = 1;
|
|
$agents[] = ["name" => $name, "desc" => "Business agent - dept: $dept", "cat" => "business", "status" => "ready", "icon" => ""];
|
|
$added_biz++;
|
|
}
|
|
// Also parse big4 domains
|
|
$big4 = "/var/www/html/wevia-em-big4.html";
|
|
if (file_exists($big4)) {
|
|
$b = file_get_contents($big4);
|
|
preg_match_all("/\{n:'([^']+)'/", $b, $mb);
|
|
foreach (array_unique($mb[1]) as $dom) {
|
|
if (!isset($seen[$dom])) {
|
|
$agents[] = ["name" => "Big4: $dom", "desc" => "Big4 Enterprise Model domain", "cat" => "big4", "status" => "ready", "icon" => ""];
|
|
$seen[$dom] = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Categories count
|
|
$cats = [];
|
|
foreach ($agents as $a) $cats[$a["cat"]] = ($cats[$a["cat"]] ?? 0) + 1;
|
|
|
|
echo json_encode([
|
|
"total" => count($agents),
|
|
"categories" => $cats,
|
|
"agents" => $agents
|
|
], JSON_UNESCAPED_UNICODE);
|