From d754de83783652c5089187ada9319fd5fa353f93 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 6 May 2026 12:00:52 +0000 Subject: [PATCH] auto-backup claude-memory 2026-05-06_12:00 --- claude-memory/cliproxy_code_server.md | 23 ------------- claude-memory/omniroute.md | 47 +++++++++------------------ 2 files changed, 15 insertions(+), 55 deletions(-) diff --git a/claude-memory/cliproxy_code_server.md b/claude-memory/cliproxy_code_server.md index 6fc5aac..3a439f9 100644 --- a/claude-memory/cliproxy_code_server.md +++ b/claude-memory/cliproxy_code_server.md @@ -32,26 +32,3 @@ Claude Code на code-server (LXC 132, IP 10.0.0.179) работает чере ## TODO - Выяснить, почему auto-refresh не срабатывает (проверить после следующего протухания) - Рассмотреть cron для принудительного рефреша до истечения токена - -## Update 2026-05-06 — два разных CLIProxy-механизма - -После audit'а (см. [[../decisions/2026-05-06-openclaw-opus-4-7-via-max-cliproxy]]) выяснилось: - -1. **Standalone `cliproxy.service` на порту 8317** — описан выше, OAuth `batlaew@gmail.com` (Pro), auto-refresh ломается. Сейчас используется только legacy ботами (NIIKN 133, Знам 134), которым ещё не выдан прямой API ключ. Когда мигрируют — service выключить. - -2. **Встроенный CLIProxy-модуль OmniRoute** (через `cc/*` модели) — **другой mechanism**. Использует Max-подписку Олега, OAuth flow через `claude-cli/1.0.83` user-agent. У OmniRoute есть **HealthCheck loop** (`/root/.npm/_npx/cb5891f90ae65d14/node_modules/omniroute/app`) который **проактивно** refresh'ит токены до их истечения — видно в `journalctl -u omniroute`: - - ``` - [HealthCheck] Refreshing gemini-cli/... (token expiring soon) - [HealthCheck] [TOKEN_REFRESH] Successfully refreshed Google token - [HealthCheck] Refreshing antigravity/... (token expiring soon) - [HealthCheck] [TOKEN_REFRESH] Successfully refreshed Google token - [HealthCheck] Refreshing kiro/... (token expiring soon) - [HealthCheck] [TOKEN_REFRESH] Successfully refreshed Kiro AWS token - ``` - - То есть проблема старого CLIProxy (8h cycle + ломаный refresh) **в OmniRoute не повторяется** — refresh работает по событию `expiring soon`. - -**Где живёт state OAuth:** `/root/.omniroute/storage.sqlite` → таблица `provider_connections` (поля `access_token`, `refresh_token`, `expires_at`). 11 провайдеров активно (claude:1, antigravity:5, codex:7, kiro:5, и т.д.). - -**Мониторинг здоровья cc/* для openclaw** — см. [[../snippets/omniroute-models-audit]] (smoke test шаблоны и интерпретация ошибок). diff --git a/claude-memory/omniroute.md b/claude-memory/omniroute.md index 0858e2d..286f37d 100644 --- a/claude-memory/omniroute.md +++ b/claude-memory/omniroute.md @@ -4,21 +4,20 @@ description: OmniRoute v3.6.5 на LXC 132 (10.0.0.179) — AI-шлюз для 6 type: project originSessionId: 9f26284f-db92-456f-813d-fd8210b7d7b6 --- -## OmniRoute v3.6.9+ (LXC 132, 10.0.0.179) +## 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 (или https://ai.dttb.ru/v1 публично через NPM с Bearer) -- **API Key**: `sk-225e902dc95ff192-6bdad7-3ec8cdc6` (test-key) / `sk-225e902dc95ff192-e71c19-7cc9283e` (claw) +- **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//node_modules/omniroute/app/server.js` (hash меняется при обновлении) - **Конфиг**: /root/OmniRoute/.env (секреты сгенерированы) -- **Каталог моделей**: 145+ моделей (на 2026-05-06) ### SSH доступ к LXC 132 -- **Прямой SSH** `ssh root@10.0.0.179` — РАБОТАЕТ если на машине есть claude-code ключ (на Mac Олега есть) -- **Через Proxmox**: `sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 132 -- bash -c 'COMMAND'"` — РАБОТАЕТ всегда +- **Прямой 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 способ — используется сервисом) @@ -31,34 +30,18 @@ originSessionId: 9f26284f-db92-456f-813d-fd8210b7d7b6 ### Обновление git-репозитория (отдельно, для разработки) 1. `cd /root/OmniRoute && git pull origin main && npm install && npm run build` -### Подключённые провайдеры (актуально 2026-05-06) -| Префикс | Провайдер | Модели Opus | Статус | -|---------|-----------|-------------|--------| -| **`cc/`** | Claude Code OAuth (Max-подписка) | **claude-opus-4-7**, opus-4-6, sonnet-4-6, sonnet-4-5, haiku-4-5 | ✅ Primary path к Opus | -| `claude/` | прямой Anthropic API (платный) | claude-opus-4-7, opus-4-6, sonnet-4-6, haiku-4-5 | ✅ Резерв per-token | -| `kr/` | Kiro/AWS Bedrock | sonnet-4.5 (Opus НЕТ) | ✅ для Sonnet, ❌ Opus | -| `cx/` | Codex (OpenAI free) | gpt-5.4, gpt-5.4-mini, gpt-5.5 | ✅ для GPT | -| `gh/` | GitHub Copilot integrator (MS) | sonnet-4.5/4.6, ~~opus-4.6~~, ~~opus-4.7~~ | ⚠️ Sonnet работает, Opus сломан (см. ниже) | -| `antigravity/` | Google Antigravity | opus-4-6-thinking | ❌ Нужен OAuth reconnect (projectId пуст) | -| `kc/` `kilocode/` | KiloCode aggregator | opus-4.7 | ❌ Empty response | -| `glm/` | Zhipu Z.ai | glm-5.1 | ✅ | - -### Главный путь к Opus 4.7 — `omniroute/cc/claude-opus-4-7` - -Через **CLIProxy + Claude Code OAuth + Max-подписку**. Фиксированная стоимость, без per-token. Подтверждено 2026-05-06: smoke-test вернул корректный ответ от `claude-opus-4-7`. См. [[../decisions/2026-05-06-openclaw-opus-4-7-via-max-cliproxy]]. - -### Известные сломы - -- **`gh/claude-opus-4.6`**: MS Copilot integrator убрал Opus 4.6 из своего scope, отдаёт «model not available for integrator vscode-chat» -- **`gh/claude-opus-4.7`**: ID mismatch — OmniRoute шлёт `4.7`, MS ждёт `4-7` (точка vs дефис). Баг текущей версии OmniRoute. Workaround: использовать `cc/claude-opus-4-7` пока не починят. -- **`antigravity/*`**: возвращает `"Missing Google projectId for Antigravity account. Please reconnect OAuth in Providers → Antigravity"`. Триггер из [[user_profile]]: до OAuth нужен вход на antigravity.google и создание Cloud Code project. +### Подключённые провайдеры (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 модели в API: `cc/claude-opus-4-7`, `kr/claude-sonnet-4.5`, `cx/gpt-5.4` -- Codex OAuth callback: localhost:1455 (нужен SSH-туннель для удалённого онбординга) -- Token refresh: периодическая перелогинка OAuth — проверять Dashboard → Providers -- Health-check moniter: на LXC 132 в `journalctl -u omniroute -f` смотреть USAGE/STREAM строки +- 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`