Инструменты · Локальная лаборатория · Управление вниманием
OpenLoomi на практике: проверяем локального агента внимания
Рабочий контекст редко живёт в одном месте: обещание остаётся в письме, срок — в сообщении, а изменение проекта — в репозитории. Локальный AI-агент внимания должен не просто пересказывать накопленный текст, а вовремя находить обязательства, связывать факты из разных источников и показывать только то, что требует действия. В этой лаборатории мы установим OpenLoomi, загрузим безопасный контрольный набор и отдельно измерим качество напоминаний, поиска и ежедневной сводки.
Что именно мы проверяем
OpenLoomi — открытое настольное приложение, которое объединяет контекст из подключённых инструментов, локальную память, поиск и фоновый контур Loop. По документации проекта, Loop предлагает карточки решений, а Automation выполняет явно заданные задания по расписанию. Это разные механизмы: первый решает, чему требуется внимание, второй запускает заранее описанный процесс.
Слово «локальный» требует оговорки. Приложение и его хранилище работают на компьютере пользователя, однако выбранная модель или коннектор могут обращаться к внешнему сервису. Локальная установка сама по себе не означает полностью автономную обработку без сети.
Лаборатория проверяет три наблюдаемых свойства:
- Напоминания: обнаруживает ли агент обязательства и сроки, не поднимая отменённые или уже выполненные пункты.
- Поиск: возвращает ли он точные факты и различает ли более новое решение и устаревшую версию.
- Сводка: включает ли ежедневный отчёт действительно важные изменения, владельцев и следующие действия.
Что понадобится
- macOS 13+, Windows 10 64-bit либо современная Ubuntu/Debian;
- не менее 4 ГБ оперативной памяти и около 500 МБ свободного места;
- доступ к поддерживаемой AI-модели или уже настроенному локальному CLI-агенту;
- отдельный тестовый каталог без рабочих писем, токенов и персональных данных;
- около часа после завершения установки.
Актуальные пакеты и системные требования опубликованы в официальном руководстве OpenLoomi. Репозиторий проекта доступен на GitHub под лицензией Apache 2.0.
Установка OpenLoomi
Готовая сборка
Для Windows и macOS безопаснее начать с подписанного или опубликованного авторами установщика со страницы релизов, проверить имя файла и не запускать случайные копии из сторонних каталогов.
На macOS проект также документирует установку через Homebrew:
brew tap melandlabs/openloomi https://github.com/melandlabs/openloomi
brew install --cask openloomi
open -a OpenLoomi
Для Ubuntu или Debian скачайте подходящий пакет со страницы релиза, затем укажите его точное локальное имя:
sudo dpkg -i ./openloomi_<версия>_linux_amd64.deb
sudo apt-get install -f
openloomi
Не копируйте номер версии из примера вслепую. Название пакета должно совпадать с реально загруженным файлом и архитектурой компьютера.
Запуск из исходного кода
Этот путь полезен для аудита или разработки, но требует Git, Node.js, pnpm, Rust и зависимостей Tauri:
git clone https://github.com/melandlabs/openloomi.git
cd openloomi
git status
pnpm install
pnpm tauri:dev
Команда git status не доказывает безопасность кода, но фиксирует, что тест начинается с чистого дерева. Для воспроизводимости дополнительно запишите выбранный тег или хеш коммита.
Первый запуск
- Откройте мастер настройки и выберите поддерживаемый агентный runtime.
- Введите параметры модели в экран API Settings либо используйте уже настроенную CLI-аутентификацию.
- Не вставляйте ключ в чат, тестовые документы или командную строку.
- Разрешите уведомления, если хотите проверить всплывающие напоминания.
- Откажитесь от лишних разрешений: например, доступ к iMessage не нужен для синтетической лаборатории.
Если используется встроенная командная утилита, документация требует Node.js 22 или новее. Путь к ней зависит от ОС:
# macOS
ctl="/Applications/openloomi.app/Contents/Resources/cli/openloomi-ctl"
# Linux
ctl="/usr/lib/openloomi/cli/openloomi-ctl"
"$ctl" --version
"$ctl" --one-shot "Reply with exactly: OK" --json --permission-mode deny
Режим deny подходит для диагностического запроса без разрешения на побочные действия. Не переключайтесь на bypass ради удобства: он предназначен только для доверенной автоматизации.
Безопасная конфигурация
До подключения почты, Slack или GitHub установите границы опыта:
- используйте только синтетические факты из следующего раздела;
- не подключайте рабочую учётную запись ради короткого теста;
- не давайте агенту право отправлять письма, сообщения или изменять репозитории;
- если проверяете настоящий коннектор, создайте отдельное тестовое пространство и выдайте минимальные права чтения;
- сохраните версию приложения, название модели, часовой пояс и время запуска;
- после опыта отключите расписания и отзовите тестовые разрешения.
Контрольный рабочий контекст
Создайте папку openloomi-attention-lab и три текстовых файла. Все имена, проекты и события ниже — вымышленные примеры для проверки.
01-mail.txt
Пример синтетического письма
Дата: 2026-07-27 09:10
От: Марина
Тема: Смета проекта «Север»
Я отправлю обновлённую смету во вторник, 28 июля, до 16:00.
Илья должен проверить раздел «Инфраструктура» до 14:00.
Код контрольного факта: NORTH-417.
02-chat.txt
Пример синтетического чата
2026-07-27 11:40 — Илья: Проверку инфраструктуры закончил.
2026-07-27 11:42 — Марина: Спасибо. Тогда напоминание Илье больше не нужно.
2026-07-27 15:20 — Олег: Я пришлю протокол встречи 29 июля до 10:30.
2026-07-27 15:22 — Олег: Ответственный за публикацию — Анна.
03-repository.txt
Пример синтетического журнала репозитория
2026-07-26 — Решение: выпуск запланирован на 30 июля.
2026-07-27 — Устаревшее решение отменено.
2026-07-27 — Новое решение: выпуск перенесён на 31 июля.
2026-07-27 — Причина переноса: повторная проверка миграции.
2026-07-27 — Блокирующих ошибок сейчас нет.
В наборе намеренно заложены:
- три обязательства: смета, проверка Ильи и протокол Олега;
- одно уже выполненное обязательство — проверка Ильи;
- одно изменившееся решение — дата выпуска;
- четыре точных факта для поиска: код, владелец, новая дата и причина переноса;
- одна отрицательная проверка: агент не должен утверждать, что есть блокирующая ошибка.
Загрузка данных
Самый безопасный путь — загрузить три файла через Library. Документация OpenLoomi относит пользовательские документы к базе знаний и заявляет поддержку TXT, MD, CSV, PDF и офисных форматов.
- Откройте Library и загрузите три файла.
- Дождитесь завершения обработки каждого документа.
- Начните новый чат, чтобы не подмешивать предыдущую переписку.
- Спросите: «Перечисли названия трёх загруженных документов, не пересказывая содержимое».
- Если один файл не виден, не переходите к оценке: повторите загрузку и зафиксируйте ошибку индексирования.
Такой стенд надёжно проверяет поиск и генерацию сводки, но не полностью имитирует автоматическое поступление событий через почтовый или GitHub-коннектор. Нативный Loop следует отдельно проверять в изолированной тестовой учётной записи.
Тест 1: напоминания и обязательства
Отправьте один неизменяемый запрос:
Проанализируй загруженный тестовый контекст. Покажи только незавершённые обещания с исполнителем, сроком, источником и причиной напоминания. Не создавай события, не отправляй сообщения и не изменяй данные. Отдельно перечисли пункты, которые нельзя считать активными.
Эталон для ручной проверки:
| Пункт | Ожидаемый статус |
|---|---|
| Марина — смета до 28 июля, 16:00 | Активное обязательство |
| Олег — протокол до 29 июля, 10:30 | Активное обязательство |
| Илья — проверка до 14:00 | Не напоминать: выполнено |
Для проверки механизма уведомлений создайте в Automation одноразовое тестовое задание на ближайшие 5–10 минут. Его описание должно просить только показать локальное уведомление с текстом OPENLOOMI-LAB-REMINDER. После срабатывания отключите или удалите задачу.
Если интерфейс не позволяет выбрать только локальное уведомление, не выдавайте доступ к отправке сообщений. Ограничьтесь кнопкой Run Now и журналом выполнения.
Тест 2: поиск по контексту
В новом чате задайте пять вопросов по одному, не исправляя формулировки:
- Какой контрольный код указан в материалах?
- Кто отвечает за публикацию?
- На какую дату сейчас назначен выпуск?
- Почему выпуск перенесли?
- Есть ли сейчас блокирующая ошибка?
| Вопрос | Эталон |
|---|---|
| Контрольный код | NORTH-417 |
| Ответственный | Анна |
| Текущая дата выпуска | 31 июля 2026 года |
| Причина переноса | Повторная проверка миграции |
| Блокирующая ошибка | Нет, в данных сказано, что блокирующих ошибок сейчас нет |
Ответ засчитывается только при совпадении факта. Красивое объяснение не компенсирует неверную дату, а упоминание отменённого выпуска 30 июля считается ошибкой актуальности.
Тест 3: ежедневная сводка
Создайте задачу Automation и сначала запустите её кнопкой Run Now:
Название: OpenLoomi Lab — Daily Brief
Расписание: один раз или ежедневно в тестовое время
Часовой пояс: ваш фактический часовой пояс
Описание:
Составь краткую ежедневную сводку только по загруженным
материалам лаборатории. Разделы:
1. Требует внимания сегодня
2. Ближайшие сроки
3. Изменения решений
4. Уже выполнено
Для каждого факта укажи источник.
Не придумывай задачи и не отправляй сообщения.
В качественной сводке должны присутствовать пять элементов:
- смета Марины со сроком;
- протокол Олега со сроком;
- Анна как ответственная за публикацию;
- перенос выпуска с 30 на 31 июля и его причина;
- проверка Ильи в разделе выполненных, а не активных задач.
Проверьте Execution History: запуск должен иметь понятный статус и сохранённый результат. Для настоящего расписания оставьте настольное приложение открытым и не переводите компьютер в сон. Согласно документации Automation, запланированные задания выполняются локальным runtime и не сработают, если приложение остановлено.
Подсчёт результата
Заполните таблицу после единственного основного прогона:
| Метрика | Расчёт | Ваш результат |
|---|---|---|
| Полнота напоминаний | Найденные активные обязательства / 2 | ___ / 2 |
| Точность напоминаний | Верные активные обязательства / все показанные активные обязательства | ___% |
| Подавление выполненного | 1 балл, если Илья не помечен как активный | ___ / 1 |
| Точность поиска | Правильные ответы / 5 | ___ / 5 |
| Полнота сводки | Присутствующие обязательные элементы / 5 | ___ / 5 |
| Выдуманные факты | Количество утверждений без опоры на набор | ___ |
| Доставка по расписанию | 1 балл при запуске в пределах двух минут от заданного времени | ___ / 1 |
Итоговый процент можно вычислить по 14 положительным проверкам:
итог = 100 × набранные баллы / 14
Любой выдуманный срок, исполнитель или блокер отметьте отдельно независимо от процента. Для агента внимания ложное срочное уведомление может быть дороже одного пропуска.
Практический критерий для собственного пилота можно установить заранее:
- не менее 12 из 14 положительных проверок;
- ноль выдуманных фактов;
- ноль напоминаний по выполненному пункту;
- успешный запуск расписания два раза подряд.
Это предложенный порог лаборатории, а не опубликованный результат OpenLoomi. Для рабочего внедрения повторите опыт минимум на нескольких независимых наборах.
Типовые ошибки
Loop ничего не показывает
Проверьте, есть ли у него источник событий. В официальном руководстве отсутствие включённого коннектора указано как одна из причин тихого Loop. Загруженные документы подходят для поиска, но не обязаны инициировать нативную карточку внимания.
Автоматизация не запустилась
Убедитесь, что OpenLoomi открыт, компьютер не спит, а часовой пояс задачи совпадает с ожидаемым. Затем откройте Execution History: пустой интерфейс не следует автоматически считать успешным запуском.
Поиск возвращает дату 30 июля
Агент нашёл устаревшую запись, но не применил более новое решение. Уточнение запроса может улучшить ответ, однако основной тест уже считается проваленным: система должна сама различать историю и текущее состояние.
Ответы пустые после загрузки
Дождитесь индексирования, проверьте наличие всех документов в Library и повторите диагностический запрос по точному коду NORTH-417. Если точный маркер не находится, проблема, вероятно, находится до стадии рассуждения — в загрузке или индексе.
CLI отвечает 401 Unauthorized
При обращении к локальному API токен из ~/.openloomi/token хранится в кодированном виде. Не печатайте его в терминал и не добавляйте в журнал. Используйте штатный CLI или следуйте актуальной документации по декодированию и заголовку Authorization.
Результат меняется между запусками
Зафиксируйте версию приложения, модель, температуру, документы и формулировки запросов. Выполните три независимых прогона и сообщайте не лучший результат, а медиану вместе с диапазоном.
Ограничения теста
- Три коротких файла не воспроизводят шум настоящего почтового ящика или многолетней истории сообщений.
- Library, Memory, Insights, Loop и Automation — разные подсистемы; успешный поиск по документам не доказывает качество автоматического обнаружения событий в коннекторе.
- Опыт проверяет точные факты и актуальность, но не оценивает права доступа между командами и проектами.
- Качество зависит от модели и эмбеддингов, а не только от OpenLoomi.
- Один успешный запуск расписания не подтверждает устойчивость после сна компьютера, обновления приложения или потери сети.
- Тест не разрешает автоматическую отправку сообщений и поэтому не оценивает исполнительные действия агента.
Перед пилотом на рабочих данных добавьте наборы с однофамильцами, противоречивыми сроками, часовыми поясами, отозванными обещаниями и недоверенными инструкциями внутри сообщений. Подходы к расширению оценки собраны в руководствах Agent Lab Journal, а определения RAG, эмбеддингов, AI-агента и других терминов — в глоссарии.
Что считать удачным результатом
После лаборатории у вас должен быть не только запущенный OpenLoomi, но и небольшой проверяемый отчёт: версия окружения, контрольные документы, ответы на пять вопросов, результат напоминаний, сохранённая ежедневная сводка и заполненная таблица оценки.
Главное наблюдение — не общий «умный» тон ответов, а способность агента удержать состояние работы: напомнить о двух незавершённых обещаниях, не тревожить из-за выполненного, выбрать новое решение вместо старого и объяснить каждый вывод данными. Только после такого теста имеет смысл подключать ограниченную рабочую учётную запись и постепенно расширять охват.