diff --git a/CHANGELOG.md b/CHANGELOG.md index bb74439..afab9a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Изменения AILab SCRUME Agent +# Изменения OM_Lab_Agent История до 1.7.5 — в `git log` (сообщения коммитов вида `v1.7.5: …`). Здесь ведём план и состав следующего релиза. @@ -161,9 +161,9 @@ Порядок работ: сначала `tool_request` + политика + журнал в режиме «только запись» (ничего не маскируем, смотрим поток), затем включаем маску на жёлтом, и только после настройки правил — демаскировку ответа. -### 5. Состав из «Mastermind — требования к следующей сборке» +### 5. Состав из «OM_Lab — требования к следующей сборке» -Единый источник UI- и функциональных требований — `C:\Users\Admin\OneDrive\Документы\OM LAB\Mastermind — требования к следующей сборке.md` (§0 — сводка, §1–§4 — тексты). Здесь только состав и статусы; требования не дублируются, при расхождении верен документ. +Единый источник UI- и функциональных требований — `C:\Users\Admin\OneDrive\Документы\OM LAB\OM_Lab — требования к следующей сборке.md` (§0 — сводка, §1–§4 — тексты). Здесь только состав и статусы; требования не дублируются, при расхождении верен документ. | № в документе | Пункт | Раздел | Статус на 05.11.2026 | |---|---|---|---| @@ -176,8 +176,13 @@ | 6a | Вкладка «Боты» скрыта, Bot Mode остаётся в коде | §3b | решено 04.11.2026: только вкладка | | 6b | Первое открытие после установки — тёмная тема | §3c | записано 04.11.2026 | | 7 | Бот на звонок в Телемост | §4 | **блокер:** отдельная учётка Яндекс | +| 8 | Ключ привязан к машине: зачисление + `key_cmd`, статического ключа в `.env` нет | §1c | **сделано 05.11.2026** (см. ниже) | -- **Что реально войдёт в 1.7.6:** пункты без внешних блокеров — 1, 2, 4, 6, 6a, 6b (плюс безопасность п.1–3 выше) **и пункт 5** (резерв, работа шлюза — по решению Олега 05.11.2026 переделка делается при сборке 1.7.6, а не сейчас). +- **Пункт 8 (привязка доступа к машине) — сделано 05.11.2026.** Шлюз: `gw-issuer` v2 — `/enrol` (обмен старого `sk-…` на зачисление), `/app-key` (сессия `as-…` на 300 с по `X-Install-Token`), `/resolve` (подмена сессии на ключ человека для nginx), `/revoke`, `/list`. nginx на `gw.ailabscrume.ru` получил `auth_request`: в LiteLLM уходит тот же ключ, что и раньше, поэтому лимиты и учёт не меняются (короткие ключи через `/key/generate` отвергнуты — каждый ключ это отдельная строка расхода и прогресс-бар §1a показывал бы ноль). Клиент: `gw-key.ps1` (DPAPI-конверты, коды 0/1/2/3/4, кэш при недоступном хабе), установщик зачисляет машину по почте и коду, пишет `key_cmd` вместо `key_env`, чистит `.env`, файл зачисления кладёт в `%LOCALAPPDATA%\AILabSCRUME` (вне дома агента). Проверено живьём: агент на временном профиле ответил моделью через `key_cmd` при пустом `.env`; отзыв зачисления → helper выходит с кодом 3. `ISSUER_STRICT=0` — статические ключи пока проходят насквозь; включать `1` после обновления всех машин. + +- **Брендинг 1.7.6 (решение Олега 05.11.2026).** Название агента — `OM_Lab_Agent` (видимые строки: установщик, ярлык, описание задачи Планировщика, README/INSTALL/CHANGELOG, проверка самоназвания `$NamePat`). Лого на пустом чате — `assets/scrum-engineering.svg` заменён на логотип OM Lab (PNG 3032×1376 → 640 px внутри SVG, alt `OM_Lab_Agent`, ширина 280 px, прозрачность 0.85); рендерер пересобран. Иконка — `dist/setup/assets/om-lab.ico` (256 px). **Display-имя Electron НЕ меняем** (`product-identity.cjs`: `display: 'Hermes'`): оно задаёт `%APPDATA%\Hermes`, где лежат список чатов и настройки окна — переименование «потеряло» бы их у всех. **Триггер автообновления не трогаем** (остаётся `Daily 03:00 + 0…44 мин` с `-StartWhenAvailable`); поведение при выключенном ПК: обновление выполняется при первом включении/входе, но если в этот момент открыто окно `Hermes.exe` → «отложено» до следующего окна. + +- **Что реально войдёт в 1.7.6:** пункты без внешних блокеров — 1, 2, 4, 6, 6a, 6b, **8** (плюс безопасность п.1–3 выше) **и пункт 5** (резерв, работа шлюза — по решению Олега 05.11.2026 переделка делается при сборке 1.7.6, а не сейчас). - **Пункт 5 (резерв) — не клиентская работа, но входит в 1.7.6 и делается при сборке (решение Олега 05.11.2026).** Проверено 05.11.2026 на шлюзе: ключ `proxyapi.ru` живой, `GET /v1/models` → 200, 797 моделей, ограничений на ключе нет (подтверждено Олегом). Группы `proxy//` и `router_settings.fallbacks` для всех алиасов уже заведены, **но переход не выполняется**: в логе `gw-llm` — `Fallback to proxy/google/gemini-4-argon was skipped because the caller is not authorized to call it`. Причина: у ключа сотрудника в `models` только его 9 моделей, `proxy/*` в них нет. Отсюда решение: не отдельная группа, а второй деплоймент внутри той же группы `//` (список моделей у ключа не меняется — резерв остаётся невидимым), плюс явный `cooldown_time: 300` (сейчас «5 минут» держатся на дефолте роутера, в `router_settings` его нет). - **Маппинг моделей — решено Олегом 05.11.2026.** 7 из 9 моделей совпадают с proxyapi по имени один в один. Решения по двум: - `anthropic/claude-sonnet-5.5` → резерв `anthropic/claude-sonnet-5-5` (у proxyapi дефис вместо точки); diff --git a/INSTALL.md b/INSTALL.md index 6a106cb..64f36d9 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -12,7 +12,7 @@ > От администратора запускается только `FIX.cmd` (или `WIPE.cmd`) — и только если > установка уже остановилась. -Агент **AILab SCRUME Agent** — Hermes Agent: личный помощник. Ключ API выдаёт владелец +Агент **OM_Lab_Agent** — Hermes Agent: личный помощник. Ключ API выдаёт владелец агента — его вы впишете один раз при установке. Агент ставится в **единственный профиль** Hermes. Переключателей профилей и лишних @@ -61,7 +61,7 @@ 8b. **готовит движок для окна** — проверяет, что окно поднимет его сразу, и даёт запас по времени. Без этого шага окно на холодной машине решало, что движок не работает, и само уходило в доустановку, где падало с ошибкой «Отказано в доступе»; -9. **скачивает и ставит окно приложения** (~158 МБ) и кладёт **ярлык «AILab SCRUME Agent» +9. **скачивает и ставит окно приложения** (~158 МБ) и кладёт **ярлык «OM_Lab_Agent» на рабочий стол**. > **Запускайте установку обычным пользователем — НЕ «от имени администратора».** @@ -236,7 +236,7 @@ ``` Первое сообщение для проверки: `Как тебя зовут и кому ты помогаешь?` -Ответ должен быть про AILab SCRUME Agent. +Ответ должен быть про OM_Lab_Agent. --- diff --git a/README.md b/README.md index 6dbdbca..096baab 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# AILab SCRUME Agent +# OM_Lab_Agent **Текущая версия: 1.7.5.** @@ -31,7 +31,7 @@ ``` Дальше всё делает установщик: ставит движок и агента, открывает Блокнот для ключа, -прогревает окружение, качает и ставит окно приложения, кладёт ярлык **«AILab SCRUME Agent»** +прогревает окружение, качает и ставит окно приложения, кладёт ярлык **«OM_Lab_Agent»** на рабочий стол. Ключ API выдаёт владелец агента. Доступ к репозиторию не нужен. Ссылка постоянная — не меняется при выпуске новых версий, повторный запуск обновляет агента @@ -58,7 +58,7 @@ | Путь | Что это | |---|---| | `distribution.yaml` | манифест: имя, версия, автор, требуемые переменные окружения | -| `SOUL.md` | персона агента: AILab SCRUME Agent, личный помощник | +| `SOUL.md` | персона агента: OM_Lab_Agent, личный помощник | | `config.yaml` | модель, провайдер (Polza.ai), инструменты, язык — **без ключей** | | `skills/` | 62 скилла: 58 штатных Hermes + 4 наших (`skills/ailab/`) | | `INSTALL.md` | пошаговая инструкция для получателя | diff --git a/distribution.yaml b/distribution.yaml index 6ed776d..728bab9 100644 --- a/distribution.yaml +++ b/distribution.yaml @@ -1,5 +1,5 @@ name: ailab_scrume_agent -version: 1.7.5 +version: 1.7.6 description: "Личный помощник: документы, письма, договоры, расчёты, поиск, задачи." hermes_requires: ">=0.21.6" author: "AI laboratory SCRUM company"