[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:lynkr":3},"\u003Ch1>Lynkr\u003C\u002Fh1>\n\u003Ch3>An LLM Gateway which optimises your token usage.\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>87.6% fewer tokens on JSON tool results. 53% fewer tokens on tool-heavy requests. 171ms semantic cache hits. Zero code changes.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Flynkr\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Flynkr.svg\" alt=\"npm version\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFast-Editor\u002FLynkr\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftests-699%20passing-brightgreen\" alt=\"Tests\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFast-Editor\u002Flynkr\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg\" alt=\"License: Apache 2.0\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fnodejs.org\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-20%2B-green\" alt=\"Node.js\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdeepwiki.com\u002FFast-Editor\u002FLynkr\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" alt=\"Ask DeepWiki\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>87.6%\u003C\u002Fstrong>\u003Cbr \u002F>JSON Compression\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cstrong>53%\u003C\u002Fstrong>\u003Cbr \u002F>Tool Token Reduction\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cstrong>171ms\u003C\u002Fstrong>\u003Cbr \u002F>Semantic Cache Hits\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cstrong>13+\u003C\u002Fstrong>\u003Cbr \u002F>LLM Providers\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cstrong>0\u003C\u002Fstrong>\u003Cbr \u002F>Code Changes Required\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\u003Cblockquote>\n\u003Cp>Numbers from a live benchmark against LiteLLM on identical workloads. \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFast-Editor\u002Flynkr\u002Fblob\u002FHEAD\u002FBENCHMARK_REPORT.md\" rel=\"nofollow ugc noopener\">See full report →\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Chr \u002F>\n\u003Ch2>🚀 New: Wrap Mode for AI Coding Tools\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Use Lynkr's routing with your AI coding assistant — maximize your subscription value:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install -g lynkr\n\n\n# Claude Code Pro\u002FMax\nlynkr wrap claude\n\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Wrapping gives you:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>✅ Tier routing (send simple tasks to free Ollama, complex to your subscription\u002FAPI)\u003C\u002Fli>\n\u003Cli>✅ TOON\u002FRTK compression (87% token reduction on tool outputs)\u003C\u002Fli>\n\u003Cli>✅ Semantic caching (171ms cache hits)\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>3-5x more usage from the same subscription limits\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ Works with OAuth (Claude, Copilot, Cursor) or API keys (Aider, Codex)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFast-Editor\u002Flynkr\u002Fblob\u002FHEAD\u002Fdocs\u002Fwrap-guide.md\" rel=\"nofollow ugc noopener\">Full wrap guide →\u003C\u002Fa>\u003C\u002Fp>\n\u003Chr \u002F>\n\u003Ch2>Quick Start (2 Minutes)\u003C\u002Fh2>\n\u003Ch3>1. Install Lynkr\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install -g lynkr\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>2. Configure Lynkr\u003C\u002Fh3>\n\u003Cp>The fastest path is the interactive wizard:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">lynkr init\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It asks four questions — usage mode (Claude Pro\u002FMax via wrap, or direct API keys), tier picks for SIMPLE\u002FMEDIUM\u002FCOMPLEX\u002FREASONING across the 12 supported providers, credentials for what you chose, and a few routing-intelligence knobs — then writes a fully-populated \u003Ccode>.env\u003C\u002Fcode> with sensible production defaults for everything else (caching, compression, policy budgets, MCP sandbox, agents, rate limiting).\u003C\u002Fp>\n\u003Cp>Useful flags:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">lynkr init --force                # overwrite an existing .env\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFast-Editor\u002Flynkr\u002Fblob\u002FHEAD\u002Fdocs\u002Finit.md\" rel=\"nofollow ugc noopener\">\u003Ccode>docs\u002Finit.md\u003C\u002Fcode>\u003C\u002Fa> for the full wizard reference.\u003C\u002Fp>\n\u003Cp>If you'd rather configure by hand, the manual options below still work — copy \u003Ccode>.env.example\u003C\u002Fcode> to \u003Ccode>.env\u003C\u002Fcode> and edit it directly:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Option A: Free &amp; Local (Ollama) - Recommended for Testing\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\"># Install Ollama first: https:\u002F\u002Follama.com\nollama pull qwen2.5-coder:latest\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then start Lynkr:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">lynkr start\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>3. Connect Your Tool\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Cursor IDE\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Settings → Models → Override Base URL\u003C\u002Fli>\n\u003Cli>Set to: \u003Ccode>http:\u002F\u002Flocalhost:8081\u002Fv1\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>API Key: \u003Ccode>any-value\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Codex CLI\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Edit \u003Ccode>~\u002F.codex\u002Fconfig.toml\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-toml\">model_provider = \"lynkr\"\n\n[model_providers.lynkr]\nbase_url = \"http:\u002F\u002Flocalhost:8081\u002Fv1\"\nwire_api = \"responses\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>✅ \u003Cstrong>Done!\u003C\u002Fstrong> Your AI tool now uses your chosen provider.\u003C\u002Fp>\n\u003Chr \u002F>\n\u003Ch2>Common Startup Errors\u003C\u002Fh2>\n\u003Ch3>Error: \u003Ccode>unable to determine transport target for \"pino-pretty\"\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Problem:\u003C\u002Fstrong> You're running an older version (&lt; 9.3.0).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Solution:\u003C\u002Fstrong> Update to the latest version:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">npm install -g lynkr@latest\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you must use an older version, set \u003Ccode>NODE_ENV=production\u003C\u002Fcode> before starting.\u003C\u002Fp>\n\u003Ch3>Warning: \u003Ccode>Missing tier configuration: TIER_SIMPLE, TIER_MEDIUM...\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>This is just a warning - you can ignore it.\u003C\u002Fstrong> Tier routing is optional.\u003C\u002Fp>\n\u003Cp>To remove the warning, add to \u003Ccode>.env\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">TIER_SIMPLE=ollama:qwen2.5-coder:latest\nTIER_MEDIUM=ollama:qwen2.5-coder:latest\nTIER_COMPLEX=ollama:qwen2.5-coder:latest\nTIER_REASONING=ollama:qwen2.5-coder:latest\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Warning: \u003Ccode>FALLBACK_PROVIDER='databricks' is enabled but missing credentials\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Solution:\u003C\u002Fstrong> Add to \u003Ccode>.env\u003C\u002Fcode>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">FALLBACK_EN\n\u003C\u002Fcode>\u003C\u002Fpre>\n",1784240407540]