omni-compression

SkillDev tools

Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the omni-compression skill

About this capability

AI gateway with enhanced compliance for the domestic (China) market

What this skill tells your AI

The instructions your AI receives, as published by jaccen/airoute in skills/omni-compression/SKILL.md and read by ahel’s review.

Overview

Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.

Authentication

All requests require a valid Bearer token or session cookie. Obtain a token via POST /api/auth/login or configure REQUIRE_API_KEY=false for local development.

Endpoints

POST /api/compression/preview

Preview compression for a message payload

curl -X POST https://localhost:20128/api/compression/preview \
  -H "Authorization: Bearer $AIRoute_TOKEN"
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/compression/language-packs

List Caveman compression language packs

curl https://localhost:20128/api/compression/language-packs \
  -H "Authorization: Bearer $AIRoute_TOKEN"

GET /api/compression/rules

List Caveman compression rule metadata

curl https://localhost:20128/api/compression/rules \
  -H "Authorization: Bearer $AIRoute_TOKEN"

Payloads

See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.

AIRoute — Compression

Requires AIRoute_URL and AIRoute_KEY. See entry-point SKILL for setup.

Overview

AIRoute compresses token payloads before forwarding to providers. No code changes required — set it once, it applies to all requests transparently.

EngineBest forTypical savings
RTKTerminal / build / test / git output60–90%
CavemanHuman prose, chat history46% input
Stacked (rtk → caveman)Mixed coding sessions78–95%
MCP accessibility filterBrowser/accessibility tool results60–80%

Get current settings

curl $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY"

Enable RTK (best for coding agents)

curl -X PUT $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "mode": "rtk", "enabled": true }'

Enable stacked mode (maximum savings)

curl -X PUT $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "stacked",
    "enabled": true,
    "stackedPipeline": ["rtk", "caveman"]
  }'

Enable Caveman (prose / chat)

curl -X PUT $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "mode": "standard", "enabled": true }'

Caveman intensities: lite (safe), standard (balanced), aggressive (long sessions), ultra (context recovery).

Preview compression before enabling

curl -X POST $AIRoute_URL/api/compression/preview \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "rtk",
    "text": "$ npm test\n> jest\n\nPASS src/a.test.ts (2.1s)\nPASS src/b.test.ts (1.8s)\n..."
  }'

Response includes compressed, original_length, compressed_length, savings_pct.

MCP accessibility-tree filter (browser agent use)

When AIRoute is used with browser/Playwright MCP tools, it automatically compresses verbose accessibility-tree tool results. Enabled by default; configure thresholds:

curl -X PUT $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mcpAccessibility": {
      "enabled": true,
      "collapseThreshold": 30,
      "maxTextChars": 50000
    }
  }'

collapseThreshold: collapse sibling lines when ≥ N repeats (default 30). maxTextChars: hard truncate after N chars with navigation hint (default 50000).

Language packs (Caveman)

Caveman supports language-aware rules for pt-BR, es, de, fr, ja:

curl -X PUT $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "standard",
    "cavemanConfig": {
      "language": "pt-BR",
      "autoDetectLanguage": true
    }
  }'

Via MCP

AIRoute_compression_status     → current settings + savings analytics
AIRoute_compression_configure  → update mode/threshold/language
AIRoute_set_compression_engine → switch engine at runtime

Disable compression

curl -X PUT $AIRoute_URL/api/settings/compression \
  -H "Authorization: Bearer $AIRoute_KEY" \
  -d '{ "enabled": false }'

Errors

  • 400 invalid mode → use off, lite, standard, aggressive, ultra, rtk, or stacked
  • 400 invalid stackedPipeline → array must contain valid engine ids (rtk, caveman)

Signals

GitHub stars
32
Forks
8
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
omni-compression-jaccen
Source
github.com/jaccen/airoute