You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<title>Tingly Box - Provider-Agnostic AI Model Proxy</title>
7
+
<metaname="description" content="Tingly Box is a provider-agnostic AI model proxy with a unified OpenAI-compatible API, config-based request forwarding, and web management UI." />
<metaproperty="og:title" content="Tingly Box - Provider-Agnostic AI Model Proxy" />
12
+
<metaproperty="og:description" content="Unified OpenAI-compatible API for multiple AI providers with config-based request forwarding and web management UI." />
{icon: Globe,title: "Unified API",description: "Single configuration to connect hundreds of model providers."},
18
-
{icon: Layers,title: "Load Balancing",description: "Distribute requests across multiple tokens by tactics."},
19
-
{
20
-
icon: ArrowLeftRight,
21
-
title: "Auto API Translation",
22
-
description: "Automatically translate API parameters among different providers."
23
-
},
24
-
{icon: Gauge,title: "High Performance",description: "Additional latency less than 1ms for seamless integration."},
15
+
{icon: Globe,title: "Unified API",description: "One mixin endpoint to rule them all — use OpenAI, Anthropic, or Google APIs interchangeably."},
16
+
{icon: Zap,title: "Smart Routing",description: "Intelligently route requests across models and tokens based on cost, speed, or custom policies — not just simple load balancing."},
17
+
{icon: Layers,title: "Smart Context Compression",description: "(Coming soon) Automatically distill context to its essential parts for sharper relevance, lower cost, and faster responses."},
18
+
{icon: ArrowLeftRight,title: "Auto API Translation",description: "Seamlessly bridge OpenAI, Anthropic, Google, and other API dialects — no code changes needed."},
19
+
{icon: Gauge,title: "Blazing Fast",description: "Adds typically < 1ms of overhead — so you get flexibility without latency tax."},
20
+
{icon: Shield,title: "Flexible Auth",description: "Support for both API keys and OAuth (e.g., Claude.ai) — use your existing quotas anywhere."},
21
+
{icon: LayoutDashboard,title: "Visual Control Panel",description: "Intuitive UI to manage providers, routes, aliases, and models at a glance."},
22
+
{icon: BarChart3,title: "Client Side Usage Stats",description: "Track token consumption, latency, cost estimates, and model selection per request — directly from your client."},
25
23
];
26
24
27
25
exportconstfaqs=[
28
26
{
29
-
question: "How does load balancing work?",
30
-
answer: "Tingly Box automatically distributes requests across multiple API tokens using routing strategies. By default, it uses round-robin with a request threshold of 100 (if not configured)."
27
+
question: "How does smart routing work?",
28
+
answer: "Tingly Box intelligently routes requests across multiple API tokens and models using configurable strategies. Unlike simple load balancing, it considers cost, speed, and custom policies to optimize each request. By default, it uses round-robin with a request threshold of 100 (if not configured)."
29
+
},
30
+
{
31
+
question: "Can I use OAuth providers like Claude Code?",
32
+
answer: "Yes! You can add OAuth providers (like Claude Code) through the Web UI at http://localhost:12580. Once configured, requests route through your OAuth-authorized provider, using your existing quota instead of requiring a separate API key. This works with any OpenAI-compatible tool."
31
33
},
32
34
{
33
35
question: "How do I enable mirrored networking mode in WSL2?",
@@ -39,6 +41,6 @@ export const faqs = [
39
41
},
40
42
{
41
43
question: "Why do I get \"BadRequestError: LLM Provider NOT provided\" when using LiteLLM with model set to \"tingly\"?",
42
-
answer: "LiteLLM validates the model name and expects it to be a known, supported model. When you set the model name to \"tingly\", LiteLLM treats it as invalid and throws this error. To work around this, configure the local model name as a real model such as \"gpt-3.5-turbo\". This is only to pass LiteLLM’s validation—the actual remote model used by tingly-box does not change."
44
+
answer: "LiteLLM validates the model name and expects it to be a known, supported model. When you set the model name to \"tingly\", LiteLLM treats it as invalid and throws this error. To work around this, configure the local model name as a real model such as \"gpt-3.5-turbo\". This is only to pass LiteLLM's validation—the actual remote model used by tingly-box does not change."
0 commit comments