{"id":7883,"date":"2026-11-05T12:04:40","date_gmt":"2026-11-05T12:04:40","guid":{"rendered":"https:\/\/www.wiven.ai\/?page_id=7883"},"modified":"2026-11-05T13:15:47","modified_gmt":"2026-11-05T13:15:47","slug":"demo-agenthub-connect","status":"publish","type":"page","link":"https:\/\/www.wiven.ai\/en\/demo-agenthub-connect\/","title":{"rendered":"D\u00e9mo AgentHub Connect"},"content":{"rendered":"<style>\nhtml,body{overflow:hidden !important;height:100%}\n.ahd{--bg:#f5f5f7;--fg:#1d1d1f;--muted:#ececf0;--mfg:#6e6e73;--card:#fff;--border:#e3e3e8;--line:#f0f0f2;--hover:#fafafb;--sub:#f7f7f8;--side:#ececef;--primary:#1d7a35;--brand:#2dbe4e;--brandfg:#04140a;--brandsoft:#e7f5ea;--ink:#151718;--success:#1d7a35;--warning:#9a5600;--warnsoft:#fff3df;--danger:#c4161c;--ondanger:#fff;--dangersoft:#fdeceb;--info:#0063c6;--infosoft:#e8f1fc;--shadow:0 0.5px 1px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.05)}\n.ahd.dk{--bg:#000;--fg:#f5f5f7;--muted:#2c2c2e;--mfg:#98989f;--card:#1c1c1e;--border:#38383a;--line:#2c2c2e;--hover:#242426;--sub:#2c2c2e;--side:#161618;--primary:#2dbe4e;--brandsoft:#12301b;--ink:#fff;--success:#4fd06b;--warning:#ffb340;--warnsoft:#33250c;--danger:#ff6961;--ondanger:#2a0504;--dangersoft:#3a1413;--info:#64a8ff;--infosoft:#102640;--shadow:0 0 0 0.5px rgba(255,255,255,.06)}\n.ahd{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font-family:Inter,\"Inter Fallback\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,Roboto,Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;z-index:1;transition:background .25s ease,color .25s ease}\n.ahd *{box-sizing:border-box}\n.ahd button{font-family:inherit;cursor:pointer;justify-content:flex-start;line-height:1.3;text-transform:none;letter-spacing:normal;min-height:0;height:auto;box-sizing:border-box}\n.ahd .ahd-btn,.ahd .ahd-tour button,.ahd .ahd-mnav button,.ahd .ahd-stopbar button,.ahd .ahd-theme{justify-content:center;display:inline-flex;align-items:center}\n.ahd .ahd-vi,.ahd .ahd-back{display:block}\n.ahd p{margin:0}\n.ahd h1,.ahd h2,.ahd h3{margin:0;color:var(--fg);font-family:inherit}\n.ahd-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#101010;padding:8px 14px;min-height:50px}\n.ahd-badge{display:flex;align-items:center;gap:8px;min-width:0;color:#fff;font-size:13px}\n.ahd-badge i{width:8px;height:8px;border-radius:50%;background:#2DBE4E;flex:none;box-shadow:0 0 0 3px rgba(45,190,78,.18)}\n.ahd-badge b{font-weight:600;white-space:nowrap}\n.ahd-badge small{color:rgba(255,255,255,.55);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.ahd-tour{display:flex;gap:4px;background:rgba(255,255,255,.07);border-radius:999px;padding:3px}\n.ahd-tour button{border:0;background:transparent;color:rgba(255,255,255,.75);font-size:12.5px;font-weight:500;border-radius:999px;padding:5px 13px;white-space:nowrap;transition:background .2s ease,color .2s ease}\n.ahd-tour button:hover{color:#fff;background:rgba(255,255,255,.08)}\n.ahd-tour button.on{background:#2DBE4E;color:#04140a}\n.ahd-cta{color:#43d364;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap}\n.ahd-cta:hover{color:#6be08a}\n.ahd-app{flex:1;display:flex;min-height:0}\n.ahd-side{flex:none;width:224px;background:var(--side);display:flex;flex-direction:column;padding:20px 12px 16px;transition:background .25s ease}\n.ahd-logo{display:flex;align-items:center;gap:10px;padding:0 10px 26px}\n.ahd-logo svg{display:block;flex:none}\n.ahd-logo .li{fill:var(--ink)}.ahd-logo .lb{fill:var(--brand)}\n.ahd-logo b{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.15}\n.ahd-logo small{display:block;font-size:12px;color:var(--mfg)}\n.ahd-nav{display:flex;flex-direction:column;gap:1px;overflow-y:auto}\n.ahd-nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--fg);font-size:13px;font-weight:400;text-align:left;border-radius:8px;padding:7px 10px;transition:background .15s ease}\n.ahd-nav button:hover{background:rgba(127,127,127,.12)}\n.ahd-nav button.on{background:var(--brand);color:var(--brandfg);font-weight:500}\n.ahd-nav svg{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--primary)}\n.ahd-nav button.on svg{color:var(--brandfg)}\n.ahd-nav em{margin-left:auto;font-style:normal;font-size:11px;font-weight:600;background:var(--danger);color:var(--ondanger);border-radius:999px;padding:1px 7px}\n.ahd-nav button.on em{background:var(--brandfg);color:var(--brand)}\n.ahd-nav em.z{display:none}\n.ahd-foot{margin-top:auto;font-size:11.5px;color:var(--mfg);padding:10px 10px 0}\n.ahd-main{flex:1;min-width:0;display:flex;flex-direction:column}\n.ahd-hd{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 28px}\n.ahd-search{display:flex;align-items:center;gap:8px;background:var(--muted);border-radius:8px;padding:6px 10px;width:236px;color:var(--mfg);font-size:13px}\n.ahd-search kbd{margin-left:auto;font-family:inherit;font-size:11px;background:var(--card);border-radius:4px;padding:0 5px;color:var(--mfg)}\n.ahd-hr{display:flex;align-items:center;gap:14px}\n.ahd-user{display:flex;align-items:center;gap:9px;font-size:13px}\n.ahd-user span{width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--brandfg);font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center}\n.ahd-user small{display:block;font-size:11.5px;color:var(--mfg)}\n.ahd .ahd-theme{border:0;background:transparent;color:var(--fg);width:32px;height:32px;border-radius:8px;padding:0}\n.ahd-theme:hover{background:rgba(127,127,127,.14)}\n.ahd-theme svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\n.ahd-theme .sun{display:none}.ahd.dk .ahd-theme .sun{display:block}.ahd.dk .ahd-theme .moon{display:none}\n.ahd-scroll{flex:1;overflow-y:auto;padding:4px 28px 40px}\n.ahd-wrap{max-width:980px;margin:0 auto}\n.ahd-stopbar{display:none;align-items:center;justify-content:space-between;gap:12px;background:var(--dangersoft);color:var(--danger);border-radius:12px;padding:11px 14px;margin:0 0 18px;font-size:13.5px;font-weight:500}\n.ahd.stopped .ahd-stopbar{display:flex}\n.ahd-stopbar button{border:0;background:var(--danger);color:var(--ondanger);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}\n.ahd-v{display:none}\n.ahd-v.on{display:block;animation:ahdIn .25s ease}\n@keyframes ahdIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}\n.ahd-ph{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:10px 0 22px}\n.ahd-ph h1{font-size:28px;font-weight:650;letter-spacing:-.02em;line-height:1.15}\n.ahd-ph p{color:var(--mfg);font-size:13.5px;margin-top:4px;max-width:640px}\n.ahd-btn{border:0;border-radius:8px;padding:8px 13px;font-size:13px;font-weight:500;background:var(--primary);color:#fff;white-space:nowrap;transition:filter .15s ease,transform .1s ease}\n.ahd.dk .ahd-btn{color:var(--brandfg)}\n.ahd-btn:hover{filter:brightness(1.08)}\n.ahd-btn:active{transform:scale(.97)}\n.ahd .ahd-btn.g{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--border)}\n.ahd .ahd-btn.r,.ahd .ahd-btn.rr{background:var(--danger);color:var(--ondanger);font-weight:600}\n.ahd .ahd-stopbtn{height:36px;padding:0 16px;font-size:14px;gap:7px}\n.ahd-stopbtn svg{width:18px;height:18px;fill:currentColor}\n.ahd-btn[disabled]{opacity:.45;cursor:default}\n.ahd-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px}\n.ahd-kpi{background:var(--card);border-radius:12px;padding:16px;box-shadow:var(--shadow)}\n.ahd-kpi i{display:flex;width:28px;height:28px;border-radius:8px;align-items:center;justify-content:center;margin-bottom:10px}\n.ahd-kpi i svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.ahd-kpi b{display:block;font-size:24px;font-weight:600;line-height:1.1;letter-spacing:-.01em}\n.ahd-kpi span{display:block;font-size:12.5px;font-weight:500;margin-top:4px}\n.ahd-kpi small{display:block;font-size:11.5px;color:var(--mfg);margin-top:2px}\n.ic-g{background:var(--brandsoft);color:var(--success)}.ic-o{background:var(--warnsoft);color:var(--warning)}.ic-r{background:var(--dangersoft);color:var(--danger)}.ic-b{background:var(--infosoft);color:var(--info)}\n.ahd-card{background:var(--card);border-radius:12px;box-shadow:var(--shadow);margin:0 0 16px;overflow:hidden}\n.ahd-ch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 8px}\n.ahd-ch h2{font-size:14.5px;font-weight:600}\n.ahd-ch p{font-size:12.5px;color:var(--mfg)}\n.ahd-live{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--success);font-weight:500;margin-left:8px}\n.ahd-live::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--brand);animation:ahdPulse 1.6s ease infinite}\n.ahd.stopped .ahd-live{color:var(--danger)}\n.ahd.stopped .ahd-live::before{background:var(--danger);animation:none}\n@keyframes ahdPulse{0%,100%{opacity:1}50%{opacity:.35}}\n.ahd-tw{overflow-x:auto}\n.ahd table{width:100%;border-collapse:collapse;font-size:13px}\n.ahd th{text-align:left;font-weight:500;color:var(--mfg);font-size:12px;padding:8px 16px;white-space:nowrap}\n.ahd td{padding:10px 16px;border-top:1px solid var(--line);white-space:nowrap;vertical-align:middle;color:var(--fg)}\n.ahd td.r,.ahd th.r{text-align:right}\n.ahd table,.ahd th,.ahd td{border:0}.ahd table{margin:0}.ahd td{border-top:1px solid var(--line)}\n.ahd tr.cl{cursor:pointer;transition:background .15s ease}\n.ahd tr.cl:hover td{background:var(--hover)}\n.ahd tr.new td{animation:ahdNew 1.6s ease}\n@keyframes ahdNew{from{background:var(--brandsoft)}to{background:transparent}}\n.ahd-pill{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;border-radius:999px;padding:3px 8px;white-space:nowrap}\n.p-g{background:var(--brandsoft);color:var(--success)}.p-o{background:var(--warnsoft);color:var(--warning)}.p-r{background:var(--dangersoft);color:var(--danger)}.p-b{background:var(--infosoft);color:var(--info)}.p-n{background:var(--muted);color:var(--mfg)}\n.ahd-mono{font-family:\"SF Mono\",ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--mfg)}\n.ahd .ahd-muted{color:var(--mfg)}\n.ahd-vgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px;align-items:start}\n.ahd-vl{display:flex;flex-direction:column;gap:8px}\n.ahd-vi{background:var(--card);border-radius:12px;padding:13px 14px;box-shadow:var(--shadow);border:0;text-align:left;width:100%;color:var(--fg);transition:box-shadow .15s ease}\n.ahd-vi.on{box-shadow:0 0 0 2px var(--primary)}\n.ahd-vi b{display:block;font-size:13.5px;font-weight:600;margin:4px 0 2px}\n.ahd-vi small{font-size:12px;color:var(--mfg)}\n.ahd-vd{background:var(--card);border-radius:12px;padding:18px;box-shadow:var(--shadow)}\n.ahd-vd h3{font-size:17px;font-weight:600;margin:6px 0 2px}\n.ahd-amt{font-size:26px;font-weight:650;letter-spacing:-.02em;margin:10px 0 2px}\n.ahd-lines{margin:14px 0;border-radius:10px;background:var(--sub);padding:4px 12px}\n.ahd-lines div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:13px;border-top:1px solid var(--border)}\n.ahd-lines div:first-child{border-top:0}\n.ahd-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 14px}\n.ahd-checks span{display:flex;align-items:center;gap:7px;font-size:12.5px;background:var(--sub);border-radius:8px;padding:7px 10px}\n.ahd-checks span::before{content:\"\u2713\";color:var(--success);font-weight:700}\n.ahd-checks span.w{background:var(--warnsoft);color:var(--warning)}\n.ahd-checks span.w::before{content:\"!\";color:var(--warning)}\n.ahd-gw{font-size:12px;color:var(--mfg);margin:0 0 14px}\n.ahd-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.ahd-acts small{color:var(--mfg);font-size:11.5px;margin-left:auto}\n.ahd-dec{display:none;align-items:center;gap:8px;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:500}\n.ahd-vd.ok .ahd-dec.ok{display:flex;background:var(--brandsoft);color:var(--success)}\n.ahd-vd.no .ahd-dec.no{display:flex;background:var(--dangersoft);color:var(--danger)}\n.ahd-vd.ok .ahd-acts,.ahd-vd.no .ahd-acts{display:none}\n.ahd-empty{background:var(--card);border-radius:12px;padding:34px 20px;text-align:center;color:var(--mfg);box-shadow:var(--shadow)}\n.ahd-empty b{display:block;color:var(--fg);font-size:14px;margin-bottom:4px}\n.ahd-an{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--card);border-radius:12px;padding:13px 16px;margin:0 0 8px;box-shadow:var(--shadow)}\n.ahd-an b{font-size:13.5px;font-weight:600;margin-right:6px}\n.ahd-an small{display:block;font-size:12px;color:var(--mfg);margin-top:4px}\n.ahd-an .ahd-acts{flex:none}\n.ahd-an.done{opacity:.55}\n.ahd-an .st{display:none}\n.ahd-an.done .ahd-acts{display:none}\n.ahd-an.done .st{display:inline-flex}\n.ahd-cap{display:grid;grid-template-columns:minmax(0,1fr) 210px auto;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid var(--line)}\n.ahd-cap small{display:block;font-size:12px;color:var(--mfg);margin-top:2px}\n.ahd-bar{height:6px;border-radius:99px;background:var(--muted);overflow:hidden;margin-top:6px}\n.ahd-bar i{display:block;height:100%;border-radius:99px;background:var(--brand)}\n.ahd-bar i.o{background:var(--warning)}\n.ahd-capv{font-size:13px;font-weight:600}\n.ahd-capv span{font-weight:400;color:var(--mfg);font-size:12px}\n.ahd-back{border:0;background:none;color:var(--primary);font-size:12.5px;font-weight:500;padding:0;margin:6px 0 4px}\n.ahd-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 16px}\n.ahd-meta div{background:var(--card);border-radius:12px;padding:12px;box-shadow:var(--shadow)}\n.ahd-meta small{display:block;font-size:11.5px;color:var(--mfg)}\n.ahd-meta b{display:block;font-size:15px;font-weight:600;margin-top:4px}\n.ahd-tl{position:relative;height:10px;width:220px;background:var(--muted);border-radius:3px}\n.ahd-tl i{position:absolute;top:0;height:100%;border-radius:3px;background:var(--brand)}\n.ahd-tl i.w{background:var(--warning)}\n.ahd-foot2{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--mfg);padding:12px 16px;border-top:1px solid var(--line)}\n.ahd-cg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}\n.ahd-cn{background:var(--card);border-radius:12px;padding:16px;box-shadow:var(--shadow)}\n.ahd-cn h3{font-size:14.5px;font-weight:600}\n.ahd-cn p{font-size:12px;color:var(--mfg);margin:2px 0 12px}\n.ahd-cn .n3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}\n.ahd-cn .n3 b{display:block;font-size:18px;font-weight:600}\n.ahd-cn .n3 span{font-size:11.5px;color:var(--mfg)}\n.ahd-mod{position:absolute;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;padding:16px;z-index:5}\n.ahd-mod.on{display:flex;animation:ahdIn .2s ease}\n.ahd-box{background:var(--card);border-radius:16px;padding:22px;max-width:420px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.25)}\n.ahd-box h3{font-size:17px;font-weight:650;color:var(--danger)}\n.ahd-box p{font-size:13px;color:var(--mfg);margin:8px 0 12px}\n.ahd-box label{display:block;font-size:12px;color:var(--mfg);margin-bottom:4px}\n.ahd-box textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;resize:none;height:62px;margin:0 0 14px;color:var(--fg);background:var(--bg)}\n.ahd-box .ahd-acts{justify-content:flex-end}\n.ahd-toast{position:absolute;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;background:var(--fg);color:var(--bg);font-size:13px;font-weight:500;border-radius:10px;padding:10px 16px;transition:opacity .25s ease,transform .25s ease;pointer-events:none;z-index:6;max-width:90%;text-align:center}\n.ahd-toast.on{opacity:1;transform:translate(-50%,0)}\n.ahd-mnav{display:none}\n.ahd-an .ahd-pill{margin-right:6px}.ahd-ph h1 .ahd-pill{margin-left:8px;vertical-align:middle}.ahd-cap .ag-st,.ahd-cn h3 .ahd-pill{margin-left:6px}.ahd td .ahd-pill{margin-left:4px}.ahd td>.ahd-pill:first-child{margin-left:0}\n@media (max-width:1100px){.ahd-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ahd-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.ahd-tour{display:none}}\n@media (max-width:820px){.ahd-side{display:none}.ahd-mnav{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:var(--side);flex:none;scrollbar-width:none}.ahd-mnav button{flex:none;border:0;background:var(--card);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:500;color:var(--fg)}.ahd-mnav button.on{background:var(--brand);color:var(--brandfg)}.ahd-hd{display:none}.ahd-scroll{padding:6px 14px 30px}.ahd-ph{flex-direction:column;gap:10px}.ahd-ph h1{font-size:22px}.ahd-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ahd-vgrid,.ahd-cg{grid-template-columns:minmax(0,1fr)}.ahd-cap{grid-template-columns:minmax(0,1fr) auto}.ahd-cap .ahd-btn{display:none}.ahd-an{flex-direction:column;align-items:flex-start}.ahd-checks{grid-template-columns:minmax(0,1fr)}.ahd-badge small{display:none}.ahd-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media (prefers-reduced-motion:reduce){.ahd-v.on,.ahd tr.new td,.ahd-live::before{animation:none}}\n<\/style>\n<div class=\"ahd dk\" id=\"ahd\"><svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\"><symbol id=\"i-grid\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/symbol><symbol id=\"i-bot\" viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"2\"\/><path d=\"M12 9V5M9 14h.01M15 14h.01\"\/><circle cx=\"12\" cy=\"4\" r=\"1\"\/><\/symbol><symbol id=\"i-list\" viewBox=\"0 0 24 24\"><path d=\"M9 6h12M9 12h12M9 18h12M4 6h.01M4 12h.01M4 18h.01\"\/><\/symbol><symbol id=\"i-plug\" viewBox=\"0 0 24 24\"><path d=\"M12 22v-5M9 8V2M15 8V2M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z\"\/><\/symbol><symbol id=\"i-check\" viewBox=\"0 0 24 24\"><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\"\/><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2M9 14l2 2 4-4\"\/><\/symbol><symbol id=\"i-shield\" viewBox=\"0 0 24 24\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><path d=\"M9 12l2 2 4-4\"\/><\/symbol><symbol id=\"i-bell\" viewBox=\"0 0 24 24\"><path d=\"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9M10.3 21a1.94 1.94 0 0 0 3.4 0\"\/><\/symbol><symbol id=\"i-siren\" viewBox=\"0 0 24 24\"><path d=\"M7 18v-6a5 5 0 1 1 10 0v6M5 21h14M12 2v2M4.2 5.2l1.4 1.4M19.8 5.2l-1.4 1.4\"\/><\/symbol><symbol id=\"i-scan\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.3-4.3M8.5 11l1.8 1.8 3.4-3.4\"\/><\/symbol><symbol id=\"i-gauge\" viewBox=\"0 0 24 24\"><path d=\"M12 14l4-4M3.34 19a10 10 0 1 1 17.32 0\"\/><\/symbol><symbol id=\"i-book\" viewBox=\"0 0 24 24\"><path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20V2H6.5A2.5 2.5 0 0 0 4 4.5v15zM20 17v5H6.5A2.5 2.5 0 0 1 4 19.5\"\/><\/symbol><symbol id=\"i-scroll\" viewBox=\"0 0 24 24\"><path d=\"M8 21h12a2 2 0 0 0 2-2v-2H10v2a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v3h4M19 17V5a2 2 0 0 0-2-2H4\"\/><\/symbol><symbol id=\"i-users\" viewBox=\"0 0 24 24\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><\/symbol><symbol id=\"i-play\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M10 8.5l5 3.5-5 3.5z\"\/><\/symbol><symbol id=\"i-pause\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M10 15V9M14 15V9\"\/><\/symbol><symbol id=\"i-x\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M15 9l-6 6M9 9l6 6\"\/><\/symbol><symbol id=\"i-alert\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 8v4M12 16h.01\"\/><\/symbol><\/svg><\/p>\n<div class=\"ahd-top\"><span class=\"ahd-badge\"><i><\/i><b data-no-translation=\"\">AgentHub Connect<\/b><small>Entreprise de d\u00e9monstration \u00b7 donn\u00e9es fictives<\/small><\/span><\/p>\n<div class=\"ahd-tour\" role=\"tablist\" aria-label=\"Visite guid\u00e9e\"><button type=\"button\" class=\"on\" data-go=\"ov\">Vue d&rsquo;ensemble<\/button><button type=\"button\" data-go=\"va\">Valider une \u00e9criture<\/button><button type=\"button\" data-go=\"ru\">Ouvrir un run<\/button><button type=\"button\" data-go=\"stop\">Arr\u00eat g\u00e9n\u00e9ral<\/button><\/div>\n<p><a class=\"ahd-cta\" href=\"https:\/\/www.wiven.ai\/contact\/#rdv\" target=\"_top\">R\u00e9server une vraie d\u00e9mo \u2192<\/a><\/div>\n<div class=\"ahd-app\">\n<aside class=\"ahd-side\">\n<div class=\"ahd-logo\"><svg viewBox=\"0 0 498.1 252.9\" width=\"35\" height=\"18\" role=\"img\" aria-label=\"Wiven\"><polygon class=\"li\" points=\"0 0 104.1 0 200.8 165.6 140.6 252.9 0 0\"\/><polygon class=\"lb\" points=\"190 0 294.2 0 382.8 165.6 322.6 252.9 190 0\"\/><polygon class=\"lb\" points=\"498.1 0 380.1 0 431.4 96.2 498.1 0\"\/><\/svg><\/p>\n<div><b data-no-translation=\"\">AgentHub<\/b><small data-no-translation=\"\">Connect<\/small><\/div>\n<\/div>\n<nav class=\"ahd-nav\" aria-label=\"Navigation de la console\"><button type=\"button\" class=\"on\" data-v=\"ov\"><svg><use href=\"#i-grid\"\/><\/svg>Vue d&rsquo;ensemble<\/button><button type=\"button\" data-v=\"ag\"><svg><use href=\"#i-bot\"\/><\/svg>Agents<\/button><button type=\"button\" data-v=\"ru\"><svg><use href=\"#i-list\"\/><\/svg>Runs<\/button><button type=\"button\" data-v=\"co\"><svg><use href=\"#i-plug\"\/><\/svg>Connecteurs<\/button><button type=\"button\" data-v=\"va\"><svg><use href=\"#i-check\"\/><\/svg>Validations<em class=\"ahd-nva\">2<\/em><\/button><button type=\"button\" data-v=\"gf\"><svg><use href=\"#i-shield\"\/><\/svg>Garde-fous<\/button><button type=\"button\" data-v=\"al\"><svg><use href=\"#i-bell\"\/><\/svg>Alertes<em class=\"ahd-nal\">1<\/em><\/button><button type=\"button\" data-v=\"in\"><svg><use href=\"#i-siren\"\/><\/svg>Incidents<\/button><button type=\"button\" data-v=\"an\"><svg><use href=\"#i-scan\"\/><\/svg>Anomalies<em class=\"ahd-nan\">3<\/em><\/button><button type=\"button\" data-v=\"vl\"><svg><use href=\"#i-gauge\"\/><\/svg>Valeur<\/button><button type=\"button\" data-v=\"re\"><svg><use href=\"#i-book\"\/><\/svg>Registre<\/button><button type=\"button\" data-v=\"jo\"><svg><use href=\"#i-scroll\"\/><\/svg>Journal d&rsquo;audit<\/button><button type=\"button\" data-v=\"us\"><svg><use href=\"#i-users\"\/><\/svg>Utilisateurs<\/button><\/nav>\n<p class=\"ahd-foot\">Console sur votre infrastructure. Chaque sortie est journalis\u00e9e.<\/p>\n<\/aside>\n<div class=\"ahd-main\">\n<div class=\"ahd-mnav\"><button type=\"button\" class=\"on\" data-v=\"ov\">Vue d&rsquo;ensemble<\/button><button type=\"button\" data-v=\"va\">Validations<\/button><button type=\"button\" data-v=\"ru\">Runs<\/button><button type=\"button\" data-v=\"an\">Anomalies<\/button><button type=\"button\" data-v=\"gf\">Garde-fous<\/button><button type=\"button\" data-v=\"ag\">Agents<\/button><button type=\"button\" data-v=\"vl\">Valeur<\/button><button type=\"button\" data-v=\"co\">Connecteurs<\/button><button type=\"button\" data-v=\"al\">Alertes<\/button><button type=\"button\" data-v=\"jo\">Journal d&rsquo;audit<\/button><\/div>\n<div class=\"ahd-hd\">\n<div class=\"ahd-search\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.3-4.3\"\/><\/svg>Rechercher<kbd>Ctrl K<\/kbd><\/div>\n<div class=\"ahd-hr\">\n<div class=\"ahd-user\"><span>SM<\/span><\/p>\n<div>Sophie Martin<small>Propri\u00e9taire<\/small><\/div>\n<\/div>\n<p><button type=\"button\" class=\"ahd-theme\" aria-label=\"Changer de th\u00e8me\"><svg class=\"moon\" viewBox=\"0 0 24 24\"><path d=\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\"\/><\/svg><svg class=\"sun\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\/><\/svg><\/button><\/div>\n<\/div>\n<div class=\"ahd-scroll\" id=\"ahd-scroll\">\n<div class=\"ahd-wrap\">\n<div class=\"ahd-stopbar\"><span>Arr\u00eat g\u00e9n\u00e9ral actif depuis <b class=\"ahd-stopt\">&#8211;:&#8211;<\/b>. Aucun agent ne peut d\u00e9marrer de run.<\/span><button type=\"button\" class=\"ahd-resume\">Reprendre<\/button><\/div>\n<section class=\"ahd-v on\" id=\"v-ov\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Vue d&rsquo;ensemble<\/h1>\n<p>Chiffres constat\u00e9s \u00e0 partir de l&rsquo;activit\u00e9 enregistr\u00e9e.<\/p>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn r ahd-stopbtn\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M7.5 1h9L23 7.5v9L16.5 23h-9L1 16.5v-9L7.5 1ZM6 10.25v3.5h12v-3.5H6Z\"\/><\/svg>Arr\u00eat g\u00e9n\u00e9ral<\/button><\/div>\n<div class=\"ahd-kpis\">\n<div class=\"ahd-kpi\"><i class=\"ic-g\"><svg><use href=\"#i-play\"\/><\/svg><\/i><b class=\"k-act\">5<\/b><span>Agents actifs<\/span><\/div>\n<div class=\"ahd-kpi\"><i class=\"ic-o\"><svg><use href=\"#i-pause\"\/><\/svg><\/i><b class=\"k-pau\">0<\/b><span>En pause ou arr\u00eat\u00e9s<\/span><\/div>\n<div class=\"ahd-kpi\"><i class=\"ic-r\"><svg><use href=\"#i-x\"\/><\/svg><\/i><b>0<\/b><span>En erreur<\/span><small>Dernier run en \u00e9chec ou sans nouvelles<\/small><\/div>\n<div class=\"ahd-kpi\"><i class=\"ic-r\"><svg><use href=\"#i-plug\"\/><\/svg><\/i><b>0<\/b><span>Connecteurs en panne<\/span><\/div>\n<div class=\"ahd-kpi\"><i class=\"ic-b\"><svg><use href=\"#i-check\"\/><\/svg><\/i><b class=\"k-val\">2<\/b><span>Validations en attente<\/span><\/div>\n<div class=\"ahd-kpi\"><i class=\"ic-o\"><svg><use href=\"#i-bell\"\/><\/svg><\/i><b class=\"k-ale\">1<\/b><span>Alertes ouvertes<\/span><\/div>\n<\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-ch\">\n<h2>Derniers runs<span class=\"ahd-live\"><span class=\"lv-on\">En direct<\/span><span class=\"lv-off\" hidden>Arr\u00eat\u00e9<\/span><\/span><\/h2>\n<p>Cliquez sur un run pour voir sa chronologie.<\/p>\n<\/div>\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>Heure<\/th>\n<th>Agent<\/th>\n<th>Statut<\/th>\n<th>Dur\u00e9e<\/th>\n<th>Donn\u00e9es touch\u00e9es<\/th>\n<th class=\"r\">Co\u00fbt<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"ahd-runs-ov\"><\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-ag\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Agents<\/h1>\n<p>Taux d&rsquo;\u00e9chec constat\u00e9 sur les runs termin\u00e9s : en \u00e9chec ou rest\u00e9s sans nouvelles.<\/p>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn ahd-ro\">+ Nouvel agent<\/button><\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>Agent<\/th>\n<th>Famille<\/th>\n<th>Statut<\/th>\n<th>Version<\/th>\n<th>Dernier run<\/th>\n<th>\u00c9checs 24 h<\/th>\n<th>\u00c9checs 7 j<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Invoice Extractor<\/td>\n<td><span class=\"ahd-pill p-n\">Action<\/span><\/td>\n<td class=\"ag-st\"><\/td>\n<td>1.4.0<\/td>\n<td class=\"ahd-muted\">aujourd&rsquo;hui 11:42<\/td>\n<td>0 %<\/td>\n<td>0,4 %<\/td>\n<\/tr>\n<tr>\n<td>Contr\u00f4le des \u00e9carts d&rsquo;heures avant paie<\/td>\n<td><span class=\"ahd-pill p-n\">Contr\u00f4le<\/span><\/td>\n<td class=\"ag-st\"><\/td>\n<td>1.0.0<\/td>\n<td class=\"ahd-muted\">aujourd&rsquo;hui 11:40<\/td>\n<td>0 %<\/td>\n<td>0 %<\/td>\n<\/tr>\n<tr>\n<td>Reconciliation Assistant<\/td>\n<td><span class=\"ahd-pill p-n\">Contr\u00f4le<\/span><\/td>\n<td class=\"ag-st\"><\/td>\n<td>1.2.1<\/td>\n<td class=\"ahd-muted\">aujourd&rsquo;hui 11:38<\/td>\n<td>0 %<\/td>\n<td>0 %<\/td>\n<\/tr>\n<tr>\n<td>Helpdesk GLPI<\/td>\n<td><span class=\"ahd-pill p-n\">Contr\u00f4le<\/span><\/td>\n<td class=\"ag-st\"><\/td>\n<td>0.9.2<\/td>\n<td class=\"ahd-muted\">aujourd&rsquo;hui 11:31<\/td>\n<td>4 %<\/td>\n<td>1,1 %<\/td>\n<\/tr>\n<tr>\n<td>WivenLLM<\/td>\n<td><span class=\"ahd-pill p-n\">Action<\/span><\/td>\n<td class=\"ag-st\"><\/td>\n<td>1.14.10<\/td>\n<td class=\"ahd-muted\">aujourd&rsquo;hui 11:29<\/td>\n<td>0 %<\/td>\n<td>0 %<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-ru\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Runs<\/h1>\n<p>Chaque ex\u00e9cution d&rsquo;un agent. Aucun contenu n&rsquo;est enregistr\u00e9 : seulement ce qui a \u00e9t\u00e9 fait, par qui, vers o\u00f9.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>D\u00e9but<\/th>\n<th>Trace<\/th>\n<th>Agent<\/th>\n<th>Statut<\/th>\n<th>Dur\u00e9e<\/th>\n<th>Donn\u00e9es touch\u00e9es<\/th>\n<th class=\"r\">Co\u00fbt<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"ahd-runs-all\"><\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-rd\"><button type=\"button\" class=\"ahd-back\" data-v=\"ru\">\u2190 Runs<\/button><\/p>\n<div class=\"ahd-ph\">\n<div>\n<h1>Run de <span class=\"rd-time\">11:42:18<\/span><span class=\"ahd-pill p-g rd-st\">R\u00e9ussi<\/span><\/h1>\n<p class=\"ahd-mono\">trace <span class=\"rd-trace\">8f3c21d07a94<\/span> \u00b7 <span class=\"rd-agent\">Invoice Extractor<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-meta\">\n<div><small>Dur\u00e9e<\/small><b class=\"rd-dur\">4,3 s<\/b><\/div>\n<div><small>Jetons (entr\u00e9e \u00b7 sortie)<\/small><b>1 180 \u00b7 240<\/b><\/div>\n<div><small>Co\u00fbt constat\u00e9<\/small><b>CHF 0.00<\/b><\/div>\n<div><small>Documents trait\u00e9s<\/small><b>1<\/b><\/div>\n<div><small>Mod\u00e8le<\/small><b>Sur votre infrastructure<\/b><\/div>\n<div><small>Donn\u00e9es touch\u00e9es<\/small><b class=\"rd-data\"><span class=\"ahd-pill p-b\">Financi\u00e8res<\/span><\/b><\/div>\n<\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-ch\">\n<div>\n<h2>Chronologie<\/h2>\n<p>\u00c9tapes du run dans l&rsquo;ordre : appels au mod\u00e8le, appels d&rsquo;outils, \u00e9criture propos\u00e9e.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>\u00c9tape<\/th>\n<th>Chronologie<\/th>\n<th>Dur\u00e9e<\/th>\n<th>Sortie vers<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"rd-inv\">\n<tr>\n<td>Agent \u00b7 Ex\u00e9cution de l&rsquo;agent<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:0;width:100%\"><\/i><\/div>\n<\/td>\n<td>4,3 s<\/td>\n<td class=\"ahd-muted\">Aucune sortie<\/td>\n<\/tr>\n<tr>\n<td>Outil \u00b7 MS.ERP : lire la facture entrante<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:2%;width:6%\"><\/i><\/div>\n<\/td>\n<td>260 ms<\/td>\n<td class=\"ahd-muted\">Logiciel m\u00e9tier : MS.ERP (simul\u00e9)<\/td>\n<\/tr>\n<tr>\n<td>Mod\u00e8le \u00b7 qwen3.5-4b<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:9%;width:70%\"><\/i><\/div>\n<\/td>\n<td>3,0 s<\/td>\n<td class=\"ahd-muted\">Mod\u00e8le sur votre infrastructure<\/td>\n<\/tr>\n<tr>\n<td>Outil \u00b7 MS.ERP : v\u00e9rifier le fournisseur<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:80%;width:5%\"><\/i><\/div>\n<\/td>\n<td>190 ms<\/td>\n<td class=\"ahd-muted\">Logiciel m\u00e9tier : MS.ERP (simul\u00e9)<\/td>\n<\/tr>\n<tr>\n<td>Passerelle \u00b7 proposer une \u00e9criture <span class=\"ahd-pill p-o\">En attente de validation<\/span><\/td>\n<td>\n<div class=\"ahd-tl\"><i class=\"w\" style=\"left:88%;width:4%\"><\/i><\/div>\n<\/td>\n<td>40 ms<\/td>\n<td class=\"ahd-muted\">Validations<\/td>\n<\/tr>\n<\/tbody>\n<tbody id=\"rd-ctl\" hidden>\n<tr>\n<td>Agent \u00b7 Ex\u00e9cution de l&rsquo;agent<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:0;width:100%\"><\/i><\/div>\n<\/td>\n<td class=\"rd-dur\">3,9 s<\/td>\n<td class=\"ahd-muted\">Aucune sortie<\/td>\n<\/tr>\n<tr>\n<td>Outil \u00b7 lire les donn\u00e9es du jour (lecture seule)<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:2%;width:10%\"><\/i><\/div>\n<\/td>\n<td>410 ms<\/td>\n<td class=\"ahd-muted\">Logiciel m\u00e9tier : connecteur en lecture<\/td>\n<\/tr>\n<tr>\n<td>Mod\u00e8le \u00b7 qwen3.5-4b<\/td>\n<td>\n<div class=\"ahd-tl\"><i style=\"left:13%;width:72%\"><\/i><\/div>\n<\/td>\n<td>2,8 s<\/td>\n<td class=\"ahd-muted\">Mod\u00e8le sur votre infrastructure<\/td>\n<\/tr>\n<tr>\n<td>Anomalie signal\u00e9e <span class=\"ahd-pill p-o\">\u00c0 traiter<\/span><\/td>\n<td>\n<div class=\"ahd-tl\"><i class=\"w\" style=\"left:88%;width:4%\"><\/i><\/div>\n<\/td>\n<td>20 ms<\/td>\n<td class=\"ahd-muted\">Anomalies<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"ahd-foot2\">Le contenu trait\u00e9 (textes, documents, r\u00e9ponses du mod\u00e8le) n&rsquo;est pas enregistr\u00e9 dans le journal : seuls son type, sa taille et une empreinte le sont.<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-co\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Connecteurs<\/h1>\n<p>Les agents n&rsquo;acc\u00e8dent \u00e0 vos logiciels m\u00e9tier qu&rsquo;au travers de la passerelle : outil par outil, avec les secrets gard\u00e9s au coffre. Chaque appel est journalis\u00e9.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-cg\">\n<div class=\"ahd-cn\">\n<h3>MS.ERP (simul\u00e9) <span class=\"ahd-pill p-g\">Op\u00e9rationnel<\/span><\/h3>\n<p>Sant\u00e9 contr\u00f4l\u00e9e chaque minute \u00b7 dernier bilan il y a 12 s<\/p>\n<div class=\"n3\">\n<div><b>418<\/b><span>appels 24 h<\/span><\/div>\n<div><b>0<\/b><span>\u00e9checs 24 h<\/span><\/div>\n<div><b>5<\/b><span>outils<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"ahd-cn\">\n<h3>GLPI support interne <span class=\"ahd-pill p-g\">Op\u00e9rationnel<\/span><\/h3>\n<p>Sant\u00e9 contr\u00f4l\u00e9e chaque minute \u00b7 dernier bilan il y a 12 s<\/p>\n<div class=\"n3\">\n<div><b>96<\/b><span>appels 24 h<\/span><\/div>\n<div><b>1<\/b><span>\u00e9checs 24 h<\/span><\/div>\n<div><b>3<\/b><span>outils<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-va\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Validations<\/h1>\n<p>Aucune \u00e9criture dans un logiciel m\u00e9tier sans d\u00e9cision humaine ou r\u00e8gle d&rsquo;auto-validation. C&rsquo;est la passerelle qui \u00e9crit, jamais l&rsquo;agent.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-vgrid\">\n<div class=\"ahd-vl\"><button type=\"button\" class=\"ahd-vi on\" data-vi=\"1\"><span class=\"ahd-pill p-o vi-st\">En attente<\/span><b>Atelier Rh\u00f4ne SA \u00b7 CHF 4&rsquo;860.00<\/b><small>Invoice Extractor \u00b7 \u00e9criture fournisseur \u00b7 il y a 4 min<\/small><\/button><button type=\"button\" class=\"ahd-vi\" data-vi=\"2\"><span class=\"ahd-pill p-o vi-st\">En attente<\/span><b>Transports Alpins SA \u00b7 CHF 3&rsquo;412.50<\/b><small>Invoice Extractor \u00b7 \u00e9criture fournisseur \u00b7 il y a 9 min<\/small><\/button><\/p>\n<p class=\"ahd-muted\" style=\"font-size:12px;padding:4px 2px\">Raccourcis : j \/ k pour naviguer, v pour valider, r pour refuser.<\/p>\n<\/div>\n<div>\n<div class=\"ahd-vd\" data-vd=\"1\"><span class=\"ahd-pill p-n\">Invoice Extractor \u00b7 v1.4.0<\/span><\/p>\n<h3>\u00c9criture fournisseur \u00b7 Atelier Rh\u00f4ne SA<\/h3>\n<p class=\"ahd-muted\" style=\"font-size:12.5px\">Facture AR-2026-1187 \u00b7 \u00e9ch\u00e9ance \u00e0 30 jours<\/p>\n<p class=\"ahd-amt\">CHF 4&rsquo;860.00<\/p>\n<div class=\"ahd-lines\">\n<div><span>6500 Administration<\/span><b>4&rsquo;495.84<\/b><\/div>\n<div><span>1170 TVA 8,1 %<\/span><b>364.16<\/b><\/div>\n<div><span>2000 Cr\u00e9anciers<\/span><b>4&rsquo;860.00<\/b><\/div>\n<\/div>\n<div class=\"ahd-checks\"><span>Num\u00e9ro IDE v\u00e9rifi\u00e9<\/span><span>TVA 8,1 % coh\u00e9rente<\/span><span>Aucun doublon<\/span><span>Bon de commande trouv\u00e9<\/span><\/div>\n<p class=\"ahd-gw\">Si vous validez, la passerelle \u00e9crit dans MS.ERP (simul\u00e9) avec l&rsquo;outil \u00ab cr\u00e9er une \u00e9criture \u00bb. L&rsquo;agent n&rsquo;y a pas acc\u00e8s en \u00e9criture.<\/p>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn ahd-ok\">Valider<\/button><button type=\"button\" class=\"ahd-btn g ahd-no\">Refuser<\/button><small>v \u00b7 r<\/small><\/div>\n<div class=\"ahd-dec ok\">\u2713 Valid\u00e9e par Sophie Martin. \u00c9crite par la passerelle dans MS.ERP (simul\u00e9).<\/div>\n<div class=\"ahd-dec no\">Refus\u00e9e par Sophie Martin. Rien n&rsquo;a \u00e9t\u00e9 \u00e9crit.<\/div>\n<\/div>\n<div class=\"ahd-vd\" data-vd=\"2\" hidden><span class=\"ahd-pill p-n\">Invoice Extractor \u00b7 v1.4.0<\/span><\/p>\n<h3>\u00c9criture fournisseur \u00b7 Transports Alpins SA<\/h3>\n<p class=\"ahd-muted\" style=\"font-size:12.5px\">Facture TA-55120 \u00b7 \u00e9ch\u00e9ance \u00e0 30 jours<\/p>\n<p class=\"ahd-amt\">CHF 3&rsquo;412.50<\/p>\n<div class=\"ahd-lines\">\n<div><span>4200 Frais de transport<\/span><b>3&rsquo;156.80<\/b><\/div>\n<div><span>1170 TVA 8,1 %<\/span><b>255.70<\/b><\/div>\n<div><span>2000 Cr\u00e9anciers<\/span><b>3&rsquo;412.50<\/b><\/div>\n<\/div>\n<div class=\"ahd-checks\"><span>Num\u00e9ro IDE v\u00e9rifi\u00e9<\/span><span>Aucun doublon<\/span><span class=\"w\">Montant diff\u00e9rent du bon de livraison (3&rsquo;240.00)<\/span><span>TVA 8,1 % coh\u00e9rente<\/span><\/div>\n<p class=\"ahd-gw\">L&rsquo;agent signale l&rsquo;\u00e9cart. \u00c0 vous de d\u00e9cider : la passerelle n&rsquo;\u00e9crit rien sans votre accord.<\/p>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn ahd-ok\">Valider<\/button><button type=\"button\" class=\"ahd-btn g ahd-no\">Refuser<\/button><small>v \u00b7 r<\/small><\/div>\n<div class=\"ahd-dec ok\">\u2713 Valid\u00e9e par Sophie Martin. \u00c9crite par la passerelle dans MS.ERP (simul\u00e9).<\/div>\n<div class=\"ahd-dec no\">Refus\u00e9e par Sophie Martin. Rien n&rsquo;a \u00e9t\u00e9 \u00e9crit.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-gf\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Garde-fous<\/h1>\n<p>Chaque run r\u00e9serve son plafond avant de commencer. Plus de place : le run est refus\u00e9, l&rsquo;agent est mis en pause et une alerte est ouverte.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-ch\">\n<div>\n<h2>Plafonds du mois<\/h2>\n<p>Co\u00fbts r\u00e9ellement re\u00e7us depuis le 1er du mois (heure de Zurich).<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-cap\">\n<div>Invoice Extractor <span class=\"ag-st\"><\/span><small>Plafond CHF 10.00 par mois, CHF 0.50 par run, alerte \u00e0 80 %<\/small><\/div>\n<div>\n<p class=\"ahd-capv\">CHF 6.20 <span>constat\u00e9 \u00b7 62 %<\/span><\/p>\n<div class=\"ahd-bar\"><i style=\"width:62%\"><\/i><\/div>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-ro\">Modifier le plafond<\/button><\/div>\n<div class=\"ahd-cap\">\n<div>Reconciliation Assistant <span class=\"ag-st\"><\/span><small>Plafond CHF 50.00 par mois, CHF 2.00 par run, alerte \u00e0 80 %<\/small><\/div>\n<div>\n<p class=\"ahd-capv\">CHF 41.30 <span>constat\u00e9 \u00b7 83 %<\/span><\/p>\n<div class=\"ahd-bar\"><i class=\"o\" style=\"width:83%\"><\/i><\/div>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-ro\">Modifier le plafond<\/button><\/div>\n<div class=\"ahd-cap\">\n<div>Contr\u00f4le des \u00e9carts d&rsquo;heures avant paie <span class=\"ag-st\"><\/span><small>Plafond CHF 200.00 par mois, CHF 2.00 par run, alerte \u00e0 80 %<\/small><\/div>\n<div>\n<p class=\"ahd-capv\">CHF 0.00 <span>constat\u00e9 \u00b7 mod\u00e8le local<\/span><\/p>\n<div class=\"ahd-bar\"><i style=\"width:0\"><\/i><\/div>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-ro\">Modifier le plafond<\/button><\/div>\n<div class=\"ahd-cap\">\n<div>Helpdesk GLPI <span class=\"ag-st\"><\/span><small>Plafond CHF 200.00 par mois, CHF 2.00 par run, alerte \u00e0 80 %<\/small><\/div>\n<div>\n<p class=\"ahd-capv\">CHF 0.40 <span>constat\u00e9 \u00b7 0 %<\/span><\/p>\n<div class=\"ahd-bar\"><i style=\"width:1%\"><\/i><\/div>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-ro\">Modifier le plafond<\/button><\/div>\n<div class=\"ahd-cap\">\n<div>WivenLLM <span class=\"ag-st\"><\/span><small>Plafond CHF 50.00 par mois, CHF 2.00 par run, alerte \u00e0 80 %<\/small><\/div>\n<div>\n<p class=\"ahd-capv\">CHF 0.00 <span>constat\u00e9 \u00b7 mod\u00e8le local<\/span><\/p>\n<div class=\"ahd-bar\"><i style=\"width:0\"><\/i><\/div>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-ro\">Modifier le plafond<\/button><\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-al\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Alertes<\/h1>\n<p>Une alerte par probl\u00e8me, quel que soit le nombre de r\u00e9p\u00e9titions. Les alertes critiques ouvrent un incident.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-an\" id=\"ahd-alert\">\n<div><span class=\"ahd-pill p-o\">Avertissement<\/span><b>Seuil du plafond atteint<\/b><small>Reconciliation Assistant \u00b7 83 % du plafond mensuel \u00b7 ouverte \u00e0 09:12<\/small><\/div>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn g ahd-ack\">Acquitter<\/button><\/div>\n<p><span class=\"ahd-pill p-g st\">Acquitt\u00e9e par Sophie Martin<\/span><\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-in\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Incidents<\/h1>\n<p>Les alertes critiques ouvrent un incident, suivi jusqu&rsquo;\u00e0 sa cl\u00f4ture.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-empty\"><b>Aucun incident ouvert<\/b>Dernier incident clos il y a 12 jours : connecteur GLPI indisponible pendant 7 min.<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-an\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Anomalies<\/h1>\n<p>Signal\u00e9es par les agents, confirm\u00e9es ou \u00e9cart\u00e9es par une personne. Seuls le type, la classe et l&#8217;empreinte sont conserv\u00e9s : v\u00e9rifiez le d\u00e9tail dans le logiciel m\u00e9tier.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-an\">\n<div><span class=\"ahd-pill p-r\">RH<\/span><b>\u00c9cart d&rsquo;heures avant paie<\/b><small>Contr\u00f4le des \u00e9carts d&rsquo;heures avant paie \u00b7 signal\u00e9e \u00e0 11:40 \u00b7 empreinte 7f2a9c01d4e3<\/small><\/div>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn ahd-cf\">Confirmer<\/button><button type=\"button\" class=\"ahd-btn g ahd-ds\">\u00c9carter<\/button><\/div>\n<p><span class=\"ahd-pill p-g st s-cf\">Confirm\u00e9e<\/span><span class=\"ahd-pill p-n st s-ds\">\u00c9cart\u00e9e<\/span><\/div>\n<div class=\"ahd-an\">\n<div><span class=\"ahd-pill p-b\">Financi\u00e8res<\/span><b>Montant de facture incoh\u00e9rent<\/b><small>Invoice Extractor \u00b7 signal\u00e9e \u00e0 11:33 \u00b7 empreinte c41e88b2097a<\/small><\/div>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn ahd-cf\">Confirmer<\/button><button type=\"button\" class=\"ahd-btn g ahd-ds\">\u00c9carter<\/button><\/div>\n<p><span class=\"ahd-pill p-g st s-cf\">Confirm\u00e9e<\/span><span class=\"ahd-pill p-n st s-ds\">\u00c9cart\u00e9e<\/span><\/div>\n<div class=\"ahd-an\">\n<div><span class=\"ahd-pill p-o\">Personnelles<\/span><b>Ticket sans r\u00e9ponse<\/b><small>Helpdesk GLPI \u00b7 signal\u00e9e \u00e0 10:58 \u00b7 empreinte 2b90f7aa3c15<\/small><\/div>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn ahd-cf\">Confirmer<\/button><button type=\"button\" class=\"ahd-btn g ahd-ds\">\u00c9carter<\/button><\/div>\n<p><span class=\"ahd-pill p-g st s-cf\">Confirm\u00e9e<\/span><span class=\"ahd-pill p-n st s-ds\">\u00c9cart\u00e9e<\/span><\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-vl\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Valeur<\/h1>\n<p>Ce que les agents ont fait dans le mois, constat\u00e9 sur leur activit\u00e9. Le temps gagn\u00e9 n&rsquo;appara\u00eet que si une dur\u00e9e de r\u00e9f\u00e9rence a \u00e9t\u00e9 saisie, et il est pr\u00e9sent\u00e9 comme un calcul.<\/p>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-ro\">Rapport mensuel (PDF)<\/button><\/div>\n<div class=\"ahd-kpis\" style=\"grid-template-columns:repeat(4,minmax(0,1fr))\">\n<div class=\"ahd-kpi\"><span>Runs termin\u00e9s<\/span><b style=\"margin-top:6px\">1&rsquo;284<\/b><\/div>\n<div class=\"ahd-kpi\"><span>Documents trait\u00e9s<\/span><b style=\"margin-top:6px\">912<\/b><\/div>\n<div class=\"ahd-kpi\"><span>Dur\u00e9e m\u00e9diane d&rsquo;un run<\/span><b style=\"margin-top:6px\">4,3 s<\/b><\/div>\n<div class=\"ahd-kpi\"><span>Anomalies signal\u00e9es<\/span><b style=\"margin-top:6px\">37<\/b><\/div>\n<div class=\"ahd-kpi\"><span>\u00c9critures propos\u00e9es<\/span><b style=\"margin-top:6px\">412<\/b><\/div>\n<div class=\"ahd-kpi\"><span>D\u00e9lai m\u00e9dian de d\u00e9cision<\/span><b style=\"margin-top:6px\">2 h 10<\/b><\/div>\n<div class=\"ahd-kpi\"><span>Co\u00fbt constat\u00e9<\/span><b style=\"margin-top:6px\">CHF 47.90<\/b><\/div>\n<div class=\"ahd-kpi\"><span>Temps gagn\u00e9 (calcul)<\/span><b style=\"margin-top:6px\">27 h<\/b><small>412 \u00e9critures \u00d7 4 min de r\u00e9f\u00e9rence<\/small><\/div>\n<\/div>\n<p class=\"ahd-muted\" style=\"font-size:12px\">Octobre, donn\u00e9es fictives de la d\u00e9mo.<\/p>\n<\/section>\n<section class=\"ahd-v\" id=\"v-re\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Registre<\/h1>\n<p>Chaque agent, sa version, sa consigne et ses revues : de quoi r\u00e9pondre \u00e0 un audit.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>Agent<\/th>\n<th>Version<\/th>\n<th>Responsable<\/th>\n<th>Derni\u00e8re revue<\/th>\n<th>Prochaine revue<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Invoice Extractor<\/td>\n<td>1.4.0<\/td>\n<td>Sophie Martin<\/td>\n<td>02.10<\/td>\n<td><span class=\"ahd-pill p-g\">dans 58 jours<\/span><\/td>\n<\/tr>\n<tr>\n<td>Reconciliation Assistant<\/td>\n<td>1.2.1<\/td>\n<td>Marc Rochat<\/td>\n<td>15.09<\/td>\n<td><span class=\"ahd-pill p-o\">dans 12 jours<\/span><\/td>\n<\/tr>\n<tr>\n<td>Contr\u00f4le des \u00e9carts d&rsquo;heures avant paie<\/td>\n<td>1.0.0<\/td>\n<td>Sophie Martin<\/td>\n<td>28.09<\/td>\n<td><span class=\"ahd-pill p-g\">dans 54 jours<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-jo\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Journal d&rsquo;audit<\/h1>\n<p>Actions humaines et d\u00e9cisions de l&rsquo;application, en ajout seul, cha\u00een\u00e9es par empreinte. Jamais purg\u00e9 automatiquement.<\/p>\n<\/div>\n<p><button type=\"button\" class=\"ahd-btn g ahd-chain\">V\u00e9rifier la cha\u00eene<\/button><\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>Heure<\/th>\n<th>Auteur<\/th>\n<th>Action<\/th>\n<th>Empreinte<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"ahd-jo\">\n<tr>\n<td>09:12:04<\/td>\n<td>Syst\u00e8me<\/td>\n<td>Alerte ouverte : seuil du plafond atteint<\/td>\n<td class=\"ahd-mono\">a91c07e2d5f8<\/td>\n<\/tr>\n<tr>\n<td>08:47:31<\/td>\n<td>Marc Rochat<\/td>\n<td>\u00c9criture valid\u00e9e \u00b7 Papeterie du Lac SA<\/td>\n<td class=\"ahd-mono\">3d6b2f90c1a4<\/td>\n<\/tr>\n<tr>\n<td>08:02:15<\/td>\n<td>Sophie Martin<\/td>\n<td>Plafond modifi\u00e9 \u00b7 Invoice Extractor<\/td>\n<td class=\"ahd-mono\">e07f45b1928c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"ahd-v\" id=\"v-us\">\n<div class=\"ahd-ph\">\n<div>\n<h1>Utilisateurs<\/h1>\n<p>Qui peut voir, valider ou administrer. Chaque changement de r\u00f4le est journalis\u00e9.<\/p>\n<\/div>\n<\/div>\n<div class=\"ahd-card\">\n<div class=\"ahd-tw\">\n<table>\n<thead>\n<tr>\n<th>Nom<\/th>\n<th>R\u00f4le<\/th>\n<th>Derni\u00e8re connexion<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Sophie Martin<\/td>\n<td><span class=\"ahd-pill p-g\">Propri\u00e9taire<\/span><\/td>\n<td>maintenant<\/td>\n<\/tr>\n<tr>\n<td>Marc Rochat<\/td>\n<td><span class=\"ahd-pill p-b\">Validateur<\/span><\/td>\n<td>aujourd&rsquo;hui 08:47<\/td>\n<\/tr>\n<tr>\n<td>Fiduciaire externe<\/td>\n<td><span class=\"ahd-pill p-n\">Auditeur, lecture seule<\/span><\/td>\n<td>il y a 6 jours<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ahd-mod\" id=\"ahd-mod\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ahd-mod-t\">\n<div class=\"ahd-box\">\n<h3 id=\"ahd-mod-t\">Arr\u00eat g\u00e9n\u00e9ral<\/h3>\n<p>Tous les agents sont mis en pause et aucun run ne peut d\u00e9marrer. La d\u00e9cision est inscrite au journal d&rsquo;audit.<\/p>\n<p><label for=\"ahd-motif\">Motif<\/label><textarea id=\"ahd-motif\">Essai depuis la d\u00e9mo<\/textarea><\/p>\n<div class=\"ahd-acts\"><button type=\"button\" class=\"ahd-btn g ahd-cancel\">Annuler<\/button><button type=\"button\" class=\"ahd-btn rr ahd-confirm\">Tout arr\u00eater<\/button><\/div>\n<\/div>\n<\/div>\n<div class=\"ahd-toast\" id=\"ahd-toast\" role=\"status\" aria-live=\"polite\"><\/div>\n<div id=\"ahd-i18n\" hidden><span data-k=\"ok\">R\u00e9ussi<\/span><span data-k=\"run\">En cours<\/span><span data-k=\"fail\">En \u00e9chec<\/span><span data-k=\"act\">Actif<\/span><span data-k=\"stp\">Arr\u00eat\u00e9<\/span><span data-k=\"fin\">Financi\u00e8res<\/span><span data-k=\"pers\">Personnelles<\/span><span data-k=\"rh\">RH<\/span><span data-k=\"tech\">Techniques<\/span><span data-k=\"vok\">Valid\u00e9e<\/span><span data-k=\"vno\">Refus\u00e9e<\/span><span data-k=\"ro\">Dans la d\u00e9mo, ce r\u00e9glage est en lecture seule.<\/span><span data-k=\"tstop\">Arr\u00eat g\u00e9n\u00e9ral activ\u00e9. Tous les agents sont en pause.<\/span><span data-k=\"tres\">Agents relanc\u00e9s. L&rsquo;arr\u00eat g\u00e9n\u00e9ral est lev\u00e9.<\/span><span data-k=\"tval\">\u00c9criture valid\u00e9e. La passerelle l&rsquo;a \u00e9crite dans MS.ERP (simul\u00e9).<\/span><span data-k=\"tref\">\u00c9criture refus\u00e9e. Rien n&rsquo;a \u00e9t\u00e9 \u00e9crit.<\/span><span data-k=\"tchain\">Cha\u00eene v\u00e9rifi\u00e9e : aucune entr\u00e9e modifi\u00e9e ni supprim\u00e9e.<\/span><span data-k=\"tack\">Alerte acquitt\u00e9e.<\/span><span data-k=\"tstopped\">Arr\u00eat g\u00e9n\u00e9ral actif : aucun agent ne peut d\u00e9marrer.<\/span><span data-k=\"jstop\">Arr\u00eat g\u00e9n\u00e9ral activ\u00e9<\/span><span data-k=\"jres\">Arr\u00eat g\u00e9n\u00e9ral lev\u00e9<\/span><span data-k=\"jval\">\u00c9criture valid\u00e9e<\/span><span data-k=\"jref\">\u00c9criture refus\u00e9e<\/span><span data-k=\"jcf\">Anomalie confirm\u00e9e<\/span><span data-k=\"jds\">Anomalie \u00e9cart\u00e9e<\/span><span data-k=\"jack\">Alerte acquitt\u00e9e<\/span><span data-k=\"me\">Sophie Martin<\/span><\/div>\n<\/div>\n<p><script>\n(function(){\nvar R = document.getElementById('ahd');\nif (!R) { return; }\nvar $ = function(q, c){ return (c || R).querySelector(q); };\nvar $$ = function(q, c){ return Array.prototype.slice.call((c || R).querySelectorAll(q)); };\nvar dict = {};\n$$('#ahd-i18n span').forEach(function(s){ dict[s.getAttribute('data-k')] = s.textContent; });\nvar T = function(k){ return dict[k] || k; };\nvar pad = function(n){ return (n < 10 ? '0' : '') + n; };\nvar hms = function(d){ return pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds()); };\nvar hex = function(){ var s = ''; for (var i = 0; i < 12; i++) { s += '0123456789abcdef'.charAt(Math.floor(Math.random() * 16)); } return s; };\nvar esc = function(t){ var d = document.createElement('div'); d.textContent = t; return d.innerHTML; };\nvar toastEl = $('#ahd-toast'), toastT = null;\nfunction toast(msg){\ntoastEl.textContent = msg; toastEl.classList.add('on');\nif (toastT) { clearTimeout(toastT); }\ntoastT = setTimeout(function(){ toastEl.classList.remove('on'); }, 2600);\n}\nfunction journal(action){\nvar tb = $('#ahd-jo'); var tr = document.createElement('tr'); tr.className = 'new';\ntr.innerHTML = '\n\n<td>' + hms(new Date()) + '<\/td>\n<td>' + esc(T('me')) + '<\/td>\n<td>' + esc(action) + '<\/td>\n<td class=\"ahd-mono\">' + hex() + '<\/td>\n<p>';\ntb.insertBefore(tr, tb.firstChild);\n}\nvar scroller = $('#ahd-scroll');\nfunction show(v){\n$$('.ahd-v').forEach(function(s){ s.classList.toggle('on', s.id === 'v-' + v); });\nvar navV = v === 'rd' ? 'ru' : v;\n$$('.ahd-nav button, .ahd-mnav button').forEach(function(b){ b.classList.toggle('on', b.getAttribute('data-v') === navV); });\nvar tourV = v === 'rd' ? 'ru' : v;\n$$('.ahd-tour button').forEach(function(b){ b.classList.toggle('on', b.getAttribute('data-go') === tourV); });\nscroller.scrollTop = 0;\n}\n$$('[data-v]').forEach(function(b){ b.addEventListener('click', function(){ show(b.getAttribute('data-v')); }); });\nvar AG = [\n{n: 'Invoice Extractor', f: 'inv', d: ['fin', 'pers'], s: [3.6, 4.8]},\n{n: \"Contr\u00f4le des \u00e9carts d'heures avant paie\", f: 'ctl', d: ['rh'], s: [3.2, 5.4]},\n{n: 'Reconciliation Assistant', f: 'ctl', d: ['fin'], s: [5.1, 8.9]},\n{n: 'Helpdesk GLPI', f: 'ctl', d: ['pers'], s: [3.9, 4.9]},\n{n: 'WivenLLM', f: 'ctl', d: ['pers'], s: [0.9, 12.4]}\n];\nvar PC = {fin: 'p-b', pers: 'p-o', rh: 'p-r', tech: 'p-n'};\nvar runs = [];\nfunction mkRun(ag, t, st){\nvar a = AG[ag];\nvar dur = (a.s[0] + Math.random() * (a.s[1] - a.s[0])).toFixed(1).replace('.', ',') + ' s';\nreturn {a: ag, t: t, st: st, dur: dur, tr: hex()};\n}\n(function seed(){\nvar now = Date.now();\nvar order = [0, 1, 0, 2, 3, 0, 4, 1, 0, 3, 2, 0];\nfor (var i = 0; i < order.length; i++) {\nvar r = mkRun(order[i], new Date(now - (i * 97 + 40) * 1000), 'ok');\nif (i === 9) { r.st = 'fail'; }\nruns.push(r);\n}\n})();\nfunction pill(st){\nif (st === 'ok') { return '<span class=\"ahd-pill p-g\">\u2713 ' + esc(T('ok')) + '<\/span>'; }\nif (st === 'run') { return '<span class=\"ahd-pill p-b\">' + esc(T('run')) + '<\/span>'; }\nreturn '<span class=\"ahd-pill p-r\">' + esc(T('fail')) + '<\/span>';\n}\nfunction dataPills(a){ return AG[a].d.map(function(k){ return '<span class=\"ahd-pill ' + PC[k] + '\">' + esc(T(k)) + '<\/span>'; }).join(' '); }\nfunction row(r, i, full){\nreturn '<\/p>\n<tr class=\"cl\" data-ri=\"' + i + '\">\n<td>' + hms(r.t) + '<\/td>\n<p>' + (full ? '<\/p>\n<td class=\"ahd-mono\">' + r.tr + '<\/td>\n<p>' : '') + '<\/p>\n<td>' + esc(AG[r.a].n) + '<\/td>\n<td>' + pill(r.st) + '<\/td>\n<td>' + (r.st === 'run' ? '\u2014' : r.dur) + '<\/td>\n<td>' + dataPills(r.a) + '<\/td>\n<td class=\"r\">CHF 0.00<\/td>\n<\/tr>\n<p>';\n}\nfunction renderRuns(fresh){\nvar o = '', f = '';\nfor (var i = 0; i < runs.length; i++) {\nif (i < 8) { o += row(runs[i], i, false); }\nif (i < 14) { f += row(runs[i], i, true); }\n}\n$('#ahd-runs-ov').innerHTML = o; $('#ahd-runs-all').innerHTML = f;\nif (fresh) { $$('#ahd-runs-ov tr:first-child, #ahd-runs-all tr:first-child').forEach(function(tr){ tr.classList.add('new'); }); }\n}\nfunction openRun(i){\nvar r = runs[i]; if (!r) { return; }\nvar a = AG[r.a];\n$('.rd-time').textContent = hms(r.t);\n$('.rd-trace').textContent = r.tr;\n$('.rd-agent').textContent = a.n;\n$$('.rd-dur').forEach(function(e){ e.textContent = r.st === 'run' ? '\u2014' : r.dur; });\nvar sp = $('.rd-st'); sp.className = 'ahd-pill rd-st ' + (r.st === 'ok' ? 'p-g' : (r.st === 'run' ? 'p-b' : 'p-r')); sp.textContent = T(r.st);\n$('.rd-data').innerHTML = dataPills(r.a);\n$('#rd-inv').hidden = a.f !== 'inv'; $('#rd-ctl').hidden = a.f === 'inv';\nshow('rd');\n}\nR.addEventListener('click', function(e){\nvar tr = e.target.closest ? e.target.closest('tr.cl') : null;\nif (tr) { openRun(+tr.getAttribute('data-ri')); }\n});\nrenderRuns(false);\nvar stopped = false;\nsetInterval(function(){\nif (stopped) { return; }\nif (document.hidden) { return; }\nvar ag = [0, 0, 1, 2, 3, 4][Math.floor(Math.random() * 6)];\nvar r = mkRun(ag, new Date(), 'run');\nruns.unshift(r); if (runs.length > 20) { runs.pop(); }\nrenderRuns(true);\nsetTimeout(function(){ r.st = 'ok'; renderRuns(false); }, 1800);\n}, 5200);\nfunction agStatus(){\n$$('.ag-st').forEach(function(td){\ntd.innerHTML = stopped ? '<span class=\"ahd-pill p-r\">' + esc(T('stp')) + '<\/span>' : '<span class=\"ahd-pill p-g\">\u2713 ' + esc(T('act')) + '<\/span>';\n});\n$('.k-act').textContent = stopped ? '0' : '5';\n$('.k-pau').textContent = stopped ? '5' : '0';\n$('.lv-on').hidden = stopped; $('.lv-off').hidden = !stopped;\n}\nagStatus();\nvar mod = $('#ahd-mod');\nfunction openStop(){ show('ov'); if (stopped) { toast(T('tstopped')); return; } mod.classList.add('on'); setTimeout(function(){ $('.ahd-confirm').focus(); }, 50); }\n$('.ahd-stopbtn').addEventListener('click', openStop);\n$('.ahd-cancel').addEventListener('click', function(){ mod.classList.remove('on'); });\nmod.addEventListener('click', function(e){ if (e.target === mod) { mod.classList.remove('on'); } });\n$('.ahd-confirm').addEventListener('click', function(){\nmod.classList.remove('on'); stopped = true; R.classList.add('stopped');\n$('.ahd-stopt').textContent = hms(new Date()).slice(0, 5);\n$('.ahd-stopbtn').disabled = true;\nagStatus(); journal(T('jstop') + ' \u00b7 ' + ($('#ahd-motif').value || '')); toast(T('tstop'));\n});\n$('.ahd-resume').addEventListener('click', function(){\nstopped = false; R.classList.remove('stopped'); $('.ahd-stopbtn').disabled = false;\nagStatus(); journal(T('jres')); toast(T('tres'));\n});\nvar pending = 2;\nfunction counts(){\n$('.k-val').textContent = String(pending);\nvar b = $('.ahd-nva'); b.textContent = String(pending); b.classList.toggle('z', pending === 0);\n}\nfunction selV(id){\n$$('.ahd-vi').forEach(function(b){ b.classList.toggle('on', b.getAttribute('data-vi') === id); });\n$$('.ahd-vd').forEach(function(d){ d.hidden = d.getAttribute('data-vd') !== id; });\n}\n$$('.ahd-vi').forEach(function(b){ b.addEventListener('click', function(){ selV(b.getAttribute('data-vi')); }); });\nfunction decide(id, ok){\nvar d = $('.ahd-vd[data-vd=\"' + id + '\"]');\nif (d.classList.contains('ok') ? true : d.classList.contains('no')) { return; }\nd.classList.add(ok ? 'ok' : 'no');\nvar b = $('.ahd-vi[data-vi=\"' + id + '\"]'); var st = $('.vi-st', b);\nst.className = 'ahd-pill vi-st ' + (ok ? 'p-g' : 'p-r'); st.textContent = ok ? T('vok') : T('vno');\npending--; counts();\nvar who = $('h3', d).textContent.split('\u00b7').pop().trim();\njournal((ok ? T('jval') : T('jref')) + ' \u00b7 ' + who);\ntoast(ok ? T('tval') : T('tref'));\nvar next = $$('.ahd-vd').filter(function(x){ return !(x.classList.contains('ok') ? true : x.classList.contains('no')); })[0];\nif (next) { setTimeout(function(){ selV(next.getAttribute('data-vd')); }, 1100); }\n}\n$$('.ahd-vd').forEach(function(d){\nvar id = d.getAttribute('data-vd');\n$('.ahd-ok', d).addEventListener('click', function(){ decide(id, true); });\n$('.ahd-no', d).addEventListener('click', function(){ decide(id, false); });\n});\ndocument.addEventListener('keydown', function(e){\nif (!$('#v-va').classList.contains('on')) { return; }\nvar tg = e.target.tagName; if (tg === 'TEXTAREA' ? true : tg === 'INPUT') { return; }\nvar cur = $('.ahd-vi.on'); var id = cur ? cur.getAttribute('data-vi') : '1';\nif (e.key === 'j') { selV(id === '1' ? '2' : '2'); }\nif (e.key === 'k') { selV('1'); }\nif (e.key === 'v') { decide(id, true); }\nif (e.key === 'r') { decide(id, false); }\n});\nvar anLeft = 3;\n$$('.ahd-an').forEach(function(a){\nvar cf = $('.ahd-cf', a), ds = $('.ahd-ds', a);\nif (!cf) { return; }\nvar done = function(ok){\na.classList.add('done'); $('.s-cf', a).hidden = !ok; $('.s-ds', a).hidden = ok;\nanLeft--; var b = $('.ahd-nan'); b.textContent = String(anLeft); b.classList.toggle('z', anLeft === 0);\njournal((ok ? T('jcf') : T('jds')) + ' \u00b7 ' + $('b', a).textContent);\n};\ncf.addEventListener('click', function(){ done(true); });\nds.addEventListener('click', function(){ done(false); });\n});\n$('.ahd-ack').addEventListener('click', function(){\n$('#ahd-alert').classList.add('done'); $('.k-ale').textContent = '0'; $('.ahd-nal').classList.add('z');\njournal(T('jack')); toast(T('tack'));\n});\n$$('.ahd-ro').forEach(function(b){ b.addEventListener('click', function(){ toast(T('ro')); }); });\n$('.ahd-chain').addEventListener('click', function(){ toast(T('tchain')); });\n$$('.ahd-tour button').forEach(function(b){\nb.addEventListener('click', function(){\nvar g = b.getAttribute('data-go');\nif (g === 'stop') { openStop(); return; }\nif (g === 'ru') { var k = 0; for (var i = 0; i < runs.length; i++) { if (runs[i].a === 0) { if (runs[i].st === 'ok') { k = i; break; } } } openRun(k); return; }\nshow(g);\n});\n});\ndocument.addEventListener('keydown', function(e){ if (e.key === 'Escape') { mod.classList.remove('on'); } });\n$('.ahd-theme').addEventListener('click', function(){ R.classList.toggle('dk'); });\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AgentHub ConnectEntreprise de d\u00e9monstration \u00b7 donn\u00e9es fictives Vue d&rsquo;ensembleValider une \u00e9critureOuvrir un runArr\u00eat g\u00e9n\u00e9ral R\u00e9server une vraie d\u00e9mo \u2192 AgentHubConnect Vue d&rsquo;ensembleAgentsRunsConnecteursValidations2Garde-fousAlertes1IncidentsAnomalies3ValeurRegistreJournal d&rsquo;auditUtilisateurs Console sur votre infrastructure. Chaque sortie est journalis\u00e9e. Vue d&rsquo;ensembleValidationsRunsAnomaliesGarde-fousAgentsValeurConnecteursAlertesJournal d&rsquo;audit RechercherCtrl K SM Sophie MartinPropri\u00e9taire Arr\u00eat g\u00e9n\u00e9ral actif depuis &#8211;:&#8211;. Aucun agent ne peut d\u00e9marrer de run.Reprendre Vue d&rsquo;ensemble Chiffres constat\u00e9s [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-7883","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>D\u00e9mo AgentHub Connect &#8212; Wiven AI<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wiven.ai\/en\/demo-agenthub-connect\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"D\u00e9mo AgentHub Connect &#8212; Wiven AI\" \/>\n<meta property=\"og:description\" content=\"AgentHub ConnectEntreprise de d\u00e9monstration \u00b7 donn\u00e9es fictives Vue d&rsquo;ensembleValider une \u00e9critureOuvrir un runArr\u00eat g\u00e9n\u00e9ral R\u00e9server une vraie d\u00e9mo \u2192 AgentHubConnect Vue d&rsquo;ensembleAgentsRunsConnecteursValidations2Garde-fousAlertes1IncidentsAnomalies3ValeurRegistreJournal d&rsquo;auditUtilisateurs Console sur votre infrastructure. Chaque sortie est journalis\u00e9e. Vue d&rsquo;ensembleValidationsRunsAnomaliesGarde-fousAgentsValeurConnecteursAlertesJournal d&rsquo;audit RechercherCtrl K SM Sophie MartinPropri\u00e9taire Arr\u00eat g\u00e9n\u00e9ral actif depuis &#8211;:&#8211;. Aucun agent ne peut d\u00e9marrer de run.Reprendre Vue d&rsquo;ensemble Chiffres constat\u00e9s [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wiven.ai\/en\/demo-agenthub-connect\/\" \/>\n<meta property=\"og:site_name\" content=\"Wiven AI\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-05T13:15:47+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/demo-agenthub-connect\\\/\",\"url\":\"https:\\\/\\\/www.wiven.ai\\\/demo-agenthub-connect\\\/\",\"name\":\"D\u00e9mo AgentHub Connect &#8212; Wiven AI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/#website\"},\"datePublished\":\"2026-11-05T12:04:40+00:00\",\"dateModified\":\"2026-11-05T13:15:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/demo-agenthub-connect\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.wiven.ai\\\/demo-agenthub-connect\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/demo-agenthub-connect\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.wiven.ai\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"D\u00e9mo AgentHub Connect\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.wiven.ai\\\/#website\",\"url\":\"https:\\\/\\\/www.wiven.ai\\\/\",\"name\":\"Wiven AI\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.wiven.ai\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"D\u00e9mo AgentHub Connect &#8212; Wiven AI","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wiven.ai\/en\/demo-agenthub-connect\/","og_locale":"en_US","og_type":"article","og_title":"D\u00e9mo AgentHub Connect &#8212; Wiven AI","og_description":"AgentHub ConnectEntreprise de d\u00e9monstration \u00b7 donn\u00e9es fictives Vue d&rsquo;ensembleValider une \u00e9critureOuvrir un runArr\u00eat g\u00e9n\u00e9ral R\u00e9server une vraie d\u00e9mo \u2192 AgentHubConnect Vue d&rsquo;ensembleAgentsRunsConnecteursValidations2Garde-fousAlertes1IncidentsAnomalies3ValeurRegistreJournal d&rsquo;auditUtilisateurs Console sur votre infrastructure. Chaque sortie est journalis\u00e9e. Vue d&rsquo;ensembleValidationsRunsAnomaliesGarde-fousAgentsValeurConnecteursAlertesJournal d&rsquo;audit RechercherCtrl K SM Sophie MartinPropri\u00e9taire Arr\u00eat g\u00e9n\u00e9ral actif depuis &#8211;:&#8211;. Aucun agent ne peut d\u00e9marrer de run.Reprendre Vue d&rsquo;ensemble Chiffres constat\u00e9s [&hellip;]","og_url":"https:\/\/www.wiven.ai\/en\/demo-agenthub-connect\/","og_site_name":"Wiven AI","article_modified_time":"2026-11-05T13:15:47+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wiven.ai\/demo-agenthub-connect\/","url":"https:\/\/www.wiven.ai\/demo-agenthub-connect\/","name":"D\u00e9mo AgentHub Connect &#8212; Wiven AI","isPartOf":{"@id":"https:\/\/www.wiven.ai\/#website"},"datePublished":"2026-11-05T12:04:40+00:00","dateModified":"2026-11-05T13:15:47+00:00","breadcrumb":{"@id":"https:\/\/www.wiven.ai\/demo-agenthub-connect\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wiven.ai\/demo-agenthub-connect\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wiven.ai\/demo-agenthub-connect\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.wiven.ai\/"},{"@type":"ListItem","position":2,"name":"D\u00e9mo AgentHub Connect"}]},{"@type":"WebSite","@id":"https:\/\/www.wiven.ai\/#website","url":"https:\/\/www.wiven.ai\/","name":"Wiven AI","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wiven.ai\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"}]}},"_links":{"self":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/pages\/7883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/comments?post=7883"}],"version-history":[{"count":5,"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/pages\/7883\/revisions"}],"predecessor-version":[{"id":7889,"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/pages\/7883\/revisions\/7889"}],"wp:attachment":[{"href":"https:\/\/www.wiven.ai\/en\/wp-json\/wp\/v2\/media?parent=7883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}