<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Smart Fallback on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/smart-fallback/</link>
        <description>Recent content in Smart Fallback on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sat, 09 May 2026 16:47:12 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/smart-fallback/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>9router</title>
        <link>https://producthunt.programnotes.cn/en/p/9router/</link>
        <pubDate>Sat, 09 May 2026 16:47:12 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/9router/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1714547603013-3a9732ffe810?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NzgzMTYzNzh8&amp;ixlib=rb-4.1.0" alt="Featured image of post 9router" /&gt;&lt;h1 id=&#34;decolua9router&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;decolua/9router&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;img src=&#34;./images/9router.png?1&#34; alt=&#34;9Router Dashboard&#34; width=&#34;800&#34;/&gt;
&lt;h1 id=&#34;9router---free-ai-router--token-saver&#34;&gt;9Router - FREE AI Router &amp;amp; Token Saver
&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE &amp;amp; cheap AI models.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw&amp;hellip;) to 40+ AI Providers &amp;amp; 100+ Models.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/npm/v/9router.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;npm&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/npm/dm/9router.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Downloads&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router/blob/main/LICENSE&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/npm/l/9router.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://trendshift.io/repositories/22628&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://trendshift.io/api/badge/repositories/22628&#34; alt=&#34;decolua%2F9router | Trendshift&#34; style=&#34;width: 250px; height: 55px;&#34; width=&#34;250&#34; height=&#34;55&#34;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;#-quick-start&#34; &gt;🚀 Quick Start&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;#-key-features&#34; &gt;💡 Features&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;#-setup-guide&#34; &gt;📖 Setup&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;https://9router.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;🌐 Website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;./i18n/README.vi.md&#34; &gt;🇻🇳 Tiếng Việt&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;./i18n/README.zh-CN.md&#34; &gt;🇨🇳 中文&lt;/a&gt; • &lt;a class=&#34;link&#34; href=&#34;./i18n/README.ja-JP.md&#34; &gt;🇯🇵 日本語&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-why-9router&#34;&gt;🤔 Why 9Router?
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Stop wasting money, tokens and hitting limits:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;❌ Subscription quota expires unused every month&lt;/li&gt;
&lt;li&gt;❌ Rate limits stop you mid-coding&lt;/li&gt;
&lt;li&gt;❌ Tool outputs (git diff, grep, ls&amp;hellip;) burn tokens fast&lt;/li&gt;
&lt;li&gt;❌ Expensive APIs ($20-50/month per provider)&lt;/li&gt;
&lt;li&gt;❌ Manual switching between providers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;9Router solves this:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;RTK Token Saver&lt;/strong&gt; - Auto-compress tool_result content, save 20-40% tokens per request&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Maximize subscriptions&lt;/strong&gt; - Track quota, use every bit before reset&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Auto fallback&lt;/strong&gt; - Subscription → Cheap → Free, zero downtime&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Multi-account&lt;/strong&gt; - Round-robin between accounts per provider&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Universal&lt;/strong&gt; - Works with Claude Code, Codex, Cursor, Cline, any CLI tool&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-how-it-works&#34;&gt;🔄 How It Works
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;┌─────────────┐&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;Your&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CLI&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Claude&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Codex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OpenClaw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Cursor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Cline&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;...&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;Tool&lt;/span&gt;      &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;└──────┬──────┘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;http&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;20128&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;↓&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;┌─────────────────────────────────────────────┐&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;           &lt;span class=&#34;mi&#34;&gt;9&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Router&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Smart&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Router&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;            &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;•&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RTK&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Token&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Saver&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cut&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tool_result&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tokens&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;•&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Format&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;translation&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;OpenAI&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;↔&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Claude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;     &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;•&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Quota&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tracking&lt;/span&gt;                           &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;•&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Auto&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;token&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;refresh&lt;/span&gt;                       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;└──────┬──────────────────────────────────────┘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;├─→&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tier&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SUBSCRIPTION&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Claude&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Codex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;GitHub&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Copilot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;↓&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quota&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exhausted&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;├─→&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tier&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CHEAP&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;GLM&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.6&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;M&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MiniMax&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;M&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;↓&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;budget&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;limit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;└─→&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tier&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;FREE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Kiro&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OpenCode&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Free&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vertex&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;300&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;credits&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Never&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stop&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;coding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;minimal&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;token&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;savings&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;via&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;RTK&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;-quick-start&#34;&gt;⚡ Quick Start
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. Install globally:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g 9router
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;🎉 Dashboard opens at &lt;code&gt;http://localhost:20128&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Connect a FREE provider (no signup needed):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dashboard → Providers → Connect &lt;strong&gt;Kiro AI&lt;/strong&gt; (free Claude unlimited) or &lt;strong&gt;OpenCode Free&lt;/strong&gt; (no auth) → Done!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Use in your CLI tool:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Claude Code/Codex/OpenClaw/Cursor/Cline Settings:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Endpoint: http://localhost:20128/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  API Key: [copy from dashboard]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Model: kr/claude-sonnet-4.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;That&amp;rsquo;s it!&lt;/strong&gt; Start coding with FREE AI models.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alternative: run from source (this repository):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This repository package is private (&lt;code&gt;9router-app&lt;/code&gt;), so source/Docker execution is the expected local development path.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .env.example .env
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;20128&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;NEXT_PUBLIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:20128 npm run dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Production mode:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;20128&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HOSTNAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.0.0.0 &lt;span class=&#34;nv&#34;&gt;NEXT_PUBLIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:20128 npm run start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Default URLs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dashboard: &lt;code&gt;http://localhost:20128/dashboard&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;OpenAI-compatible API: &lt;code&gt;http://localhost:20128/v1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;video-guides&#34;&gt;Video Guides
&lt;/h2&gt;&lt;div align=&#34;center&#34;&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34; width=&#34;320&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=raEyZPg5xE0&#34;&gt;
        &lt;img src=&#34;https://img.youtube.com/vi/raEyZPg5xE0/maxresdefault.jpg&#34; alt=&#34;9Router Setup Tutorial&#34; width=&#34;300&#34;/&gt;
      &lt;/a&gt;&lt;br/&gt;
      &lt;b&gt;🇺🇸 English&lt;/b&gt;&lt;br/&gt;
      &lt;sub&gt;9Router + Claude Code FREE Setup&lt;br/&gt;by &lt;a href=&#34;https://www.youtube.com/@BuildAIWithHamid&#34;&gt;Build AI With Hamid&lt;/a&gt;&lt;/sub&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;320&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=X69n5Lm06Yw&#34;&gt;
        &lt;img src=&#34;https://img.youtube.com/vi/X69n5Lm06Yw/maxresdefault.jpg&#34; alt=&#34;Tiết kiệm chi phí LLM với 9Router&#34; width=&#34;300&#34;/&gt;
      &lt;/a&gt;&lt;br/&gt;
      &lt;b&gt;🇻🇳 Tiếng Việt&lt;/b&gt;&lt;br/&gt;
      &lt;sub&gt;Tiết kiệm chi phí LLM cho OpenClaw với 9Router&lt;br/&gt;by &lt;a href=&#34;https://www.youtube.com/c/M%C3%ACAIblog&#34;&gt;Mì AI&lt;/a&gt;&lt;/sub&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;320&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=o3qYCyjrFYg&#34;&gt;
        &lt;img src=&#34;https://img.youtube.com/vi/o3qYCyjrFYg/maxresdefault.jpg&#34; alt=&#34;Claude Code FREE Forever&#34; width=&#34;300&#34;/&gt;
      &lt;/a&gt;&lt;br/&gt;
      &lt;b&gt;🇺🇸 English&lt;/b&gt;&lt;br/&gt;
      &lt;sub&gt;Claude Code FREE Forever — Unlimited Models&lt;br/&gt;by &lt;a href=&#34;https://www.youtube.com/@BuildAIWithHamid&#34;&gt;Build AI With Hamid&lt;/a&gt;&lt;/sub&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34; width=&#34;320&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=Ttpc26m39Dw&#34;&gt;
        &lt;img src=&#34;https://img.youtube.com/vi/Ttpc26m39Dw/maxresdefault.jpg&#34; alt=&#34;Claude CLI Free Setup&#34; width=&#34;300&#34;/&gt;
      &lt;/a&gt;&lt;br/&gt;
      &lt;b&gt;🇺🇸 English&lt;/b&gt;&lt;br/&gt;
      &lt;sub&gt;Claude CLI Free Setup with 9Router 🚀&lt;br/&gt;by &lt;a href=&#34;https://www.youtube.com/@CodeVerseSoban&#34;&gt;CodeVerse Soban&lt;/a&gt;&lt;/sub&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;320&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=G-5A_D5Pm6Y&#34;&gt;
        &lt;img src=&#34;https://img.youtube.com/vi/G-5A_D5Pm6Y/maxresdefault.jpg&#34; alt=&#34;Cài đặt OpenClaw Free A-Z&#34; width=&#34;300&#34;/&gt;
      &lt;/a&gt;&lt;br/&gt;
      &lt;b&gt;🇻🇳 Tiếng Việt&lt;/b&gt;&lt;br/&gt;
      &lt;sub&gt;Cài Đặt OpenClaw Free Từ A-Z + 9Router&lt;br/&gt;by &lt;a href=&#34;https://www.youtube.com/@maigia&#34;&gt;Mai Gia&lt;/a&gt;&lt;/sub&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;320&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=JXmg8_gccgE&#34;&gt;
        &lt;img src=&#34;https://img.youtube.com/vi/JXmg8_gccgE/maxresdefault.jpg&#34; alt=&#34;FREE OpenClaw with Claude Opus&#34; width=&#34;300&#34;/&gt;
      &lt;/a&gt;&lt;br/&gt;
      &lt;b&gt;🇺🇸 English&lt;/b&gt;&lt;br/&gt;
      &lt;sub&gt;FREE OpenClaw + Claude Opus 4.6&lt;br/&gt;by &lt;a href=&#34;https://www.youtube.com/@BuildAIWithHamid&#34;&gt;Build AI With Hamid&lt;/a&gt;&lt;/sub&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;🎬 &lt;strong&gt;Made a video about 9Router?&lt;/strong&gt; Submit a &lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router/pulls&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pull Request&lt;/a&gt; adding your video to this section — we&amp;rsquo;ll merge it!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-supported-cli-tools&#34;&gt;🛠️ Supported CLI Tools
&lt;/h2&gt;&lt;p&gt;9Router works seamlessly with all major AI coding tools:&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/claude.png&#34; width=&#34;60&#34; alt=&#34;Claude Code&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Claude-Code&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/openclaw.png&#34; width=&#34;60&#34; alt=&#34;OpenClaw&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;OpenClaw&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/codex.png&#34; width=&#34;60&#34; alt=&#34;Codex&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Codex&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/opencode.png&#34; width=&#34;60&#34; alt=&#34;OpenCode&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;OpenCode&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/cursor.png&#34; width=&#34;60&#34; alt=&#34;Cursor&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Cursor&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/antigravity.png&#34; width=&#34;60&#34; alt=&#34;Antigravity&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Antigravity&lt;/b&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/cline.png&#34; width=&#34;60&#34; alt=&#34;Cline&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Cline&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/continue.png&#34; width=&#34;60&#34; alt=&#34;Continue&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Continue&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/droid.png&#34; width=&#34;60&#34; alt=&#34;Droid&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Droid&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/roo.png&#34; width=&#34;60&#34; alt=&#34;Roo&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Roo&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/copilot.png&#34; width=&#34;60&#34; alt=&#34;Copilot&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Copilot&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/kilocode.png&#34; width=&#34;60&#34; alt=&#34;Kilo Code&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Kilo Code&lt;/b&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-supported-providers&#34;&gt;🌐 Supported Providers
&lt;/h2&gt;&lt;h3 id=&#34;-oauth-providers&#34;&gt;🔐 OAuth Providers
&lt;/h3&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/claude.png&#34; width=&#34;60&#34; alt=&#34;Claude Code&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Claude-Code&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/antigravity.png&#34; width=&#34;60&#34; alt=&#34;Antigravity&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Antigravity&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/codex.png&#34; width=&#34;60&#34; alt=&#34;Codex&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Codex&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/github.png&#34; width=&#34;60&#34; alt=&#34;GitHub&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;GitHub&lt;/b&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;120&#34;&gt;
        &lt;img src=&#34;./public/providers/cursor.png&#34; width=&#34;60&#34; alt=&#34;Cursor&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Cursor&lt;/b&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
&lt;h3 id=&#34;-free-providers&#34;&gt;🆓 Free Providers
&lt;/h3&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;150&#34;&gt;
        &lt;img src=&#34;./public/providers/kiro.png&#34; width=&#34;70&#34; alt=&#34;Kiro&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Kiro AI&lt;/b&gt;&lt;br/&gt;
        &lt;sub&gt;Claude 4.5 + GLM-5 + MiniMax&lt;br/&gt;Unlimited FREE&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;150&#34;&gt;
        &lt;img src=&#34;./public/providers/opencode.png&#34; width=&#34;70&#34; alt=&#34;OpenCode Free&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;OpenCode Free&lt;/b&gt;&lt;br/&gt;
        &lt;sub&gt;No auth • Auto-fetch models&lt;br/&gt;Unlimited FREE&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;150&#34;&gt;
        &lt;img src=&#34;./public/providers/gemini.png&#34; width=&#34;70&#34; alt=&#34;Vertex AI&#34;/&gt;&lt;br/&gt;
        &lt;b&gt;Vertex AI&lt;/b&gt;&lt;br/&gt;
        &lt;sub&gt;Gemini 3 Pro + GLM-5 + DeepSeek&lt;br/&gt;$300 credits free&lt;/sub&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; iFlow, Qwen and Gemini CLI free tiers were discontinued in 2026. Use Kiro / OpenCode Free / Vertex instead.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;-api-key-providers-40&#34;&gt;🔑 API Key Providers (40+)
&lt;/h3&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;table&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/openrouter.png&#34; width=&#34;50&#34; alt=&#34;OpenRouter&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;OpenRouter&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/glm.png&#34; width=&#34;50&#34; alt=&#34;GLM&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;GLM&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/kimi.png&#34; width=&#34;50&#34; alt=&#34;Kimi&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Kimi&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/minimax.png&#34; width=&#34;50&#34; alt=&#34;MiniMax&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;MiniMax&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/openai.png&#34; width=&#34;50&#34; alt=&#34;OpenAI&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;OpenAI&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/anthropic.png&#34; width=&#34;50&#34; alt=&#34;Anthropic&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Anthropic&lt;/sub&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/gemini.png&#34; width=&#34;50&#34; alt=&#34;Gemini&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Gemini&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/deepseek.png&#34; width=&#34;50&#34; alt=&#34;DeepSeek&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;DeepSeek&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/groq.png&#34; width=&#34;50&#34; alt=&#34;Groq&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Groq&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/xai.png&#34; width=&#34;50&#34; alt=&#34;xAI&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;xAI&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/mistral.png&#34; width=&#34;50&#34; alt=&#34;Mistral&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Mistral&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/perplexity.png&#34; width=&#34;50&#34; alt=&#34;Perplexity&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Perplexity&lt;/sub&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/together.png&#34; width=&#34;50&#34; alt=&#34;Together&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Together AI&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/fireworks.png&#34; width=&#34;50&#34; alt=&#34;Fireworks&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Fireworks&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/cerebras.png&#34; width=&#34;50&#34; alt=&#34;Cerebras&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Cerebras&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/cohere.png&#34; width=&#34;50&#34; alt=&#34;Cohere&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;Cohere&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/nvidia.png&#34; width=&#34;50&#34; alt=&#34;NVIDIA&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;NVIDIA&lt;/sub&gt;
      &lt;/td&gt;
      &lt;td align=&#34;center&#34; width=&#34;100&#34;&gt;
        &lt;img src=&#34;./public/providers/siliconflow.png&#34; width=&#34;50&#34; alt=&#34;SiliconFlow&#34;/&gt;&lt;br/&gt;
        &lt;sub&gt;SiliconFlow&lt;/sub&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
  &lt;p&gt;&lt;i&gt;...and 20+ more providers including Nebius, Chutes, Hyperbolic, and custom OpenAI/Anthropic compatible endpoints&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-key-features&#34;&gt;💡 Key Features
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Feature&lt;/th&gt;
          &lt;th&gt;What It Does&lt;/th&gt;
          &lt;th&gt;Why It Matters&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;🚀 &lt;strong&gt;RTK Token Saver&lt;/strong&gt; (&lt;a class=&#34;link&#34; href=&#34;https://github.com/rtk-ai/rtk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RTK&lt;/a&gt; ⭐40K)&lt;/td&gt;
          &lt;td&gt;Compress tool outputs (&lt;code&gt;git diff&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;tree&lt;/code&gt;&amp;hellip;) before sending to LLM&lt;/td&gt;
          &lt;td&gt;Save &lt;strong&gt;20-40% input tokens&lt;/strong&gt; per request&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;🪨 &lt;strong&gt;Caveman Mode&lt;/strong&gt; (&lt;a class=&#34;link&#34; href=&#34;https://github.com/JuliusBrussee/caveman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Caveman&lt;/a&gt; ⭐52K)&lt;/td&gt;
          &lt;td&gt;Inject caveman-speak prompt → LLM replies terse, technical substance preserved&lt;/td&gt;
          &lt;td&gt;Save &lt;strong&gt;up to 65% output tokens&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;🎯 &lt;strong&gt;Smart 3-Tier Fallback&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Auto-route: Subscription → Cheap → Free&lt;/td&gt;
          &lt;td&gt;Never stop coding, zero downtime&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;📊 &lt;strong&gt;Real-Time Quota Tracking&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Live token count + reset countdown&lt;/td&gt;
          &lt;td&gt;Maximize subscription value&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;🔄 &lt;strong&gt;Format Translation&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex&lt;/td&gt;
          &lt;td&gt;Works with any CLI tool&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;👥 &lt;strong&gt;Multi-Account Support&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Multiple accounts per provider&lt;/td&gt;
          &lt;td&gt;Load balancing + redundancy&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;🔄 &lt;strong&gt;Auto Token Refresh&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;OAuth tokens refresh automatically&lt;/td&gt;
          &lt;td&gt;No manual re-login needed&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;🎨 &lt;strong&gt;Custom Combos&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Create unlimited model combinations&lt;/td&gt;
          &lt;td&gt;Tailor fallback to your needs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;📝 &lt;strong&gt;Request Logging&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Debug mode with full request/response logs&lt;/td&gt;
          &lt;td&gt;Troubleshoot issues easily&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;💾 &lt;strong&gt;Cloud Sync&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Sync config across devices&lt;/td&gt;
          &lt;td&gt;Same setup everywhere&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;📊 &lt;strong&gt;Usage Analytics&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Track tokens, cost, trends over time&lt;/td&gt;
          &lt;td&gt;Optimize spending&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;🌐 &lt;strong&gt;Deploy Anywhere&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Localhost, VPS, Docker, Cloudflare Workers&lt;/td&gt;
          &lt;td&gt;Flexible deployment options&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;📖 Feature Details&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;-rtk-token-saver&#34;&gt;🚀 RTK Token Saver
&lt;/h3&gt;&lt;p&gt;Tool outputs (&lt;code&gt;git diff&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;find&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;tree&lt;/code&gt;, log dumps&amp;hellip;) often eat 30-50% of your prompt budget. RTK detects them and applies smart, lossless compression &lt;strong&gt;before&lt;/strong&gt; the request hits the LLM:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Filters:&lt;/strong&gt; &lt;code&gt;git-diff&lt;/code&gt;, &lt;code&gt;git-status&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;find&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;tree&lt;/code&gt;, &lt;code&gt;dedup-log&lt;/code&gt;, &lt;code&gt;smart-truncate&lt;/code&gt;, &lt;code&gt;read-numbered&lt;/code&gt;, &lt;code&gt;search-list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto-detect:&lt;/strong&gt; No config needed — RTK peeks the first 1KB of each &lt;code&gt;tool_result&lt;/code&gt; and picks the right filter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Safe by design:&lt;/strong&gt; If a filter fails, throws, or makes output bigger, RTK silently keeps the original text. Errors never break your request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Universal:&lt;/strong&gt; Works across all formats (OpenAI, Claude, Gemini, Cursor, Kiro, OpenAI Responses) because it runs &lt;strong&gt;before&lt;/strong&gt; any format translation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Default ON:&lt;/strong&gt; Toggle anytime in Dashboard → Endpoint settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Without RTK: 47K tokens sent to LLM
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;With RTK:    28K tokens sent to LLM   (40% saved · same context · same answer)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;-smart-3-tier-fallback&#34;&gt;🎯 Smart 3-Tier Fallback
&lt;/h3&gt;&lt;p&gt;Create combos with automatic fallback:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Combo: &amp;#34;my-coding-stack&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. cc/claude-opus-4-6        (your subscription)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. glm/glm-4.7               (cheap backup, $0.6/1M)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. if/kimi-k2-thinking       (free fallback)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Auto switches when quota runs out or errors occur
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;-real-time-quota-tracking&#34;&gt;📊 Real-Time Quota Tracking
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Token consumption per provider&lt;/li&gt;
&lt;li&gt;Reset countdown (5-hour, daily, weekly)&lt;/li&gt;
&lt;li&gt;Cost estimation for paid tiers&lt;/li&gt;
&lt;li&gt;Monthly spending reports&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-format-translation&#34;&gt;🔄 Format Translation
&lt;/h3&gt;&lt;p&gt;Seamless translation between formats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OpenAI&lt;/strong&gt; ↔ &lt;strong&gt;Claude&lt;/strong&gt; ↔ &lt;strong&gt;Gemini&lt;/strong&gt; ↔ &lt;strong&gt;Cursor&lt;/strong&gt; ↔ &lt;strong&gt;Kiro&lt;/strong&gt; ↔ &lt;strong&gt;Vertex&lt;/strong&gt; ↔ &lt;strong&gt;Antigravity&lt;/strong&gt; ↔ &lt;strong&gt;Ollama&lt;/strong&gt; ↔ &lt;strong&gt;OpenAI Responses&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Your CLI tool sends OpenAI format → 9Router translates → Provider receives native format&lt;/li&gt;
&lt;li&gt;Works with any tool that supports custom OpenAI endpoints&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-multi-account-support&#34;&gt;👥 Multi-Account Support
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Add multiple accounts per provider&lt;/li&gt;
&lt;li&gt;Auto round-robin or priority-based routing&lt;/li&gt;
&lt;li&gt;Fallback to next account when one hits quota&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-auto-token-refresh&#34;&gt;🔄 Auto Token Refresh
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;OAuth tokens automatically refresh before expiration&lt;/li&gt;
&lt;li&gt;No manual re-authentication needed&lt;/li&gt;
&lt;li&gt;Seamless experience across all providers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-custom-combos&#34;&gt;🎨 Custom Combos
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Create unlimited model combinations&lt;/li&gt;
&lt;li&gt;Mix subscription, cheap, and free tiers&lt;/li&gt;
&lt;li&gt;Name your combos for easy access&lt;/li&gt;
&lt;li&gt;Share combos across devices with Cloud Sync&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-request-logging&#34;&gt;📝 Request Logging
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Enable debug mode for full request/response logs&lt;/li&gt;
&lt;li&gt;Track API calls, headers, and payloads&lt;/li&gt;
&lt;li&gt;Troubleshoot integration issues&lt;/li&gt;
&lt;li&gt;Export logs for analysis&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-cloud-sync&#34;&gt;💾 Cloud Sync
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Sync providers, combos, and settings across devices&lt;/li&gt;
&lt;li&gt;Automatic background sync&lt;/li&gt;
&lt;li&gt;Secure encrypted storage&lt;/li&gt;
&lt;li&gt;Access your setup from anywhere&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;cloud-runtime-notes&#34;&gt;Cloud Runtime Notes
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Prefer server-side cloud variables in production:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BASE_URL&lt;/code&gt; (internal callback URL used by sync scheduler)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLOUD_URL&lt;/code&gt; (cloud sync endpoint base)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_BASE_URL&lt;/code&gt; and &lt;code&gt;NEXT_PUBLIC_CLOUD_URL&lt;/code&gt; are still supported for compatibility/UI, but server runtime now prioritizes &lt;code&gt;BASE_URL&lt;/code&gt;/&lt;code&gt;CLOUD_URL&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Cloud sync requests now use timeout + fail-fast behavior to avoid UI hanging when cloud DNS/network is unavailable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-usage-analytics&#34;&gt;📊 Usage Analytics
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Track token usage per provider and model&lt;/li&gt;
&lt;li&gt;Cost estimation and spending trends&lt;/li&gt;
&lt;li&gt;Monthly reports and insights&lt;/li&gt;
&lt;li&gt;Optimize your AI spending&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;💡 IMPORTANT - Understanding Dashboard Costs:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;cost&amp;rdquo; displayed in Usage Analytics is &lt;strong&gt;for tracking and comparison purposes only&lt;/strong&gt;.
9Router itself &lt;strong&gt;never charges&lt;/strong&gt; you anything. You only pay providers directly (if using paid services).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; If your dashboard shows &amp;ldquo;$290 total cost&amp;rdquo; while using iFlow models, this represents
what you would have paid using paid APIs directly. Your actual cost = &lt;strong&gt;$0&lt;/strong&gt; (iFlow is free unlimited).&lt;/p&gt;
&lt;p&gt;Think of it as a &amp;ldquo;savings tracker&amp;rdquo; showing how much you&amp;rsquo;re saving by using free models or
routing through 9Router!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;-deploy-anywhere&#34;&gt;🌐 Deploy Anywhere
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;💻 &lt;strong&gt;Localhost&lt;/strong&gt; - Default, works offline&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;VPS/Cloud&lt;/strong&gt; - Share across devices&lt;/li&gt;
&lt;li&gt;🐳 &lt;strong&gt;Docker&lt;/strong&gt; - One-command deployment&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;Cloudflare Workers&lt;/strong&gt; - Global edge network&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-pricing-at-a-glance&#34;&gt;💰 Pricing at a Glance
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tier&lt;/th&gt;
          &lt;th&gt;Provider&lt;/th&gt;
          &lt;th&gt;Cost&lt;/th&gt;
          &lt;th&gt;Quota Reset&lt;/th&gt;
          &lt;th&gt;Best For&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;🚀 TOKEN SAVER&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;RTK (built-in)&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;FREE&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Always on&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Save 20-40% tokens on EVERY request&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;💳 SUBSCRIPTION&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Claude Code (Pro/Max)&lt;/td&gt;
          &lt;td&gt;$20-200/mo&lt;/td&gt;
          &lt;td&gt;5h + weekly&lt;/td&gt;
          &lt;td&gt;Already subscribed&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;Codex (Plus/Pro)&lt;/td&gt;
          &lt;td&gt;$20-200/mo&lt;/td&gt;
          &lt;td&gt;5h + weekly&lt;/td&gt;
          &lt;td&gt;OpenAI users&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;GitHub Copilot&lt;/td&gt;
          &lt;td&gt;$10-19/mo&lt;/td&gt;
          &lt;td&gt;Monthly&lt;/td&gt;
          &lt;td&gt;GitHub users&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;Cursor IDE&lt;/td&gt;
          &lt;td&gt;$20/mo&lt;/td&gt;
          &lt;td&gt;Monthly&lt;/td&gt;
          &lt;td&gt;Cursor users&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;💰 CHEAP&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;GLM-5.1 / GLM-4.7&lt;/td&gt;
          &lt;td&gt;$0.6/1M&lt;/td&gt;
          &lt;td&gt;Daily 10AM&lt;/td&gt;
          &lt;td&gt;Budget backup&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;MiniMax M2.7&lt;/td&gt;
          &lt;td&gt;$0.2/1M&lt;/td&gt;
          &lt;td&gt;5-hour rolling&lt;/td&gt;
          &lt;td&gt;Cheapest option&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;Kimi K2.5&lt;/td&gt;
          &lt;td&gt;$9/mo flat&lt;/td&gt;
          &lt;td&gt;10M tokens/mo&lt;/td&gt;
          &lt;td&gt;Predictable cost&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;🆓 FREE&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Kiro AI&lt;/td&gt;
          &lt;td&gt;$0&lt;/td&gt;
          &lt;td&gt;Unlimited&lt;/td&gt;
          &lt;td&gt;Claude 4.5 + GLM-5 + MiniMax free&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;OpenCode Free&lt;/td&gt;
          &lt;td&gt;$0&lt;/td&gt;
          &lt;td&gt;Unlimited&lt;/td&gt;
          &lt;td&gt;No auth, auto-fetch models&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;Vertex AI&lt;/td&gt;
          &lt;td&gt;$300 credits&lt;/td&gt;
          &lt;td&gt;New GCP accounts&lt;/td&gt;
          &lt;td&gt;Gemini 3 Pro + DeepSeek + GLM-5&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;💡 Pro Tip:&lt;/strong&gt; RTK + Kiro AI + OpenCode Free combo = &lt;strong&gt;$0 cost + 20-40% token savings&lt;/strong&gt;!&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-understanding-9router-costs--billing&#34;&gt;📊 Understanding 9Router Costs &amp;amp; Billing
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;9Router Billing Reality:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;9Router software = FREE forever&lt;/strong&gt; (open source, never charges)&lt;br&gt;
✅ &lt;strong&gt;Dashboard &amp;ldquo;costs&amp;rdquo; = Display/tracking only&lt;/strong&gt; (not actual bills)&lt;br&gt;
✅ &lt;strong&gt;You pay providers directly&lt;/strong&gt; (subscriptions or API fees)&lt;br&gt;
✅ &lt;strong&gt;FREE providers stay FREE&lt;/strong&gt; (iFlow, Kiro, Qwen = $0 unlimited)&lt;br&gt;
❌ &lt;strong&gt;9Router never sends invoices&lt;/strong&gt; or charges your card&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How Cost Display Works:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The dashboard shows &lt;strong&gt;estimated costs&lt;/strong&gt; as if you were using paid APIs directly. This is &lt;strong&gt;not billing&lt;/strong&gt; - it&amp;rsquo;s a comparison tool to show your savings.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Scenario:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard Display:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;• Total Requests: 1,662
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;• Total Tokens: 47M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;• Display Cost: $290
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Reality Check:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;• Provider: iFlow (FREE unlimited)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;• Actual Payment: $0.00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;• What $290 Means: Amount you SAVED by using free models!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Payment Rules:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Subscription providers&lt;/strong&gt; (Claude Code, Codex): Pay them directly via their websites&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cheap providers&lt;/strong&gt; (GLM, MiniMax): Pay them directly, 9Router just routes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FREE providers&lt;/strong&gt; (iFlow, Kiro, Qwen): Genuinely free forever, no hidden charges&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;9Router&lt;/strong&gt;: Never charges anything, ever&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-use-cases&#34;&gt;🎯 Use Cases
&lt;/h2&gt;&lt;h3 id=&#34;case-1-i-have-claude-pro-subscription&#34;&gt;Case 1: &amp;ldquo;I have Claude Pro subscription&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Quota expires unused, rate limits during heavy coding&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Combo: &amp;#34;maximize-claude&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. cc/claude-opus-4-7        (use subscription fully)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. glm/glm-5.1               (cheap backup when quota out)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. kr/claude-sonnet-4.5      (free emergency fallback)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vs. $20 + hitting limits = frustration
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;case-2-i-want-zero-cost&#34;&gt;Case 2: &amp;ldquo;I want zero cost&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Can&amp;rsquo;t afford subscriptions, need reliable AI coding&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Combo: &amp;#34;free-forever&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. kr/claude-sonnet-4.5      (Claude 4.5 free unlimited)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. kr/glm-5                  (GLM-5 free via Kiro)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. oc/&amp;lt;auto&amp;gt;                 (OpenCode Free, no auth)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Monthly cost: $0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Quality: Production-ready models + RTK saves 20-40% tokens
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;case-3-i-need-247-coding-no-interruptions&#34;&gt;Case 3: &amp;ldquo;I need 24/7 coding, no interruptions&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Deadlines, can&amp;rsquo;t afford downtime&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Combo: &amp;#34;always-on&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. cc/claude-opus-4-7        (best quality)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. cx/gpt-5.5                (second subscription)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. glm/glm-5.1               (cheap, resets daily)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  4. minimax/MiniMax-M2.7      (cheapest, 5h reset)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  5. kr/claude-sonnet-4.5      (free unlimited)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Result: 5 layers of fallback = zero downtime
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;case-4-i-want-free-ai-in-openclaw&#34;&gt;Case 4: &amp;ldquo;I want FREE AI in OpenClaw&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Need AI assistant in messaging apps (WhatsApp, Telegram, Slack&amp;hellip;), completely free&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Combo: &amp;#34;openclaw-free&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. kr/claude-sonnet-4.5      (Claude 4.5 free)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. kr/glm-5                  (GLM-5 free)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. kr/MiniMax-M2.5           (MiniMax free)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Monthly cost: $0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;-frequently-asked-questions&#34;&gt;❓ Frequently Asked Questions
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;b&gt;📊 Why does my dashboard show high costs?&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;The dashboard tracks your token usage and displays &lt;strong&gt;estimated costs&lt;/strong&gt; as if you were using paid APIs directly. This is &lt;strong&gt;not actual billing&lt;/strong&gt; - it&amp;rsquo;s a reference to show how much you&amp;rsquo;re saving by using free models or existing subscriptions through 9Router.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dashboard shows:&lt;/strong&gt; &amp;ldquo;$290 total cost&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reality:&lt;/strong&gt; You&amp;rsquo;re using iFlow (FREE unlimited)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your actual cost:&lt;/strong&gt; &lt;strong&gt;$0.00&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What $290 means:&lt;/strong&gt; Amount you &lt;strong&gt;saved&lt;/strong&gt; by using free models instead of paid APIs!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The cost display is a &amp;ldquo;savings tracker&amp;rdquo; to help you understand your usage patterns and optimization opportunities.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;💳 Will I be charged by 9Router?&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;No.&lt;/strong&gt; 9Router is free, open-source software that runs on your own computer. It never charges you anything.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You only pay:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Subscription providers&lt;/strong&gt; (Claude Code $20/mo, Codex $20-200/mo) → Pay them directly on their websites&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Cheap providers&lt;/strong&gt; (GLM, MiniMax) → Pay them directly, 9Router just routes your requests&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;9Router itself&lt;/strong&gt; → &lt;strong&gt;Never charges anything, ever&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;9Router is a local proxy/router. It doesn&amp;rsquo;t have your credit card, can&amp;rsquo;t send invoices, and has no billing system. It&amp;rsquo;s completely free software.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🆓 Are FREE providers really unlimited?&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Yes!&lt;/strong&gt; The current FREE providers (Kiro, OpenCode Free, Vertex) are genuinely free with &lt;strong&gt;no hidden charges&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;These are free services offered by those respective companies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kiro AI&lt;/strong&gt;: Free unlimited Claude 4.5 + GLM-5 + MiniMax via AWS Builder ID / Google / GitHub OAuth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenCode Free&lt;/strong&gt;: No-auth passthrough proxy, models auto-fetched from &lt;code&gt;opencode.ai/zen/v1/models&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vertex AI&lt;/strong&gt;: $300 free credits for new Google Cloud accounts (90 days)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;9Router just routes your requests to them - there&amp;rsquo;s no &amp;ldquo;catch&amp;rdquo; or future billing. They&amp;rsquo;re truly free services, and 9Router makes them easy to use with fallback support.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Discontinued free tiers (no longer recommended):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;❌ &lt;strong&gt;iFlow&lt;/strong&gt;: Was free unlimited, now changed to paid (2026)&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Qwen Code&lt;/strong&gt;: Free OAuth tier discontinued by Alibaba on 2026-04-15&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Gemini CLI&lt;/strong&gt;: Still works, but using it with non-CLI tools (Claude, Codex, Cursor&amp;hellip;) may result in account bans — only use if you stick to Gemini CLI itself&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;💰 How do I minimize my actual AI costs?&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Free-First Strategy:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Start with 100% free combo:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. gc/gemini-3-flash (180K/month free from Google)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. if/kimi-k2-thinking (unlimited free from iFlow)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. qw/qwen3-coder-plus (unlimited free from Qwen)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Cost: $0/month&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add cheap backup&lt;/strong&gt; only if you need it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;4. glm/glm-4.7 ($0.6/1M tokens)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Additional cost: Only pay for what you actually use&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use subscription providers last:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Only if you already have them&lt;/li&gt;
&lt;li&gt;9Router helps maximize their value through quota tracking&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; Most users can operate at $0/month using only free tiers!&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;📈 What if my usage suddenly spikes?&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;9Router&amp;rsquo;s smart fallback prevents surprise charges:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; You&amp;rsquo;re on a coding sprint and blow through your quotas&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Without 9Router:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;❌ Hit rate limit → Work stops → Frustration&lt;/li&gt;
&lt;li&gt;❌ Or: Accidentally rack up huge API bills&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;With 9Router:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ Subscription hits limit → Auto-fallback to cheap tier&lt;/li&gt;
&lt;li&gt;✅ Cheap tier gets expensive → Auto-fallback to free tier&lt;/li&gt;
&lt;li&gt;✅ Never stop coding → Predictable costs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;You&amp;rsquo;re in control:&lt;/strong&gt; Set spending limits per provider in dashboard, and 9Router respects them.&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-setup-guide&#34;&gt;📖 Setup Guide
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🔐 Subscription Providers (Maximize Value)&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;claude-code-promax&#34;&gt;Claude Code (Pro/Max)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Providers → Connect Claude Code
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ OAuth login → Auto token refresh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ 5-hour + weekly quota tracking
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cc/claude-opus-4-7
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cc/claude-opus-4-6
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cc/claude-sonnet-4-6
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cc/claude-haiku-4-5-20251001
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Use Opus for complex tasks, Sonnet for speed. 9Router tracks quota per model!&lt;/p&gt;
&lt;h3 id=&#34;openai-codex-pluspro&#34;&gt;OpenAI Codex (Plus/Pro)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Providers → Connect Codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ OAuth login &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;port 1455&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ 5-hour + weekly reset
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cx/gpt-5.5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cx/gpt-5.4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cx/gpt-5.3-codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cx/gpt-5.2-codex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;github-copilot&#34;&gt;GitHub Copilot
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Providers → Connect GitHub
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ OAuth via GitHub
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Monthly reset &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;1st of month&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gh/gpt-5.4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gh/claude-opus-4.7
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gh/claude-sonnet-4.6
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gh/gemini-3.1-pro-preview
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gh/grok-code-fast-1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;cursor-ide&#34;&gt;Cursor IDE
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Providers → Connect Cursor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ OAuth login
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Monthly subscription
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cu/claude-4.6-opus-max
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cu/claude-4.5-sonnet-thinking
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cu/gpt-5.3-codex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;💰 Cheap Providers (Backup)&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;glm-51--glm-47-daily-reset-061m&#34;&gt;GLM-5.1 / GLM-4.7 (Daily reset, $0.6/1M)
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Sign up: &lt;a class=&#34;link&#34; href=&#34;https://open.bigmodel.cn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zhipu AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Get API key from Coding Plan&lt;/li&gt;
&lt;li&gt;Dashboard → Add API Key:
&lt;ul&gt;
&lt;li&gt;Provider: &lt;code&gt;glm&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;API Key: &lt;code&gt;your-key&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Use:&lt;/strong&gt; &lt;code&gt;glm/glm-5.1&lt;/code&gt;, &lt;code&gt;glm/glm-5&lt;/code&gt;, &lt;code&gt;glm/glm-4.7&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Coding Plan offers 3× quota at 1/7 cost! Reset daily 10:00 AM.&lt;/p&gt;
&lt;h3 id=&#34;minimax-m27-5h-reset-0201m&#34;&gt;MiniMax M2.7 (5h reset, $0.20/1M)
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Sign up: &lt;a class=&#34;link&#34; href=&#34;https://www.minimax.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MiniMax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Get API key&lt;/li&gt;
&lt;li&gt;Dashboard → Add API Key&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Use:&lt;/strong&gt; &lt;code&gt;minimax/MiniMax-M2.7&lt;/code&gt;, &lt;code&gt;minimax/MiniMax-M2.5&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Cheapest option for long context (1M tokens)!&lt;/p&gt;
&lt;h3 id=&#34;kimi-k25-9month-flat&#34;&gt;Kimi K2.5 ($9/month flat)
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Subscribe: &lt;a class=&#34;link&#34; href=&#34;https://platform.moonshot.ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moonshot AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Get API key&lt;/li&gt;
&lt;li&gt;Dashboard → Add API Key&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Use:&lt;/strong&gt; &lt;code&gt;kimi/kimi-k2.5&lt;/code&gt;, &lt;code&gt;kimi/kimi-k2.5-thinking&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Fixed $9/month for 10M tokens = $0.90/1M effective cost!&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🆓 FREE Providers (Recommended)&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;kiro-ai-claude-45--glm-5--minimax-free&#34;&gt;Kiro AI (Claude 4.5 + GLM-5 + MiniMax FREE)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Connect Kiro
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ AWS Builder ID, AWS IAM Identity Center, Google, or GitHub
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Unlimited usage
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  kr/claude-sonnet-4.5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  kr/claude-haiku-4.5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  kr/glm-5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  kr/MiniMax-M2.5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  kr/qwen3-coder-next
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  kr/deepseek-3.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Best free option for Claude. No API key, no payment, fully unlimited.&lt;/p&gt;
&lt;h3 id=&#34;opencode-free-no-auth-auto-fetch-models&#34;&gt;OpenCode Free (No auth, auto-fetch models)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Connect OpenCode Free
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ No login required &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;passthrough proxy&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Models auto-fetched from opencode.ai/zen/v1/models
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; Fastest setup. Just connect and start coding.&lt;/p&gt;
&lt;h3 id=&#34;vertex-ai-300-free-credits-for-new-gcp-accounts&#34;&gt;Vertex AI ($300 free credits for new GCP accounts)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Connect Vertex AI
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Upload Google Cloud Service Account JSON
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Enable Vertex AI API in your GCP project
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  vertex/gemini-3.1-pro-preview
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  vertex/gemini-3-flash-preview
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  vertex/gemini-2.5-flash
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Vertex Partner &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Anthropic / DeepSeek / GLM / Qwen via Vertex&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  vertex-partner/glm-5-maas
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  vertex-partner/deepseek-v3.2-maas
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  vertex-partner/qwen3-next-80b-a3b-thinking-maas
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pro Tip:&lt;/strong&gt; New Google Cloud accounts get $300 credits free for 90 days. Plenty for daily coding.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🎨 Create Combos&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;example-1-maximize-subscription--cheap-backup&#34;&gt;Example 1: Maximize Subscription → Cheap Backup
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → Combos → Create New
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Name: premium-coding
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. cc/claude-opus-4-7 (Subscription primary)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. glm/glm-5.1 (Cheap backup, $0.6/1M)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. minimax/MiniMax-M2.7 (Cheapest fallback, $0.20/1M)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use in CLI: premium-coding
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Monthly cost example (100M tokens):
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  80M via Claude (subscription): $0 extra
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  15M via GLM: $9
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  5M via MiniMax: $1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Total: $10 + your subscription
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;example-2-free-only-zero-cost&#34;&gt;Example 2: Free-Only (Zero Cost)
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Name: free-combo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Models:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2. kr/glm-5 (GLM-5 free via Kiro)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3. vertex/gemini-3.1-pro-preview ($300 free credits)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Cost: $0 forever (+ 20-40% token savings via RTK)!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🔧 CLI Integration&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;cursor-ide-1&#34;&gt;Cursor IDE
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Settings → Models → Advanced:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  OpenAI API Base URL: http://localhost:20128/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  OpenAI API Key: [from 9router dashboard]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Model: cc/claude-opus-4-7
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or use combo: &lt;code&gt;premium-coding&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;claude-code&#34;&gt;Claude Code
&lt;/h3&gt;&lt;p&gt;Edit &lt;code&gt;~/.claude/config.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;anthropic_api_base&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:20128/v1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;anthropic_api_key&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;your-9router-api-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;codex-cli&#34;&gt;Codex CLI
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:20128&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-9router-api-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex &lt;span class=&#34;s2&#34;&gt;&amp;#34;your prompt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;openclaw&#34;&gt;OpenClaw
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Option 1 — Dashboard (recommended):&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dashboard → CLI Tools → OpenClaw → Select Model → Apply
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Option 2 — Manual:&lt;/strong&gt; Edit &lt;code&gt;~/.openclaw/openclaw.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;agents&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;defaults&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;model&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;primary&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;9router/kr/claude-sonnet-4.5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;models&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;providers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;9router&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;baseUrl&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://127.0.0.1:20128/v1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;apiKey&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sk_9router&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;api&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;openai-completions&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;models&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;kr/claude-sonnet-4.5&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Claude Sonnet 4.5 (Kiro Free)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; OpenClaw only works with local 9Router. Use &lt;code&gt;127.0.0.1&lt;/code&gt; instead of &lt;code&gt;localhost&lt;/code&gt; to avoid IPv6 resolution issues.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;cline--continue--roocode&#34;&gt;Cline / Continue / RooCode
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Provider: OpenAI Compatible
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Base URL: http://localhost:20128/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: [from dashboard]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model: cc/claude-opus-4-7
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;b&gt;🚀 Deployment&lt;/b&gt;&lt;/summary&gt;
&lt;h3 id=&#34;vps-deployment&#34;&gt;VPS Deployment
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clone and install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/decolua/9router.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; 9router
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Configure&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;JWT_SECRET&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-secure-secret-change-this&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;INITIAL_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-password&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DATA_DIR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/var/lib/9router&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;20128&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HOSTNAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;NODE_ENV&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;production&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;NEXT_PUBLIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:20128&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;NEXT_PUBLIC_CLOUD_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://9router.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;API_KEY_SECRET&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;endpoint-proxy-api-key-secret&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;MACHINE_ID_SALT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;endpoint-proxy-salt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Start&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run start
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or use PM2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g pm2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pm2 start npm --name 9router -- start
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pm2 save
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pm2 startup
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;docker&#34;&gt;Docker
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Build image (from repository root)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker build -t 9router .
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run container (command used in current setup)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name 9router &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 20128:20128 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --env-file /root/dev/9router/.env &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v 9router-data:/app/data &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v 9router-usage:/root/.9router &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  9router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Portable command (if you are already at repository root):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name 9router &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 20128:20128 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --env-file ./.env &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v 9router-data:/app/data &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v 9router-usage:/root/.9router &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  9router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Container defaults:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PORT=20128&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HOSTNAME=0.0.0.0&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Useful commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f 9router
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker restart 9router
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker stop 9router &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; docker rm 9router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;environment-variables&#34;&gt;Environment Variables
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Variable&lt;/th&gt;
          &lt;th&gt;Default&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;JWT_SECRET&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;9router-default-secret-change-me&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;JWT signing secret for dashboard auth cookie (&lt;strong&gt;change in production&lt;/strong&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;INITIAL_PASSWORD&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;123456&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;First login password when no saved hash exists&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;DATA_DIR&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;~/.9router&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Main app database location (&lt;code&gt;db.json&lt;/code&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;PORT&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;framework default&lt;/td&gt;
          &lt;td&gt;Service port (&lt;code&gt;20128&lt;/code&gt; in examples)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;HOSTNAME&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;framework default&lt;/td&gt;
          &lt;td&gt;Bind host (Docker defaults to &lt;code&gt;0.0.0.0&lt;/code&gt;)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;NODE_ENV&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;runtime default&lt;/td&gt;
          &lt;td&gt;Set &lt;code&gt;production&lt;/code&gt; for deploy&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;BASE_URL&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;http://localhost:20128&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Server-side internal base URL used by cloud sync jobs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;CLOUD_URL&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;https://9router.com&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Server-side cloud sync endpoint base URL&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;NEXT_PUBLIC_BASE_URL&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;http://localhost:3000&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Backward-compatible/public base URL (prefer &lt;code&gt;BASE_URL&lt;/code&gt; for server runtime)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;NEXT_PUBLIC_CLOUD_URL&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;https://9router.com&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Backward-compatible/public cloud URL (prefer &lt;code&gt;CLOUD_URL&lt;/code&gt; for server runtime)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;API_KEY_SECRET&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;endpoint-proxy-api-key-secret&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;HMAC secret for generated API keys&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;MACHINE_ID_SALT&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;endpoint-proxy-salt&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Salt for stable machine ID hashing&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;ENABLE_REQUEST_LOGS&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Enables request/response logs under &lt;code&gt;logs/&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;AUTH_COOKIE_SECURE&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Force &lt;code&gt;Secure&lt;/code&gt; auth cookie (set &lt;code&gt;true&lt;/code&gt; behind HTTPS reverse proxy)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;REQUIRE_API_KEY&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Enforce Bearer API key on &lt;code&gt;/v1/*&lt;/code&gt; routes (recommended for internet-exposed deploys)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;HTTP_PROXY&lt;/code&gt;, &lt;code&gt;HTTPS_PROXY&lt;/code&gt;, &lt;code&gt;ALL_PROXY&lt;/code&gt;, &lt;code&gt;NO_PROXY&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;empty&lt;/td&gt;
          &lt;td&gt;Optional outbound proxy for upstream provider calls&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lowercase proxy variables are also supported: &lt;code&gt;http_proxy&lt;/code&gt;, &lt;code&gt;https_proxy&lt;/code&gt;, &lt;code&gt;all_proxy&lt;/code&gt;, &lt;code&gt;no_proxy&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.env&lt;/code&gt; is not baked into Docker image (&lt;code&gt;.dockerignore&lt;/code&gt;); inject runtime config with &lt;code&gt;--env-file&lt;/code&gt; or &lt;code&gt;-e&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;On Windows, &lt;code&gt;APPDATA&lt;/code&gt; can be used for local storage path resolution.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;INSTANCE_NAME&lt;/code&gt; appears in older docs/env templates, but is currently not used at runtime.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;runtime-files-and-storage&#34;&gt;Runtime Files and Storage
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Main app state: &lt;code&gt;${DATA_DIR}/db.json&lt;/code&gt; (providers, combos, aliases, keys, settings), managed by &lt;code&gt;src/lib/localDb.js&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Usage history and logs: &lt;code&gt;${DATA_DIR}/usage.json&lt;/code&gt; and &lt;code&gt;${DATA_DIR}/log.txt&lt;/code&gt;, managed by &lt;code&gt;src/lib/usageDb.js&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Optional request/translator logs: &lt;code&gt;&amp;lt;repo&amp;gt;/logs/...&lt;/code&gt; when &lt;code&gt;ENABLE_REQUEST_LOGS=true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Both &lt;code&gt;${DATA_DIR}&lt;/code&gt; and &lt;code&gt;~/.9router&lt;/code&gt; resolve to the same location in a Docker container — the symlink &lt;code&gt;/root/.9router -&amp;gt; /app/data&lt;/code&gt; is created at build time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-available-models&#34;&gt;📊 Available Models
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;b&gt;View all available models&lt;/b&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Claude Code (&lt;code&gt;cc/&lt;/code&gt;)&lt;/strong&gt; - Pro/Max:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cc/claude-opus-4-7&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cc/claude-opus-4-6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cc/claude-sonnet-4-6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cc/claude-sonnet-4-5-20250929&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cc/claude-haiku-4-5-20251001&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Codex (&lt;code&gt;cx/&lt;/code&gt;)&lt;/strong&gt; - Plus/Pro:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cx/gpt-5.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cx/gpt-5.4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cx/gpt-5.3-codex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cx/gpt-5.2-codex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cx/gpt-5.1-codex-max&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GitHub Copilot (&lt;code&gt;gh/&lt;/code&gt;)&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gh/gpt-5.4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gh/claude-opus-4.7&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gh/claude-sonnet-4.6&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gh/gemini-3.1-pro-preview&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gh/grok-code-fast-1&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cursor (&lt;code&gt;cu/&lt;/code&gt;)&lt;/strong&gt; - Subscription:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cu/claude-4.6-opus-max&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cu/claude-4.5-sonnet-thinking&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cu/gpt-5.3-codex&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cu/kimi-k2.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GLM (&lt;code&gt;glm/&lt;/code&gt;)&lt;/strong&gt; - $0.6/1M:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;glm/glm-5.1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;glm/glm-5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;glm/glm-4.7&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;MiniMax (&lt;code&gt;minimax/&lt;/code&gt;)&lt;/strong&gt; - $0.2/1M:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;minimax/MiniMax-M2.7&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;minimax/MiniMax-M2.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Kimi (&lt;code&gt;kimi/&lt;/code&gt;)&lt;/strong&gt; - $9/mo flat:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;kimi/kimi-k2.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kimi/kimi-k2.5-thinking&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Kiro (&lt;code&gt;kr/&lt;/code&gt;)&lt;/strong&gt; - FREE unlimited:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;kr/claude-sonnet-4.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kr/claude-haiku-4.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kr/glm-5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kr/MiniMax-M2.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kr/qwen3-coder-next&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kr/deepseek-3.2&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;OpenCode Free (&lt;code&gt;oc/&lt;/code&gt;)&lt;/strong&gt; - FREE no-auth:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Auto-fetched from &lt;code&gt;opencode.ai/zen/v1/models&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Vertex AI (&lt;code&gt;vertex/&lt;/code&gt;)&lt;/strong&gt; - $300 free credits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;vertex/gemini-3.1-pro-preview&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vertex/gemini-3-flash-preview&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vertex/gemini-2.5-flash&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vertex-partner/glm-5-maas&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vertex-partner/deepseek-v3.2-maas&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-troubleshooting&#34;&gt;🐛 Troubleshooting
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&amp;ldquo;Language model did not provide messages&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provider quota exhausted → Check dashboard quota tracker&lt;/li&gt;
&lt;li&gt;Solution: Use combo fallback or switch to cheaper tier&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Rate limiting&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Subscription quota out → Fallback to GLM/MiniMax&lt;/li&gt;
&lt;li&gt;Add combo: &lt;code&gt;cc/claude-opus-4-7 → glm/glm-5.1 → kr/claude-sonnet-4.5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;OAuth token expired&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Auto-refreshed by 9Router&lt;/li&gt;
&lt;li&gt;If issues persist: Dashboard → Provider → Reconnect&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;High costs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable RTK in Dashboard → Endpoint settings (default ON, saves 20-40% tokens)&lt;/li&gt;
&lt;li&gt;Check usage stats in Dashboard&lt;/li&gt;
&lt;li&gt;Switch primary model to GLM/MiniMax&lt;/li&gt;
&lt;li&gt;Use free tier (Kiro, OpenCode Free, Vertex) for non-critical tasks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Dashboard opens on wrong port&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;PORT=20128&lt;/code&gt; and &lt;code&gt;NEXT_PUBLIC_BASE_URL=http://localhost:20128&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;First login not working&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Check &lt;code&gt;INITIAL_PASSWORD&lt;/code&gt; in &lt;code&gt;.env&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If unset, fallback password is &lt;code&gt;123456&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;No request logs under &lt;code&gt;logs/&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;ENABLE_REQUEST_LOGS=true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-tech-stack&#34;&gt;🛠️ Tech Stack
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Runtime&lt;/strong&gt;: Node.js 20+&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework&lt;/strong&gt;: Next.js 16&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI&lt;/strong&gt;: React 19 + Tailwind CSS 4&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database&lt;/strong&gt;: LowDB (JSON file-based)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Streaming&lt;/strong&gt;: Server-Sent Events (SSE)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auth&lt;/strong&gt;: OAuth 2.0 (PKCE) + JWT + API Keys&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-api-reference&#34;&gt;📝 API Reference
&lt;/h2&gt;&lt;h3 id=&#34;chat-completions&#34;&gt;Chat Completions
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;POST http://localhost:20128/v1/chat/completions
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Authorization: Bearer your-api-key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Content-Type: application/json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;model&amp;#34;&lt;/span&gt;: &lt;span class=&#34;s2&#34;&gt;&amp;#34;cc/claude-opus-4-6&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;messages&amp;#34;&lt;/span&gt;: &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;: &lt;span class=&#34;s2&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;, &lt;span class=&#34;s2&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;: &lt;span class=&#34;s2&#34;&gt;&amp;#34;Write a function to...&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s2&#34;&gt;&amp;#34;stream&amp;#34;&lt;/span&gt;: &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;list-models&#34;&gt;List Models
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GET http://localhost:20128/v1/models
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Authorization: Bearer your-api-key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;→ Returns all models + combos in OpenAI format
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;-support&#34;&gt;📧 Support
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Website&lt;/strong&gt;: &lt;a class=&#34;link&#34; href=&#34;https://9router.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;9router.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;github.com/decolua/9router&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issues&lt;/strong&gt;: &lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router/issues&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;github.com/decolua/9router/issues&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-contributors&#34;&gt;👥 Contributors
&lt;/h2&gt;&lt;p&gt;Thanks to all contributors who helped make 9Router better!&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router/graphs/contributors&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://contrib.rocks/image?repo=decolua/9router&amp;amp;max=150&amp;amp;columns=15&amp;amp;anon=1&amp;amp;v=20260309&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Contributors&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-star-chart&#34;&gt;📊 Star Chart
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://starchart.cc/decolua/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://starchart.cc/decolua/9router.svg?variant=adaptive&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Star Chart&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;-forks&#34;&gt;🔀 Forks
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/diegosouzapw/OmniRoute&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OmniRoute&lt;/a&gt;&lt;/strong&gt; — A full-featured TypeScript fork of 9Router. Adds 36+ providers, 4-tier auto-fallback, multi-modal APIs (images, embeddings, audio, TTS), circuit breaker, semantic cache, LLM evaluations, and a polished dashboard. 368+ unit tests. Available via npm and Docker.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-acknowledgments&#34;&gt;🙏 Acknowledgments
&lt;/h2&gt;&lt;p&gt;Built on the shoulders of giants:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CLIProxyAPI&lt;/strong&gt; — original Go implementation that inspired this JavaScript port.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/rtk-ai/rtk&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;RTK&lt;/a&gt;&lt;/strong&gt; &lt;img src=&#34;https://img.shields.io/github/stars/rtk-ai/rtk?style=flat&amp;amp;color=yellow&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Stars&#34;
	
	
&gt; — Rust token-saver. 9Router ports its compression pipeline to JS → &lt;strong&gt;−20-40% input tokens&lt;/strong&gt; on every request.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/JuliusBrussee/caveman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Caveman&lt;/a&gt;&lt;/strong&gt; &lt;img src=&#34;https://img.shields.io/github/stars/JuliusBrussee/caveman?style=flat&amp;amp;color=yellow&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Stars&#34;
	
	
&gt; by &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/JuliusBrussee&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@JuliusBrussee&lt;/a&gt;&lt;/strong&gt; — viral &lt;em&gt;&amp;ldquo;why use many token when few token do trick&amp;rdquo;&lt;/em&gt;. 9Router adapts its prompt → &lt;strong&gt;−65% output tokens&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Huge thanks to these authors — without their work, 9Router&amp;rsquo;s token-saving features wouldn&amp;rsquo;t exist. ⭐ them on GitHub!&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-license&#34;&gt;📄 License
&lt;/h2&gt;&lt;p&gt;MIT License - see &lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;LICENSE&lt;/a&gt; for details.&lt;/p&gt;
&lt;hr&gt;
&lt;div align=&#34;center&#34;&gt;
  &lt;sub&gt;Built with ❤️ for developers who code 24/7&lt;/sub&gt;
&lt;/div&gt;
</description>
        </item>
        
    </channel>
</rss>
