Download index.html from Wicklee/wicklee-gpu-observability: direct link, hf CLI and curl.
- Browser
- Download file 6.94 kB
-
https://huggingface.co/spaces/Wicklee/wicklee-gpu-observability/resolve/main/index.html
- Command line
-
hf download hf://spaces/Wicklee/wicklee-gpu-observability/index.html
-
curl -L -o index.html https://huggingface.co/spaces/Wicklee/wicklee-gpu-observability/resolve/main/index.html
6.94 kB
| <html lang="en" class="dark"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <!-- Defeats Safari Reader Mode auto-trigger on slow hard refreshes. | |
| Reader's heuristic scans for article-like content (headings + body | |
| text) during the pre-hydration paint window. format-detection | |
| + the role="application" on root below mark this as an app, not | |
| prose β Safari skips the article scan entirely. --> | |
| <meta name="format-detection" content="telephone=no, address=no, email=no, date=no" /> | |
| <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://*.paddle.com https://*.profitwell.com https://clerk.wicklee.dev https://*.clerk.accounts.dev https://challenges.cloudflare.com https://static.cloudflareinsights.com; worker-src 'self' blob:; style-src 'self' https://fonts.googleapis.com https://*.paddle.com 'unsafe-inline'; font-src https://fonts.gstatic.com; connect-src 'self' ws://localhost:* ws://127.0.0.1:* http://localhost:* http://127.0.0.1:* https://*.up.railway.app https://wicklee.dev https://api.clerk.dev https://*.clerk.accounts.dev https://clerk.wicklee.dev https://challenges.cloudflare.com https://*.paddle.com https://static.cloudflareinsights.com; img-src 'self' data: https:; frame-src https://*.paddle.com https://*.clerk.accounts.dev https://clerk.wicklee.dev https://challenges.cloudflare.com;" /> | |
| <title>Wicklee β Private AI, finally observable.</title> | |
| <meta name="description" content="Routing intelligence. True inference cost. Thermal state. Live, across every node. Built for Ollama and vLLM. Install in 60 seconds β nothing to configure." /> | |
| <meta property="og:title" content="Wicklee β Private AI, finally observable." /> | |
| <meta property="og:description" content="Routing intelligence. True inference cost. Thermal state. Live, across every node. Built for Ollama and vLLM. Install in 60 seconds β nothing to configure." /> | |
| <meta name="twitter:title" content="Wicklee β Private AI, finally observable." /> | |
| <meta name="twitter:description" content="Routing intelligence. True inference cost. Thermal state. Live, across every node. Built for Ollama and vLLM. Install in 60 seconds β nothing to configure." /> | |
| <meta name="twitter:card" content="summary_large_image" /> | |
| <meta property="og:image" content="https://wicklee.dev/og-image.png" /> | |
| <meta property="og:image:width" content="1200" /> | |
| <meta property="og:image:height" content="630" /> | |
| <meta property="og:image:alt" content="Wicklee β Private AI, finally observable. WES, the MPG for local AI. Ollama, vLLM, llama.cpp." /> | |
| <meta name="twitter:image" content="https://wicklee.dev/og-image.png" /> | |
| <meta property="og:type" content="website" /> | |
| <meta property="og:site_name" content="Wicklee" /> | |
| <meta property="og:url" content="https://wicklee.dev/" /> | |
| <link rel="canonical" href="https://wicklee.dev/" /> | |
| <!-- Warm the origins on the cold-load critical path so DNS + TLS overlap the | |
| HTML download instead of following it. Order matches first use. --> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
| <link rel="preconnect" href="https://clerk.wicklee.dev"> | |
| <!-- The font stylesheet is added by /fonts.js (async, same-origin β CSP has no | |
| 'unsafe-inline' so the usual onload="this.media='all'" trick is blocked). | |
| Text paints in the system stack and swaps to Inter when it arrives, instead | |
| of the whole page waiting on fonts.googleapis.com. --> | |
| <script src="/fonts.js" async></script> | |
| <noscript><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet"></noscript> | |
| <style> | |
| body { | |
| font-family: 'Inter', sans-serif; | |
| background-color: #111827; /* gray-900 β lifted from gray-950 (#030712) for less oppressive dark */ | |
| color: #f9fafb; | |
| } | |
| ::-webkit-scrollbar { width: 8px; height: 8px; } | |
| ::-webkit-scrollbar-track { background: #1f2937; } | |
| ::-webkit-scrollbar-thumb { background: #4b5563; border-radius: 4px; } | |
| ::-webkit-scrollbar-thumb:hover { background: #6b7280; } | |
| /* Blog post prose */ | |
| .blog-content { color: #d1d5db; line-height: 1.8; } | |
| .blog-content h1, .blog-content h2, .blog-content h3, | |
| .blog-content h4, .blog-content h5, .blog-content h6 { | |
| color: #f9fafb; font-weight: 700; margin-top: 2em; margin-bottom: 0.6em; line-height: 1.3; | |
| } | |
| .blog-content h2 { font-size: 1.5rem; } | |
| .blog-content h3 { font-size: 1.25rem; } | |
| .blog-content p { margin-bottom: 1.25em; } | |
| .blog-content a { color: #60a5fa; text-decoration: underline; text-underline-offset: 3px; } | |
| .blog-content a:hover { color: #93c5fd; } | |
| .blog-content strong { color: #f9fafb; font-weight: 600; } | |
| .blog-content em { font-style: italic; } | |
| .blog-content code { | |
| background: #1f2937; color: #e5e7eb; padding: 0.15em 0.45em; | |
| border-radius: 4px; font-size: 0.875em; font-family: 'JetBrains Mono', monospace; | |
| } | |
| .blog-content pre { | |
| background: #111827; border: 1px solid #1f2937; border-radius: 12px; | |
| padding: 1.25rem 1.5rem; overflow-x: auto; margin-bottom: 1.5em; | |
| } | |
| .blog-content pre code { | |
| background: none; padding: 0; border-radius: 0; font-size: 0.875rem; | |
| } | |
| .blog-content blockquote { | |
| border-left: 3px solid #3b82f6; padding-left: 1.25rem; | |
| color: #9ca3af; margin: 1.5em 0; font-style: italic; | |
| } | |
| .blog-content ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.25em; } | |
| .blog-content ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1.25em; } | |
| .blog-content li { margin-bottom: 0.4em; } | |
| .blog-content hr { border: none; border-top: 1px solid #1f2937; margin: 2em 0; } | |
| .blog-content table { width: 100%; border-collapse: collapse; margin-bottom: 1.5em; font-size: 0.9rem; } | |
| .blog-content th { | |
| background: #1f2937; color: #f9fafb; font-weight: 600; | |
| padding: 0.6rem 1rem; text-align: left; border-bottom: 1px solid #374151; | |
| } | |
| .blog-content td { padding: 0.6rem 1rem; border-bottom: 1px solid #1f2937; } | |
| .blog-content tr:last-child td { border-bottom: none; } | |
| </style> | |
| <script type="module" crossorigin src="/assets/index-BNkSlwuG.js"></script> | |
| <link rel="stylesheet" crossorigin href="/assets/index-C5mvYnXD.css"> | |
| </head> | |
| <body> | |
| <div id="root" role="application" aria-label="Wicklee dashboard"></div> | |
| <!-- Paddle.js is not loaded here: it is only touched when a checkout opens, | |
| so src/cloud/utils/loadPaddle.ts injects it on demand (CSP script-src already | |
| allows https://*.paddle.com). --> | |
| </body> | |
| </html> |