tinybard / static /index.html
Hermes Bot
feat: add support for custom OpenAI-compatible endpoints in config UI
5941741 unverified
Raw
History Blame Contribute Delete
4.73 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ᐴ TinyBard ᔔ — Aanishinaabe Mikinaak-Aki</title>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<header class="asp-banner">
<span class="syll"></span>
<span class="glyph"></span>
<span class="title">TINYBARD</span>
<span class="glyph"></span>
<span class="subtitle">— a fire-fly storyteller in cedar and copper —</span>
<span class="syll"></span>
</header>
<div class="crt-container">
<div class="crt-screen" id="screen">
<div class="scanlines"></div>
<div class="vignette"></div>
<div class="terminal" id="terminal">
<div class="terminal-header">
<span class="prompt">ᐴ TINYBARD v1.0 ᔔ · GIIZHI-AADIZOKED</span>
<span class="status" id="health-bar">NOOSISKAAZOWIN: <span id="health-val">100</span></span><button id="config-btn" style="float:right;background:none;border:1px solid var(--asp-amber,#FFB347);color:var(--asp-sun,#F2A93B);cursor:pointer;font-family:monospace;font-size:0.75rem;padding:0.15rem 0.4rem;border-radius:2px;">⚙ CONFIG</button>
</div>
<div class="terminal-body" id="output">
<div class="boot-sequence" id="boot">
<span class="line">&gt; INITIAINDIZOWIN / INITIALIZING NEURAL INTERFACE...</span>
<span class="line">&gt; AABAJICHIGANAN / LOADING NARRATIVE ENGINE...</span>
<span class="line">&gt; GIIWENAABIK / CONNECTING TO GRADIO SERVER...</span>
<span class="line success">&gt; MII-GIIWETA / CONNECTION ESTABLISHED</span>
<span class="line">&gt; INAABANDA'IWIN / SELECT GENRE TO BEGIN ᔔ</span>
</div>
</div>
<div class="genre-selector" id="genre-selector">
<div class="genre-option" data-genre="fantasy">
<span class="icon"></span> AADIZOOKAAN / FANTASY
</div>
<div class="genre-option" data-genre="scifi">
<span class="icon"></span> ISHPIMING / SCI-FI
</div>
<div class="genre-option" data-genre="cyberpunk">
<span class="icon"></span> MASHKODEWAAZIBI / CYBERPUNK
</div>
</div>
<div class="choices-container" id="choices" style="display: none;">
<!-- Choices injected here -->
</div>
<div class="input-line" id="input-line" style="display: none;">
<span class="prompt-char">&gt;</span>
<input type="text" id="cmd-input" autocomplete="off" spellcheck="false" />
<span class="cursor">_</span>
</div>
<div class="terminal-footer">
<span>ᐴ TinyBard · FastAPI + Gradio + MCP · llama.cpp ᔔ</span>
<span id="model-status">☘ MODEL: AABAJICHIGE / LOADING...</span>
</div>
</div>
</div>
<div class="crt-reflection"></div>
</div>
<script type="module" src="/static/main.js"></script>
<!-- User config modal -->
<div id="tb-config-modal" class="tb-modal-overlay" style="display:none;">
<div class="tb-modal">
<button class="tb-close" id="tb-config-close"></button>
<h3>⚙ Inference Configuration</h3>
<p style="font-size:0.8rem;color:var(--asp-moss,#588157);">
Provide your own HuggingFace token to unlock models that need auth.
Your token lives in browser memory only — never sent anywhere except api.huggingface.co.
</p>
<label for="tb-model-input">Model ID</label>
<input type="text" id="tb-model-input" placeholder="Qwen/Qwen2.5-1.5B-Instruct" />
<label for="tb-token-input">HF Token (optional)</label>
<input type="password" id="tb-token-input" placeholder="hf_..." />
<label for="tb-endpoint-input">Custom Endpoint (optional)</label>
<input type="text" id="tb-endpoint-input" placeholder="https://api.together.xyz/v1" />
<button id="tb-config-save">Save & Reload</button>
<span id="tb-config-status" style="margin-left:0.5rem;color:var(--asp-moss,#588157);"></span>
</div>
</div>
</body>
</html>