Add Maria WhatsApp+RAG bridge as a service (LXC 171)
Move the /tmp prototype (Baileys bridge + RAG consumer) into git as a proper sibling project to discord-bridge/: own systemd --user units (whatsapp bridge, rag consumer, dashboard, periodic Drive sync timer), a filesystem document store with a stdlib control dashboard (start/ stop/restart, document CRUD, reindex, Google Drive sync via rclone), and an idempotent ops/install.sh following the same conventions. Co-Authored-By: Claude Agent <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ro">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Maria — autentificare</title>
|
||||
<style>
|
||||
body{font-family:system-ui,sans-serif;background:#111;color:#eee;display:flex;
|
||||
align-items:center;justify-content:center;min-height:100vh;margin:0}
|
||||
form{background:#1b1b1b;padding:32px;border-radius:12px;width:320px}
|
||||
h1{font-size:18px;margin:0 0 16px}
|
||||
input{width:100%;padding:10px;border-radius:6px;border:1px solid #333;
|
||||
background:#0d0d0d;color:#eee;box-sizing:border-box;margin-bottom:12px}
|
||||
button{width:100%;padding:10px;border-radius:6px;border:none;background:#2e7d32;
|
||||
color:#fff;font-weight:600;cursor:pointer}
|
||||
button:hover{background:#256428}
|
||||
.err{color:#e57373;font-size:13px;min-height:18px}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="f">
|
||||
<h1>Maria — dashboard WhatsApp+RAG</h1>
|
||||
<input type="password" id="token" placeholder="DASHBOARD_TOKEN" autofocus>
|
||||
<button type="submit">Intra</button>
|
||||
<div class="err" id="err"></div>
|
||||
</form>
|
||||
<script>
|
||||
document.getElementById('f').addEventListener('submit', async (e) => {
|
||||
e.preventDefault();
|
||||
const token = document.getElementById('token').value;
|
||||
const err = document.getElementById('err');
|
||||
err.textContent = '';
|
||||
try {
|
||||
const r = await fetch('/api/auth/login', {
|
||||
method: 'POST', headers: {'Content-Type': 'application/json'},
|
||||
body: JSON.stringify({token}),
|
||||
});
|
||||
if (r.ok) { location.href = '/'; return; }
|
||||
const d = await r.json().catch(() => ({}));
|
||||
err.textContent = d.error || 'token invalid';
|
||||
} catch (ex) {
|
||||
err.textContent = 'eroare de retea';
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user