Initial commit — GCP Dot self-hosted clone
Server (FastAPI + SQLite) runs Stouffer Z network variance analysis. Egg container uses os.urandom for hardware-entropy 200-bit trials. Gitea Actions workflow auto-builds and publishes both Docker images. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
51
server/static/gcp.html
Normal file
51
server/static/gcp.html
Normal file
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<style>
|
||||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
html, body { width: 48px; height: 48px; overflow: hidden; background: transparent; }
|
||||
.dot {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: #00cc44;
|
||||
box-shadow: 0 0 14px 4px rgba(0,204,68,.6);
|
||||
position: absolute;
|
||||
top: 4px; left: 4px;
|
||||
transition: background 2.5s ease, box-shadow 2.5s ease;
|
||||
animation: breathe 4s ease-in-out infinite;
|
||||
}
|
||||
@keyframes breathe {
|
||||
0%,100% { transform: scale(1); }
|
||||
50% { transform: scale(1.08); }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="dot" id="dot" title="Global Consciousness Index"></div>
|
||||
<script>
|
||||
function palette(i) {
|
||||
if (i > 95) return ['#0055ff','rgba(0,85,255,.6)'];
|
||||
if (i > 90) return ['#00ccff','rgba(0,204,255,.6)'];
|
||||
if (i > 40) return ['#00cc44','rgba(0,204,68,.6)'];
|
||||
if (i > 10) return ['#ffdd00','rgba(255,221,0,.6)'];
|
||||
if (i > 5) return ['#ff8800','rgba(255,136,0,.6)'];
|
||||
return ['#ff2200','rgba(255,34,0,.6)'];
|
||||
}
|
||||
const dot = document.getElementById('dot');
|
||||
async function update() {
|
||||
try {
|
||||
const r = await fetch('/api/status');
|
||||
const d = await r.json();
|
||||
const [color, glow] = palette(d.index);
|
||||
dot.style.background = color;
|
||||
dot.style.boxShadow = `0 0 14px 4px ${glow}`;
|
||||
dot.title = `GCP Index: ${Math.round(d.index)}% (${d.n_eggs} eggs)`;
|
||||
} catch {}
|
||||
}
|
||||
update();
|
||||
setInterval(update, 60000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user