| <!doctype html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <title>Pi CLI Web</title> |
| <script type="module" crossorigin src="/assets/index-CB_zB4U3.js"></script> |
| <link rel="stylesheet" crossorigin href="/assets/index-NRwwiW4N.css"> |
| </head> |
| <body> |
| <main id="app"> |
| <header class="runtime-bar" aria-label="Runtime status"> |
| <div> |
| <h1>pi</h1> |
| <p id="model-label"></p> |
| </div> |
| <div class="status-stack"> |
| <span class="status" id="status">Idle</span> |
| <span class="status" id="model-status">Model idle</span> |
| <span class="status" id="sandbox-status">Sandbox idle</span> |
| </div> |
| </header> |
|
|
| <section class="terminal-shell" aria-label="Pi terminal"> |
| <div id="terminal"></div> |
| </section> |
|
|
| <section class="model-gate" id="model-gate" aria-labelledby="model-gate-title" aria-modal="true" role="dialog"> |
| <div class="model-dialog"> |
| <div> |
| <p class="eyebrow">Local model setup</p> |
| <h2 id="model-gate-title">Download the selected model to this browser?</h2> |
| <p class="dialog-copy"> |
| This static web port runs pi with Transformers.js and WebContainers. The model download stays in browser storage when possible. |
| </p> |
| </div> |
| <div class="dialog-actions"> |
| <button id="confirm-load-model" type="button">Download Model</button> |
| <button id="use-test-model" type="button">Use Test Model</button> |
| </div> |
| <div class="dialog-options"> |
| <label> |
| Device |
| <select id="gate-device"> |
| <option value="webgpu">WebGPU</option> |
| <option value="wasm">WASM</option> |
| </select> |
| </label> |
| <p id="gate-status">Ready.</p> |
| </div> |
| </div> |
| </section> |
| </main> |
| </body> |
| </html> |
|
|