spb/ka-guardian
Public
Python 57.1%
Shell 13.8%
CSS 12%
JavaScript 10%
HTML 7.2%
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" href="/favicon.ico" sizes="48x48">23<link rel="icon" type="image/svg+xml" href="/favicon.svg">24<link rel="icon" type="image/png" sizes="32x32" href="/favicon.png">25<link rel="preconnect" href="https://fonts.googleapis.com">26<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>27<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">28<link rel="stylesheet" href="/static/style.css">29</head>30<body>3132<header class="topbar">33 <a class="wordmark" href="/"><span id="wm-name">ka·—</span><span class="ka">guardian</span></a>34 <nav class="tabs">35 <a class="tab" href="/">⚡ Flux</a>36 <a class="tab active" href="/commander">🎛 Commander</a>37 </nav>38 <nav class="topnav">39 <a class="gk-badge" href="https://www.groupe-ka.com">groupe<b><span class="ka">·KA</span></b></a>40 <span id="siblings"></span>41 </nav>42</header>4344<main class="cmd-page">45 <header class="cmd-hero">46 <p class="klabel" id="hero-label">poste de commande</p>47 <h1>Donne-lui du <span class="hl">travail</span>.</h1>48 <p class="lede">Une session Claude Code <b>100 % autonome</b> démarre sur le nœud de la49 plateforme choisie : elle découvre (Serper), escalade s'il le faut (proxys résidentiels,50 Scrapfly, acteurs Apify), teste pour vrai, committe — et travaille jusqu'au bout sans rien51 demander. Tu fixes la laisse : durée max et budget max. Tout s'affiche dans52 <a href="/" style="font-weight:700; text-decoration:underline; text-underline-offset:4px">le flux ⚡</a>.</p>53 </header>5455 <section class="commander card">56 <form id="effort-form" class="cmd-form">57 <div class="frow frow-3">58 <label class="flab">Type d'effort59 <select id="ef-kind" class="select">60 <option value="effort_new">➕ Nouveau connecteur — découverte + construction</option>61 <option value="effort_enrich">⤴ Enrichir un connecteur existant</option>62 <option value="effort_degrade">🩺 Inspecter les connecteurs dégradés</option>63 </select>64 </label>65 <label class="flab">Plateforme66 <select id="ef-service" class="select"></select>67 </label>68 <label class="flab" id="ef-source-wrap" hidden>Connecteur à enrichir69 <select id="ef-source" class="select"></select>70 </label>71 </div>72 <p class="kind-hint" id="kind-hint"></p>73 <label class="flab">Consigne (optionnel)74 <input id="ef-note" class="input" placeholder="ex.: vise les microbrasseries de la Côte-Nord, ajoute les fiches détail…">75 </label>76 <div class="frow frow-3">77 <label class="flab">Durée max78 <select id="ef-minutes" class="select">79 <option value="30">30 minutes</option>80 <option value="60" selected>1 heure</option>81 <option value="120">2 heures</option>82 <option value="240">4 heures</option>83 </select>84 </label>85 <label class="flab">Coût max (API, estimé en direct)86 <select id="ef-cost" class="select">87 <option value="2">2 $</option>88 <option value="5" selected>5 $</option>89 <option value="10">10 $</option>90 <option value="25">25 $</option>91 <option value="50">50 $</option>92 </select>93 </label>94 <label class="flab">Jeton d'opérateur95 <input id="ef-token" type="password" class="input" placeholder="KA_GUARDIAN_TOKEN" autocomplete="off">96 </label>97 </div>98 <div class="frow frow-end">99 <p class="cmd-note">Plafond atteint → la session s'arrête proprement ; les réparations100 déjà committées et testées sont conservées si la plateforme est saine.</p>101 <button type="submit" class="btn-primary">Lancer l'effort →</button>102 </div>103 <p class="cmd-msg" id="ef-msg"></p>104 </form>105 </section>106107 <section>108 <p class="klabel">efforts commandés récents</p>109 <div id="efforts-list" class="incidents" style="max-height:none"></div>110 </section>111</main>112113<footer class="ka-footer">114 <div class="foot-in">115 <a class="wordmark wordmark-foot" href="/"><span id="foot-name">ka·—</span><span class="ka">guardian</span></a>116 <p class="notice"><b>La laisse est réelle.</b> Chaque effort est plafonné en durée et en coût,117 journalisé action par action, et annulable par rollback git. L'agent travaille seul ;118 il ne décide jamais seul de ce qui compte.</p>119 <p class="legal">Groupe KA — agrégation automatisée, Québec. <a href="https://www.groupe-ka.com">groupe-ka.com</a></p>120 </div>121</footer>122123<script src="/static/commander.js"></script>124</body>125</html>126