add browser toys portal page and sidebar links
new browser-toys.html with install instructions, storage/privacy docs, and per-browser guides. sidebar link added to all 26 pages. browser toys section added to index.html and uncloseai-js.html.
This commit is contained in:
parent
3289b9b7be
commit
c6e47df7c2
27 changed files with 232 additions and 0 deletions
192
public/browser-toys.html
Normal file
192
public/browser-toys.html
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="theme-color" content="#43a047">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<title>Browser Toys - Machine Learning on Every Page | uncloseai.com</title>
|
||||
|
||||
<!-- PicoCSS -->
|
||||
<link rel="stylesheet" href="/css/pico.classless.min.css">
|
||||
<!-- ChunkFive Font -->
|
||||
<link rel="stylesheet" href="/css/chunkfive/stylesheet.css" type="text/css" charset="utf-8" />
|
||||
<!-- Sidebar Theme -->
|
||||
<link rel="stylesheet" href="/css/sidebar-theme.css">
|
||||
|
||||
<!-- Highlight.js for syntax highlighting -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/a11y-dark.min.css" />
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>
|
||||
|
||||
<!-- Theme Switcher Script -->
|
||||
<script>
|
||||
function switchTheme(theme) {
|
||||
if (theme === "auto") {
|
||||
document.documentElement.removeAttribute('data-theme');
|
||||
} else {
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
}
|
||||
}
|
||||
|
||||
// Disable custom styling for uncloseai.js - use PicoCSS instead
|
||||
window.UNCLOSEAI_CUSTOM_STYLING = false;
|
||||
</script>
|
||||
|
||||
<script src="https://uncloseai.com/uncloseai.js" type="module"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Mobile menu toggle -->
|
||||
<button class="sidebar-toggle" onclick="document.querySelector('.sidebar').classList.toggle('open')">
|
||||
☰
|
||||
</button>
|
||||
|
||||
<!-- Left sidebar - Main Navigation -->
|
||||
<aside class="sidebar">
|
||||
<div class="table-of-contents">
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="/c-examples.html">C Examples</a></li>
|
||||
<li><a href="/csharp-examples.html">C# Examples</a></li>
|
||||
<li><a href="/dart-examples.html">Dart Examples</a></li>
|
||||
<li><a href="/elixir-examples.html">Elixir Examples</a></li>
|
||||
<li><a href="/go-examples.html">Go Examples</a></li>
|
||||
<li><a href="/java-examples.html">Java Examples</a></li>
|
||||
<li><a href="/kotlin-examples.html">Kotlin Examples</a></li>
|
||||
<li><a href="/nodejs-examples.html">Node.js Examples</a></li>
|
||||
<li><a href="/php-examples.html">PHP Examples</a></li>
|
||||
<li><a href="/python-examples.html">Python Examples</a></li>
|
||||
<li><a href="/ruby-examples.html">Ruby Examples</a></li>
|
||||
<li><a href="/rust-examples.html">Rust Examples</a></li>
|
||||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html" class="active">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
<li><a href="/languages" target="_blank">🔗 All Languages</a></li>
|
||||
<li><a href="https://shop.unturf.com/p/8486f492-a93e-11f0-b477-02dfe05770ee/uncloseai-machine-learning-reference-guide-to-inference-clients" target="_blank">📚 Book</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<!-- Main content -->
|
||||
<main>
|
||||
<header>
|
||||
<hgroup>
|
||||
<a href="https://uncloseai.com"><h1 class="unturf" style="font-family: 'ChunkFiveRegular';">uncloseai.</h1></a>
|
||||
<p>Browser Toys - Machine Learning on Every Page</p>
|
||||
</hgroup>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="#" onclick="switchTheme('auto')">Auto</a></li>
|
||||
<li><a href="#" onclick="switchTheme('light')">Light</a></li>
|
||||
<li><a href="#" onclick="switchTheme('dark')">Dark</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<h2 id="intro">Browser Toys</h2>
|
||||
<p>Browser extensions that add the <strong>uncloseai.</strong> floating button to every web page you visit. Lightweight wrappers around <a href="/uncloseai-js.html">uncloseai.js</a> — no server, no backend, no accounts. The extension injects the script tag, and everything else runs client-side in your browser.</p>
|
||||
|
||||
<h3 id="extensions">Available Extensions</h3>
|
||||
|
||||
<h4 id="chrome">Chrome / Edge / Brave / Vivaldi / Arc</h4>
|
||||
<p>Manifest V3 extension for all Chromium-based browsers.</p>
|
||||
<ol>
|
||||
<li>Clone the repo: <code>git clone https://github.com/uncloseai/browser-toys.git</code></li>
|
||||
<li>Open <code>chrome://extensions</code>, enable Developer mode</li>
|
||||
<li>Click <strong>Load unpacked</strong>, select the <code>extensions/chrome</code> directory</li>
|
||||
</ol>
|
||||
|
||||
<h4 id="firefox">Firefox</h4>
|
||||
<p>Manifest V2 extension for Firefox 109+ and Firefox-based browsers (LibreWolf, Waterfox).</p>
|
||||
<ol>
|
||||
<li>Clone the repo: <code>git clone https://github.com/uncloseai/browser-toys.git</code></li>
|
||||
<li>Open <code>about:debugging#/runtime/this-firefox</code></li>
|
||||
<li>Click <strong>Load Temporary Add-on</strong>, select <code>extensions/firefox/manifest.json</code></li>
|
||||
</ol>
|
||||
|
||||
<h4 id="safari">Safari</h4>
|
||||
<p>Safari Web Extension for macOS and iOS. Requires Xcode conversion.</p>
|
||||
<pre><code class="language-bash">git clone https://github.com/uncloseai/browser-toys.git
|
||||
cd browser-toys
|
||||
xcrun safari-web-extension-converter extensions/safari \
|
||||
--project-location ./safari-xcode \
|
||||
--app-name "uncloseai" \
|
||||
--bundle-identifier com.uncloseai.browser-toy \
|
||||
--no-open</code></pre>
|
||||
<p>Then open the Xcode project, build, and enable in Safari Settings > Extensions.</p>
|
||||
|
||||
<h3 id="how-it-works">How it works</h3>
|
||||
<ol>
|
||||
<li>The content script injects <code><script src="https://uncloseai.com/uncloseai.js" type="module"></code> into every page</li>
|
||||
<li>If uncloseai.js is already on the page, it skips injection (no duplicates)</li>
|
||||
<li>The floating <strong>uncloseai.</strong> button appears in the bottom-right corner</li>
|
||||
<li>Click it to chat with Hermes about the current page</li>
|
||||
<li>Toggle the extension on or off from the toolbar popup</li>
|
||||
</ol>
|
||||
|
||||
<h3 id="storage">Storage and privacy</h3>
|
||||
<p>These extensions have no backend. Everything runs client-side in your browser.</p>
|
||||
<ul>
|
||||
<li><strong>Chat history</strong> stays in your browser's localStorage, scoped per domain. Conversations on <code>example.com</code> are separate from conversations on <code>github.com</code>. Clear a site's localStorage to clear its chat history.</li>
|
||||
<li><strong>Settings</strong> (model selection, language preference, voice) are stored in localStorage.</li>
|
||||
<li><strong>Secrets</strong> (custom API keys, if you configure them) are protected by the optional UncloseVault, which encrypts with AES before writing to localStorage.</li>
|
||||
<li><strong>The extension itself</strong> stores one boolean value: enabled on/off. That is the only data the extension touches.</li>
|
||||
</ul>
|
||||
<p>No data leaves your browser except the messages you choose to send to the public AI endpoints at <code>hermes.ai.unturf.com</code>, <code>qwen.ai.unturf.com</code>, and <code>speech.ai.unturf.com</code>.</p>
|
||||
|
||||
<h3 id="source">Source Code</h3>
|
||||
<p>📦 <a href="https://github.com/uncloseai/browser-toys" target="_blank">github.com/uncloseai/browser-toys</a></p>
|
||||
<p>Public domain. No attribution required.</p>
|
||||
|
||||
<script>hljs.highlightAll();</script>
|
||||
|
||||
<footer>
|
||||
<small>© uncloseai. 2025</small>
|
||||
<br>
|
||||
<small>Stylesheets by <a href="https://picocss.com" target="_blank">PicoCSS</a></small>
|
||||
<small>& <a href="https://highlightjs.org/" target="_blank">highlight.js</a></small>
|
||||
<br>
|
||||
<small><a href="/privacy-policy.html">Privacy Policy</a> | <a href="/terms-of-use.html">Terms of Use</a></small>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Simple active link highlighting
|
||||
document.querySelectorAll('.table-of-contents a').forEach(link => {
|
||||
link.addEventListener('click', function() {
|
||||
document.querySelectorAll('.table-of-contents a').forEach(a => a.classList.remove('active'));
|
||||
this.classList.add('active');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</main>
|
||||
|
||||
<!-- Right sidebar - Page TOC -->
|
||||
<aside class="sidebar-right">
|
||||
<div class="table-of-contents">
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="#intro" class="active">Overview</a></li>
|
||||
<li><a href="#extensions">Extensions</a>
|
||||
<ul>
|
||||
<li><a href="#chrome">Chrome / Edge</a></li>
|
||||
<li><a href="#firefox">Firefox</a></li>
|
||||
<li><a href="#safari">Safari</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#how-it-works">How it works</a></li>
|
||||
<li><a href="#storage">Storage & Privacy</a></li>
|
||||
<li><a href="#source">Source Code</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</aside>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -63,6 +63,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html" class="active">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/crawler.html" class="active">Our Crawler</a></li>
|
||||
<li><a href="/languages" target="_blank">🔗 All Languages</a></li>
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
@ -121,6 +122,15 @@
|
|||
|
||||
<p><a href="/uncloseai-js.html"><strong>📖 Read the full uncloseai.js documentation →</strong></a></p>
|
||||
|
||||
<h3 id="browser-toys">🧩 Browser Toys</h3>
|
||||
<p>Want the uncloseai. button on <strong>every</strong> web page without adding any code? Install a browser extension. Lightweight wrappers that inject uncloseai.js into every page you visit. No server, no accounts. Chat history stays in your browser's localStorage, scoped per domain.</p>
|
||||
<ul>
|
||||
<li><strong>Chrome / Edge / Brave / Vivaldi / Arc</strong> — Manifest V3</li>
|
||||
<li><strong>Firefox</strong> — Manifest V2</li>
|
||||
<li><strong>Safari</strong> — Web Extension (via Xcode)</li>
|
||||
</ul>
|
||||
<p><a href="/browser-toys.html"><strong>🧩 Get Browser Toys →</strong></a></p>
|
||||
|
||||
<h2 id="examples">Code Examples</h2>
|
||||
|
||||
<p>We provide comprehensive code examples for using the <strong>uncloseai.</strong> API with popular programming languages. Each example demonstrates both streaming and non-streaming modes with Hermes (general purpose AI) and Qwen 3 Coder (specialized coding model).</p>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html" class="active">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html" class="active">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html" class="active">Text-to-Speech</a></li>
|
||||
<li><a href="/tts/voice-cloning.html" style="padding-left:2em">Qwen3-TTS</a></li>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/tts/voice-cloning.html" style="padding-left:2em">Qwen3-TTS</a></li>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/tts/voice-cloning.html" style="padding-left:2em">Qwen3-TTS</a></li>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/tts/voice-cloning.html" style="padding-left:2em">Qwen3-TTS</a></li>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/tts/voice-cloning.html" style="padding-left:2em">Qwen3-TTS</a></li>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/tts/voice-cloning.html" class="active" style="padding-left:2em">Qwen3-TTS</a></li>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
||||
<li><a href="/uncloseai-js.html" class="active">uncloseai.js Docs</a></li>
|
||||
<li><a href="/cli.html">uncloseai-cli</a></li>
|
||||
<li><a href="/browser-toys.html">Browser Toys</a></li>
|
||||
<li><a href="/inference.html">Inference Setup</a></li>
|
||||
<li><a href="/text-to-speech.html">Text-to-Speech</a></li>
|
||||
<li><a href="/crawler.html">Our Crawler</a></li>
|
||||
|
|
@ -177,6 +178,11 @@
|
|||
<li>"Generate a creative short story about a robot learning to paint"</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="browser-toys">🧩 Browser Toys - Every Page, Every Browser</h3>
|
||||
<p>Don't own the site? No problem. Install a <a href="/browser-toys.html">browser toy</a> to get the uncloseai. button on every web page you visit. Lightweight extensions that inject this same script tag into every page. No server, no accounts. Chat history stays in your browser's localStorage, scoped per domain.</p>
|
||||
<p>Available for Chrome, Edge, Firefox, Safari, Brave, Vivaldi, and Arc.</p>
|
||||
<p><a href="/browser-toys.html"><strong>🧩 Get Browser Toys →</strong></a></p>
|
||||
|
||||
<h3>Use Cases</h3>
|
||||
<p>uncloseai.js is perfect for:</p>
|
||||
<ul>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue