Files
obsidian-vault/personal/docs/OpenRouter setup.md
T
2026-05-29 19:00:55 +00:00

130 lines
5.4 KiB
Markdown
Executable File

Теперь вся картина чёткая. Разбираю детально.
---
## Условия OpenRouter — честно
### Бесплатный тир (без карты)
Бесплатный лимит — **50 запросов в день и 20 RPM**. Но если пополнить баланс хотя бы на $10 — лимит вырастает до **1000 запросов в день**, при этом 20 RPM остаётся. [OpenRouter](https://openrouter.ai/docs/faq)
Важный нюанс: **failed запросы тоже считаются** в дневной лимит. То есть если агент словил 429 и ретраит — каждая попытка ест квоту. [OpenRouter](https://openrouter.zendesk.com/hc/en-us/articles/39501163636379-OpenRouter-Rate-Limits-What-You-Need-to-Know)
Итого реально:
| Состояние | req/day | req/min |
|---|---|---|
| Без оплаты | 50 | 20 |
| Пополнил $10+ | 1000 | 20 |
| Платные модели | без лимита | без лимита |
**$10 разово** — это не подписка, не списывается автоматически. Просто разовое пополнение кредитов, которые тратятся только на платные модели. Зато бесплатные модели сразу получают 1000 req/day. Очень разумный трейдофф.
---
### Что сейчас доступно бесплатно (апрель 2026)
На OpenRouter 28 бесплатных моделей. Топ для наших задач: [Costgoat](https://costgoat.com/pricing/openrouter-free-models)
**Для агентных задач (есть tool calling):**
- `qwen/qwen3-coder:free` — 262K контекст, лучшая бесплатная модель для кода
- `qwen/qwen3-next-80b-a3b-instruct:free` — 262K, MoE, инструкции
- `nvidia/nemotron-3-super-120b-a12b:free` — 262K, гибридная архитектура
- `openai/gpt-oss-120b:free` — 131K, первая open-weight модель OpenAI
- `openai/gpt-oss-20b:free` — 131K, быстрее
- `meta-llama/llama-3.3-70b-instruct:free` — 66K, проверенная
- `minimax/minimax-m2.5:free` — 197K
**Авто-роутер (выбирает лучшую доступную):**
- `openrouter/free` — 200K контекст, сам выбирает модель
**Приватность:** некоторые бесплатные модели логируют промпты для обучения — нужно проверять карточку каждой модели. [Teamday](https://www.teamday.ai/blog/best-free-ai-models-openrouter-2026) Для Asana/Gmail задач это важно — использовать только модели без логирования или фильтровать данные до отправки (что мы уже делаем в asana-scout).
---
## Настройка в нашем стеке
**Шаг 1 — Регистрация и ключ**
Зайти на [openrouter.ai](https://openrouter.ai) → Sign Up → Keys → Create Key. Карта не нужна.
Опционально пополнить на $10 для 1000 req/day на бесплатных моделях.
**Шаг 2 — Добавить в `.env`**
```bash
# ~/ai-stack/.env
OPENROUTER_API_KEY=sk-or-v1-xxxxx
```
**Шаг 3 — `docker-compose.yml`**
```yaml
services:
openclaw:
environment:
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
```
**Шаг 4 — `openclaw.json`**
```json
{
"providers": {
"openrouter": {
"type": "openai-compatible",
"baseUrl": "https://openrouter.ai/api/v1",
"apiKey": "${OPENROUTER_API_KEY}",
"headers": {
"HTTP-Referer": "https://your-site.com",
"X-Title": "MyOpenClaw"
}
}
},
"agents": {
"list": [
{
"id": "main",
"model": "claude-opus-4-5"
},
{
"id": "asana-scout",
"model": "openrouter/qwen/qwen3-next-80b-a3b-instruct:free"
},
{
"id": "knowledge",
"model": "openrouter/meta-llama/llama-3.3-70b-instruct:free"
},
{
"id": "spawn-worker",
"model": "openrouter/openai/gpt-oss-120b:free"
}
]
}
}
```
Два хедера `HTTP-Referer` и `X-Title` — OpenRouter просит их указывать для идентификации приложения, иначе запросы могут депрайоритизироваться.
**Шаг 5 — Перезапуск**
```bash
docker compose down && docker compose up -d
docker exec openclaw openclaw status
```
---
## Практический совет по лимитам для агентов
20 RPM звучит много, но агентная цепочка может сделать 5-10 вызовов за один пользовательский запрос. При параллельных spawn-worker агентах лимит бьётся быстро.
Добавь в `AGENTS.md` главного агента:
```markdown
## OpenRouter Rate Limit Awareness
- Free tier: 20 req/min, 1000 req/day
- Spawn workers sequentially, not in parallel, when using free OpenRouter models
- If 429 received: wait 10s before retry, max 3 retries
- Fallback model: openrouter/free (auto-selects available free model)
```