62 lines
5.2 KiB
Markdown
62 lines
5.2 KiB
Markdown
---
|
||
name: OmniRoute AI Gateway
|
||
description: OmniRoute v3.6.5 на LXC 132 (10.0.0.179) — AI-шлюз для 60+ LLM провайдеров, порт 20128
|
||
type: project
|
||
originSessionId: 9f26284f-db92-456f-813d-fd8210b7d7b6
|
||
---
|
||
## OmniRoute v3.6.5 (LXC 132, 10.0.0.179)
|
||
|
||
- **Путь**: /root/OmniRoute/, Node.js 22, Next.js 16.2, git repo (github.com/diegosouzapw/OmniRoute)
|
||
- **Dashboard**: http://10.0.0.179:20128, пароль: 1qaz!QAZ
|
||
- **API**: http://10.0.0.179:20128/v1
|
||
- **API Key**: sk-225e902dc95ff192-6bdad7-3ec8cdc6
|
||
- **SQLite DB**: /root/.omniroute/storage.sqlite
|
||
- **Service**: omniroute.service (systemd, enabled), запускает **npx-кэш** (НЕ git repo)
|
||
- **ExecStart**: `/usr/bin/node /root/.npm/_npx/<hash>/node_modules/omniroute/app/server.js` (hash меняется при обновлении)
|
||
- **Конфиг**: /root/OmniRoute/.env (секреты сгенерированы)
|
||
|
||
### SSH доступ к LXC 132
|
||
- **Прямой SSH (root@10.0.0.179) НЕ РАБОТАЕТ** — пароль 1qaz!QAZ не подходит, ключ claude-code отсутствует
|
||
- **Доступ через Proxmox**: `sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 132 -- bash -c 'COMMAND'"` — РАБОТАЕТ
|
||
- **Hostname**: code-server
|
||
|
||
### Обновление OmniRoute (npx способ — используется сервисом)
|
||
1. Остановить: `pct exec 132 -- systemctl stop omniroute`
|
||
2. Удалить старый npx-кэш: `rm -rf /root/.npm/_npx/<old_hash>`
|
||
3. Установить: `npx omniroute@<version> --version` (создаст новый кэш)
|
||
4. Обновить путь в `/etc/systemd/system/omniroute.service` ExecStart на новый hash
|
||
5. `systemctl daemon-reload && systemctl start omniroute`
|
||
|
||
### Обновление git-репозитория (отдельно, для разработки)
|
||
1. `cd /root/OmniRoute && git pull origin main && npm install && npm run build`
|
||
|
||
### Подключённые провайдеры (2026-04-11)
|
||
| Провайдер | Аккаунт | Модели | Статус |
|
||
|-----------|---------|--------|--------|
|
||
| Codex (OpenAI) | batlaew@gmail.com (free plan) | gpt-5.4, gpt-5.4-mini | Работает, refresh проблема |
|
||
| Claude | OAuth | claude-opus-4-6, sonnet | Токен есть, refresh проблема |
|
||
| Kiro (AWS) | OAuth | claude-sonnet-4.5, haiku | Токен есть, refresh проблема |
|
||
|
||
### Использование
|
||
- Prefix модели: `cx/gpt-5.4` (Codex), `cc/claude-opus-4-6` (Claude)
|
||
- 181 модель доступна через API (на 2026-04-14)
|
||
- Codex OAuth: callback на localhost:1455 (нужен SSH-туннель для удалённого доступа)
|
||
- Token refresh: требует периодическую перелогинку OAuth
|
||
|
||
### Важно
|
||
- OAuth Codex привязан к localhost:1455 — для удалённого доступа: `ssh -L 20128:localhost:20128 -L 1455:localhost:1455 root@10.0.0.179`
|
||
- Встроенные агенты: Droid и Assistant (Dashboard → Agents)
|
||
- CLI tools конфиг: Dashboard → CLI Tools
|
||
|
||
### Sonnet 5 НЕДОСТУПЕН (2026-07-01)
|
||
- **Sonnet 5 не отдаёт ни один провайдер, включая Max (`cc/`/`claude/`).** Запрос `claude-sonnet-5` НЕ падает с ошибкой, а **тихо деградирует до Sonnet 4.5** (модель сама себя называет «Sonnet 4.5»); `claude-sonnet-5-20250929` → 404. Не ставить sonnet-5 дефолтом — будешь думать что на 5, а по факту 4.5.
|
||
- Потолок Sonnet = **4.6**, бесплатно только **4.5**. Рабочий 4.6 = `cc/claude-sonnet-4-6` / `claude/claude-sonnet-4-6` (Max-квота). `kr/kiro/kilocode`-варианты 4.6 в каталоге есть, но 400 Invalid / no credentials.
|
||
- Из семейства Claude 5 через Max реально работают: **Opus 4.8**, **Fable 5** (`cc/claude-fable-5`). `kr/claude-fable-5` = 400 Invalid.
|
||
- Грабля: битый запрос (напр. `cc/claude-sonnet-5-20250929`) вешает провайдер `cc/`/`claude/` в circuit-breaker («reset after N») на пару минут — задевает и валидные модели. Само отпускает.
|
||
|
||
### research-тул (mcp-omniroute на LXC 132)
|
||
- Файлы: `/root/mcp-omniroute/server.js` (fallback `DEFAULT_MODEL`) + env в `/root/.claude.json` → `mcpServers.omniroute.env.DEFAULT_MODEL` (**действующее** значение, оверрайдит fallback).
|
||
- **2026-07-01: дефолт research переключён `kr/claude-sonnet-4.5` → `cc/claude-sonnet-4-6`** (по выбору Олега — через Max). ВНИМАНИЕ: теперь research жрёт квоту Max (общий пул с Opus на исполнении), а не бесплатный Kiro.
|
||
- `research_compare` оставлен на бесплатных `[kr/claude-sonnet-4.5, cx/gpt-5.4]`.
|
||
- MCP — stdio, спавнится сессией Claude Code на LXC 132; новый дефолт подхватывается при следующем старте сессии, отдельного рестарта сервиса нет. Бэкапы: `~/.claude.json.bak.*`, `~/mcp-omniroute/server.js.bak.*`.
|