💥
🔥 EXCLUSIVE STORY

CACHING MAN

⚡ Герой, который запоминает всё ⚡
Как мы победили денежный апокалипсис в OhMyCHE v4, настроили Prompt Caching и Response Caching через OpenRouter, и спасли проект от финансового коллапса
▼ Scroll to read the origin story ▼
⚡ PART 1
🔥

THE PROBLEM — ДЕНЬГИ В ОГНЕ

Как 11 AI-агентов чуть не сожгли бюджет проекта

🔥 💰 🔥

OhMyCHE v4 — это 11 AI-агентов (Sisyphus, Oracle, Librarian, Hephaestus и другие), которые работают через OpenRouter. Каждый запрос к агенту — это вызов API. Без кеширования каждый повторный запрос стоил тех же денег, что и первый.

⚡ → 💸 → 🔥

«Мы решили использовать бесплатные модели OpenRouter, чтобы сократить расходы. Но без кеширования каждый запрос сжигал наши токены. Деньги утекали как песок сквозь пальцы.»

— Из хроник OhMyCHE

Проблема: OpenCode и oh-my-openagent делали запросы напрямую к OpenRouter без заголовка X-OpenRouter-Cache: true. Каждый вызов — полная стоимость, даже если это повтор того же запроса 2 секунды назад.

💪 PART 2

ENTER CACHING MAN — РОЖДЕНИЕ ГЕРОЯ

«Я запоминаю всё. Каждый токен, каждый промпт, каждый ответ. И возвращаю их мгновенно — бесплатно.»

Родился Caching Man — супергерой, чья сила в Response Caching (X-OpenRouter-Cache) и Prompt Caching на стороне провайдера (DeepSeek, OpenAI, Gemini).

CACHING MAN
Origin Story · 2026
✅ Response Cache ✅ Prompt Cache ✅ Zero Cost

Мои суперсилы:

  • 🛡️ Response Caching — моя базовая сила. Заголовок X-OpenRouter-Cache: true гарантирует, что любой повторный запрос — бесплатно (prompt=0, completion=0). Работает для всех моделей и провайдеров. TTL: 5 минут.
  • 🧠 Prompt Caching — бонусная сила. Если OpenRouter направляет запрос на DeepInfra (а не Novita), DeepSeek кеширует до 98.6% токенов промпта. Cache read — ~0.1× цены. Sticky Routing со временем подтягивает к DeepInfra.
  • Sticky Routing — OpenRouter запоминает провайдера и держит кеш тёплым между запросами
🏗️ PART 3

THE WEAPON — REVERSE PROXY

Секретное оружие Caching Man — ревёрс-прокси на Python/aiohttp, который перехватывает каждый запрос к OpenRouter.

🤖 OpenCode
11 agents
🛡️ PROXY
:8089
+ X-OpenRouter-Cache
☁️ OpenRouter
Cache HIT → $0

⚙️ Как работает

  1. OpenCode/агенты делают запрос → http://127.0.0.1:8089
  2. Прокси добавляет X-OpenRouter-Cache: true
  3. Прокси добавляет X-OpenRouter-Cache-TTL: 300
  4. Forward на https://openrouter.ai
  5. OpenRouter возвращает HIT или MISS
  6. Потоковый ответ (SSE) передаётся обратно

📂 Где лежит

infra/proxy.py — сам прокси (220 строк)
infra/io.ohmyche.openrouter-proxy.plist — launchd автозапуск
OhMyCHE/configs/opencode.jsonbaseURL изменён
infra/.env.exampleOPENROUTER_BASE_URL
skills/image-service/config/settings.json — обновлён
{
  "openrouter": {
    "options": {
      "baseURL": "http://127.0.0.1:8089",
      "apiKey": "$OPENROUTER_API_KEY"
    }
  }
}
📊 PART 4

THE NUMBERS — ЗАМЕРЫ И РЕЗУЛЬТАТЫ

62%
Экономия на typical сценарии
↑ Response + Prompt Cache вместе
🧠
98.6%
Cache Hit Rate
DeepSeek Prompt Caching
🆓
$0
Response Cache HIT
Повторные запросы бесплатно
⏱️
300s
Response Cache TTL
5 минут — можно менять

🔬 ТЕСТОВЫЙ ЗАПРОС (prompt: 1818 токенов)

BEFORE
$0.00049
Каждый запрос с нуля:
промпт — полная цена
запрос — полная цена
💸
WITH PROMPT CACHE
~$0.00007
1792 из 1818 токенов кешированы
~0.1× цена за cache read
👍
WITH RESPONSE CACHE
$0.00000
Response cache HIT
Zero billing — бесплатно
Запрос Prompt Cached Write Провайдер Статус Стоимость
#1 Первый (3K токенов) 5,460 0 0 DeepInfra ❌ MISS $0.00230
#2 Response Cache HIT 0 ✅ FREE! $0.00
#3 DeepSeek Prompt Cache 1,818 1,792 0 DeepInfra ✓ ✅ 98.6% ~$0.00007

Проблема: OpenRouter динамически маршрутизирует deepseek/deepseek-chat через разных провайдеров (DeepInfra, Novita и др.). DeepInfra поддерживает DeepSeek Prompt Caching, Novita — нет. Мы не управляем выбором провайдера напрямую (используем :free модели).

Решение: X-OpenRouter-Cache (Response Caching) работает всегда, независимо от провайдера. А для DeepSeek Prompt Caching — sticky routing OpenRouter со временем направляет на DeepInfra (кеш-совместимого провайдера).

Итог: Response Caching = 100% надёжность + $0 на повтор. Prompt Caching = бонус до 98.6% при попадании на DeepInfra.

🔧 PART 5

THE CONFIG — ЧТО БЫЛО ИЗМЕНЕНО

📄

opencode.json

Добавлен baseURL для провайдера openrouter:

"openrouter": {
  "options": {
    "baseURL": "http://127.0.0.1:8089",
    "apiKey": "$OPENROUTER_API_KEY"
  }
}
🌐

.env файлы

OPENROUTER_BASE_URL теперь указывает на прокси:

OPENROUTER_BASE_URL=http://127.0.0.1:8089
🖼️

Image Service settings

Все base_url в settings.json переписаны на прокси:

"base_url": "http://127.0.0.1:8089"
⚙️

launchd автозапуск

Прокси запускается при входе в систему через launchd:

cp infra/io.ohmyche.openrouter-proxy.plist \
  ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/...
infra/proxy.py — прокси
infra/io.ohmyche.openrouter-proxy.plist
OhMyCHE/configs/opencode.json
ohmyche4/configs/opencode.json
omch32/config/opencode.json
infra/.env.example
image-service/config/settings.json
app/ai_engine/llm/client.py
app/ai_engine/vision.py
app/ai_engine/transcription.py
app/knowledge/memory_service.py
✅ 5 CHE/doc-brand-os файлов
🏆 FINAL

VICTORY!

Кеширование спасло проект

Теперь все 11 AI-агентов OhMyCHE v4 работают через прокси с кешированием. Повторные запросы — бесплатно. Prompt caching DeepSeek — до 98.6% токенов кешированы. Деньги больше не горят.

«Кешируйте. Экономьте. Побеждайте.»

— Caching Man

⬆ Начало истории 📊 К замерам