Skip to content

Commit 48dc095

Browse files
author
1bcMax
committed
docs: add ClawRouter vs OpenRouter comparison, rename blog files for SEO
- Add new article: clawrouter-vs-openrouter-llm-routing-comparison.md (100 OpenClaw issues analyzed, structured comparison across 8 categories) - Remove outdated vs-openrouter.md (superseded by new article) - Rename blog files to SEO-friendly slugs: blog-openclaw-cost-overruns → clawrouter-cuts-llm-api-costs-500x blog-benchmark-2026-03 → llm-router-benchmark-46-models-sub-1ms-routing technical-routing-2026-03 → smart-llm-router-14-dimension-classifier
1 parent 14abf51 commit 48dc095

5 files changed

Lines changed: 517 additions & 212 deletions

docs/blog-openclaw-cost-overruns.md renamed to docs/clawrouter-cuts-llm-api-costs-500x.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# The Most AI-Agent-Native Router for OpenClaw
22

3-
> *OpenClaw is one of the best AI agent frameworks available. Its LLM abstraction layer is not.*
3+
> _OpenClaw is one of the best AI agent frameworks available. Its LLM abstraction layer is not._
44
55
---
66

@@ -10,9 +10,9 @@
1010

1111
From [openclaw/openclaw#3181](https://github.com/openclaw/openclaw/issues/3181):
1212

13-
> *"We ended up at $248/day before we caught it. Heartbeat on Opus 4.6 with a large context. The dedup fix reduced trigger rate, but there's nothing bounding the run itself."*
13+
> _"We ended up at $248/day before we caught it. Heartbeat on Opus 4.6 with a large context. The dedup fix reduced trigger rate, but there's nothing bounding the run itself."_
1414
15-
> *"11.3M input tokens in 1 hour on claude-opus-4-6 (128K context), ~$20/hour."*
15+
> _"11.3M input tokens in 1 hour on claude-opus-4-6 (128K context), ~$20/hour."_
1616
1717
Both users ended up disabling heartbeat entirely. The workaround: `heartbeat.every: "0"` — turning off the feature to avoid burning money.
1818

@@ -62,15 +62,15 @@ Agents are the worst offenders for context bloat. Tool call results are verbose.
6262

6363
ClawRouter compresses every request through 7 layers before it hits the wire:
6464

65-
| Layer | What it does | Saves |
66-
|-------|-------------|-------|
67-
| Deduplication | Removes repeated messages (retries, echoes) | Variable |
68-
| Whitespace | Strips excessive whitespace from all content | 2–8% |
69-
| Dictionary | Replaces common phrases with short codes | 5–15% |
70-
| Path shortening | Codebook for repeated file paths in tool results | 3–10% |
71-
| JSON compaction | Removes whitespace from embedded JSON | 5–12% |
72-
| **Observation compression** | **Summarizes tool results to key information** | **Up to 97%** |
73-
| Dynamic codebook | Learns repetitions in the actual conversation | 3–15% |
65+
| Layer | What it does | Saves |
66+
| --------------------------- | ------------------------------------------------ | ------------- |
67+
| Deduplication | Removes repeated messages (retries, echoes) | Variable |
68+
| Whitespace | Strips excessive whitespace from all content | 2–8% |
69+
| Dictionary | Replaces common phrases with short codes | 5–15% |
70+
| Path shortening | Codebook for repeated file paths in tool results | 3–10% |
71+
| JSON compaction | Removes whitespace from embedded JSON | 5–12% |
72+
| **Observation compression** | **Summarizes tool results to key information** | **Up to 97%** |
73+
| Dynamic codebook | Learns repetitions in the actual conversation | 3–15% |
7474

7575
Layer 6 is the big one. Tool results — file reads, API responses, shell output — can be 10KB+ each. The actual useful signal is often 200–300 chars. ClawRouter extracts errors, status lines, key JSON fields, and compresses the rest. Same model intelligence, 97% fewer tokens on the bulk.
7676

@@ -153,20 +153,20 @@ There is no monthly invoice. There is no 3am email. There is a wallet balance, a
153153

154154
<p align="center"><img src="assets/blockrun-clawrouter-vs-openclaw-standalone-comparison-production-safety.png" alt="Architecting for production safety — OpenClaw standalone vs OpenClaw + ClawRouter comparison across cost, context, error handling, and budgeting" width="720"></p>
155155

156-
| Problem | OpenClaw alone | OpenClaw + ClawRouter |
157-
|---------|---------------|----------------------|
158-
| Heartbeat cost overrun | No per-run cap | Tier routing → 50–500× cheaper model |
159-
| Large context | Full context every call | 7-layer compression, 15–40% reduction |
160-
| Tool result bloat | Raw output forwarded | Observation compression, up to 97% |
161-
| Rate limit contaminates profile | All models penalized (#49834) | Per-model 60s cooldown, others unaffected |
162-
| Empty / degraded 200 response | Passed through to agent (#49902) | Detected, triggers model fallback |
163-
| Short-burst 429 failover | Immediate failover to next model | 200ms retry first, failover only if needed |
164-
| MiniMax 520 failure | Silent drop / retry storm | Classified as server_error, retried correctly |
165-
| Z.ai 1311 (billing) | Treated as rate_limit, retried | Classified as billing, stopped immediately |
166-
| Mid-task model switch | Model can change mid-session | Session pinning, consistent model per task |
167-
| Monthly billing surprise | Possible | Wallet-based, stops when empty |
168-
| Per-session cost ceiling | None | `maxCostPerRun` — graceful or strict cap |
169-
| Cost visibility | None | `/stats` with per-provider error counts |
156+
| Problem | OpenClaw alone | OpenClaw + ClawRouter |
157+
| ------------------------------- | -------------------------------- | --------------------------------------------- |
158+
| Heartbeat cost overrun | No per-run cap | Tier routing → 50–500× cheaper model |
159+
| Large context | Full context every call | 7-layer compression, 15–40% reduction |
160+
| Tool result bloat | Raw output forwarded | Observation compression, up to 97% |
161+
| Rate limit contaminates profile | All models penalized (#49834) | Per-model 60s cooldown, others unaffected |
162+
| Empty / degraded 200 response | Passed through to agent (#49902) | Detected, triggers model fallback |
163+
| Short-burst 429 failover | Immediate failover to next model | 200ms retry first, failover only if needed |
164+
| MiniMax 520 failure | Silent drop / retry storm | Classified as server_error, retried correctly |
165+
| Z.ai 1311 (billing) | Treated as rate_limit, retried | Classified as billing, stopped immediately |
166+
| Mid-task model switch | Model can change mid-session | Session pinning, consistent model per task |
167+
| Monthly billing surprise | Possible | Wallet-based, stops when empty |
168+
| Per-session cost ceiling | None | `maxCostPerRun` — graceful or strict cap |
169+
| Cost visibility | None | `/stats` with per-provider error counts |
170170

171171
---
172172

@@ -194,4 +194,4 @@ That's what ClawRouter is for.
194194

195195
---
196196

197-
*[github.com/BlockRunAI/ClawRouter](https://github.com/BlockRunAI/ClawRouter) · [blockrun.ai](https://blockrun.ai) · `npm install -g @blockrun/clawrouter`*
197+
_[github.com/BlockRunAI/ClawRouter](https://github.com/BlockRunAI/ClawRouter) · [blockrun.ai](https://blockrun.ai) · `npm install -g @blockrun/clawrouter`_

0 commit comments

Comments
 (0)