File size: 4,728 Bytes
140c4d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5941741
 
 
140c4d5
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!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>