spb/ka-guardian
Public
1<!doctype html>2<html lang="fr-CA">3<head>4<meta charset="utf-8">5<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">6<title>Commander — KA Guardian</title>7<meta name="description" content="Poste de commande de l'agent gardien : lancer une session Claude Code 100 % autonome — nouveau connecteur, enrichissement ou inspection des connecteurs dégradés — avec plafonds de durée et de coût.">8<!-- Partage (Open Graph / Twitter) — les jetons __NUM__/__DOMAIN__/__TAGLINE__ sont rendus par agent dans main.py -->9<meta property="og:type" content="website">10<meta property="og:site_name" content="KA Guardian — Groupe KA">11<meta property="og:title" content="Commander — ka·__NUM__ guardian">12<meta property="og:description" content="Donner du travail à l'agent gardien : une session Claude Code 100 % autonome, avec plafonds de durée et de coût.">13<meta property="og:url" content="https://__DOMAIN__/commander">14<meta property="og:image" content="https://__DOMAIN__/og.png">15<meta property="og:image:width" content="2400">16<meta property="og:image:height" content="1260">17<meta property="og:locale" content="fr_CA">18<meta name="twitter:card" content="summary_large_image">19<meta name="twitter:title" content="Commander — ka·__NUM__ guardian">20<meta name="twitter:description" content="Donner du travail à l'agent gardien — plafonds de durée et de coût.">21<meta name="twitter:image" content="https://__DOMAIN__/og.png">22<link rel="icon" type="image/svg+xml" href="/favicon.svg">23<link rel="preconnect" href="https://fonts.googleapis.com">24<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>25<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;600;700&display=swap" rel="stylesheet">26<link rel="stylesheet" href="/static/style.css">27</head>28<body>2930<header class="topbar">31 <a class="wordmark" href="/"><span id="wm-name">ka·—</span><span class="ka">guardian</span></a>32 <nav class="tabs">33 <a class="tab" href="/">⚡ Flux</a>34 <a class="tab active" href="/commander">🎛 Commander</a>35 </nav>36 <nav class="topnav">37 <a class="gk-badge" href="https://www.groupe-ka.com">groupe<b><span class="ka">·KA</span></b></a>38 <span id="siblings"></span>39 </nav>40</header>4142<main class="cmd-page">43 <header class="cmd-hero">44 <p class="klabel" id="hero-label">poste de commande</p>45 <h1>Donne-lui du <span class="hl">travail</span>.</h1>46 <p class="lede">Une session Claude Code <b>100 % autonome</b> démarre sur le nœud de la47 plateforme choisie : elle découvre (Serper), escalade s'il le faut (proxys résidentiels,48 Scrapfly, acteurs Apify), teste pour vrai, committe — et travaille jusqu'au bout sans rien49 demander. Tu fixes la laisse : durée max et budget max. Tout s'affiche dans50 <a href="/" style="font-weight:700; text-decoration:underline; text-underline-offset:4px">le flux ⚡</a>.</p>51 </header>5253 <section class="commander card">54 <form id="effort-form" class="cmd-form">55 <div class="frow frow-3">56 <label class="flab">Type d'effort57 <select id="ef-kind" class="select">58 <option value="effort_new">➕ Nouveau connecteur — découverte + construction</option>59 <option value="effort_enrich">⤴ Enrichir un connecteur existant</option>60 <option value="effort_degrade">🩺 Inspecter les connecteurs dégradés</option>61 </select>62 </label>63 <label class="flab">Plateforme64 <select id="ef-service" class="select"></select>65 </label>66 <label class="flab" id="ef-source-wrap" hidden>Connecteur à enrichir67 <select id="ef-source" class="select"></select>68 </label>69 </div>70 <p class="kind-hint" id="kind-hint"></p>71 <label class="flab">Consigne (optionnel)72 <input id="ef-note" class="input" placeholder="ex.: vise les microbrasseries de la Côte-Nord, ajoute les fiches détail…">73 </label>74 <div class="frow frow-3">75 <label class="flab">Durée max76 <select id="ef-minutes" class="select">77 <option value="30">30 minutes</option>78 <option value="60" selected>1 heure</option>79 <option value="120">2 heures</option>80 <option value="240">4 heures</option>81 </select>82 </label>83 <label class="flab">Coût max (API, estimé en direct)84 <select id="ef-cost" class="select">85 <option value="2">2 $</option>86 <option value="5" selected>5 $</option>87 <option value="10">10 $</option>88 <option value="25">25 $</option>89 <option value="50">50 $</option>90 </select>91 </label>92 <label class="flab">Jeton d'opérateur93 <input id="ef-token" type="password" class="input" placeholder="KA_GUARDIAN_TOKEN" autocomplete="off">94 </label>95 </div>96 <div class="frow frow-end">97 <p class="cmd-note">Plafond atteint → la session s'arrête proprement ; les réparations98 déjà committées et testées sont conservées si la plateforme est saine.</p>99 <button type="submit" class="btn-primary">Lancer l'effort →</button>100 </div>101 <p class="cmd-msg" id="ef-msg"></p>102 </form>103 </section>104105 <section>106 <p class="klabel">efforts commandés récents</p>107 <div id="efforts-list" class="incidents" style="max-height:none"></div>108 </section>109</main>110111<footer class="ka-footer">112 <div class="foot-in">113 <a class="wordmark wordmark-foot" href="/"><span id="foot-name">ka·—</span><span class="ka">guardian</span></a>114 <p class="notice"><b>La laisse est réelle.</b> Chaque effort est plafonné en durée et en coût,115 journalisé action par action, et annulable par rollback git. L'agent travaille seul ;116 il ne décide jamais seul de ce qui compte.</p>117 <p class="legal">Groupe KA — agrégation automatisée, Québec. <a href="https://www.groupe-ka.com">groupe-ka.com</a></p>118 </div>119</footer>120121<script src="/static/commander.js"></script>122</body>123</html>124