Современный документооборот перешел в цифровую плоскость, однако поиск нужных счетов, чеков, записей или инструкций среди множества папок на разных устройствах остается трудоемкой задачей. Для решения этой проблемы был создан локальный ИИ-инструмент, позволяющий искать информацию по содержимому файлов без использования облачных сервисов. В качестве основного сервера был использован мини-ПК, что обеспечило приватность данных и независимость от сторонних облачных хранилищ.

Аппаратная база для работы локального ИИ
Основой системы стал компактный компьютер, работающий под управлением Windows 11. Устройство оснащено процессором AMD Ryzen 5 7640HS, 32 ГБ оперативной памяти и интегрированной графикой Radeon 760M. По словам автора, хотя этот мини-ПК не является специализированной рабочей станцией для задач искусственного интеллекта, его вычислительной мощности достаточно для запуска Ollama и локальной языковой модели в связке с вспомогательными компонентами системы.
Для обработки запросов была выбрана модель Gemma 3 12B. На текущем этапе производительности хватает для функционирования системы, однако выполнение одного поискового запроса занимает почти минуту. В планах разработчика — тестирование менее ресурсоемких моделей или возможное подключение внешней видеокарты для ускорения процесса.
Организация синхронизации файлов с помощью Syncthing
Для автоматизации процесса была внедрена утилита Syncthing. Она позволяет синхронизировать папку AI-Search в директории «Документы» на всех домашних устройствах пользователя и его супруги. Такая схема избавляет от необходимости вручную загружать файлы на сервер: как только документ сохраняется в локальную папку, Syncthing мгновенно копирует его на мини-ПК.
Этот подход обеспечивает несколько преимуществ: отсутствие абонентской платы или ограничений по объему хранилища, а также сохранение файлов исключительно на домашних устройствах. Использование Syncthing позволяет сделать систему удобной для повседневного использования, превращая её в сервис, работающий в фоновом режиме.

Интеграция ИИ через Open WebUI и автоматизация процессов
Интерфейс для взаимодействия с моделью реализован через Open WebUI. В этой среде была создана закрытая база знаний под названием AI-Search. Процесс автоматического добавления файлов в базу потребовал настройки специального скрипта на PowerShell. Он отслеживает изменения в папке AI-Search, взаимодействует с API системы Open WebUI и добавляет новые документы в индекс базы данных. Благодаря этому Gemma 3 12B может анализировать содержимое файлов при поступлении естественных текстовых запросов, например: «покажи файл, в котором говорится о моих питомцах».
Доступность и перспективы развития системы
Система функционирует в рамках домашней сети, поэтому доступ к поиску возможен с любого устройства — ПК, планшета или смартфона. Членам семьи не требуется находиться за самим мини-ПК для обращения к документам. Несмотря на то, что текущая скорость поиска уступает индексации Google или стандартным средствам Windows, возможность находить данные по смысловому описанию, а не по названию файла, значительно упрощает работу с архивом документов.

В дальнейшем планируется оптимизация скорости поиска за счет использования более легких языковых моделей, чтобы сократить время ожидания без потери качества ответов. Проект доказал свою жизнеспособность как частный инструмент, который делает управление личными документами менее рутинным процессом.
Выбор инструментов и нюансы настройки
Для реализации проекта автор использовал комплексное сочетание открытого ПО, где каждый компонент отвечает за отдельный этап обработки данных:

- Ollama — основной движок для локального запуска ИИ-модели.
- Gemma 3 12B — непосредственно языковая модель, обученная поиску и анализу документов.
- Open WebUI — предоставляет веб-интерфейс для взаимодействия с моделью и организации приватной базы знаний.
- OIKB — специализированный инструмент, который отслеживает папку AI-Search и обеспечивает синхронизацию данных с базой знаний.
- Syncthing — приложение для фоновой синхронизации файлов между домашними компьютерами и сервером.
Особенности работы с Syncthing
Хотя Syncthing является ключевым звеном автоматизации, его первичная настройка может вызвать сложности. Автор отмечает, что поначалу система показалась ему «крепким орешком»: необходимо правильно связать устройства, настроить права на разделяемые папки, подтвердить доступ на целевом компьютере и убедиться, что обе стороны корректно указывают пути к нужным каталогам. Тем не менее, после завершения этих шагов программа работает практически незаметно.
Для работы с мобильными устройствами автор задействовал Möbius Sync, что позволяет интегрировать iPhone в общую экосистему, хотя опыт использования приложения на iOS отличается от работы с десктопной версией Windows. Главное достоинство такого решения — отсутствие привязки к сторонним облачным хранилищам, что полностью соответствует концепции создания суверенной домашней системы, где данные не покидают пределов локальной сети.
Автоматизация базы знаний: PowerShell и API
Интеграция файлов в базу знаний Open WebUI оказалась наиболее трудоемким этапом. Базовая функциональность не предусматривала автоматического «подхвата» документов, поэтому автору пришлось погрузиться в изучение API-запросов. Процесс потребовал поиска API-ключей, идентификаторов базы знаний (Knowledge Base ID) и написания скрипта на PowerShell.

Разработанный скрипт выступает в роли фонового «наблюдателя» за папкой AI-Search. Как только Syncthing перемещает туда новый файл, скрипт мгновенно фиксирует изменение, отправляет документ в Open WebUI через API и привязывает его к нужной базе знаний. На заключительном этапе Open WebUI самостоятельно извлекает текст из документа и индексирует его, делая доступным для поисковых запросов Gemma 3 12B.
Производительность и выводы
На данном этапе время отклика системы составляет чуть менее одной минуты. Автор признает, что этот показатель проигрывает привычным методам поиска, однако подчеркивает: суммарно на ручное перебирание папок в попытках вспомнить название файла уходит значительно больше времени. Текущая задержка не является критической, но в ближайшем будущем планируется эксперимент с менее тяжелыми моделями, чтобы повысить скорость отклика, не жертвуя при этом точностью результатов. Использование мини-ПК как центрального домашнего узла, доступного с любого устройства в сети, превращает сложный технический проект в удобный повседневный сервис, который оправдывает потраченные на разработку усилия.

В ходе настройки проекта автор столкнулся с необходимостью глубокой интеграции компонентов, чтобы сделать систему бесшовной. Для работы с мобильными устройствами он задействовал Möbius Sync, что позволяет интегрировать iPhone в общую экосистему. Хотя опыт использования приложения на iOS заметно отличается от работы с десктопной версией Windows, это расширяет возможности доступа к локальному архиву.
Важным аспектом является то, что все используемые инструменты, включая Ollama, Open WebUI и Syncthing, распространяются бесплатно. Это избавляет от необходимости оплачивать подписки за каждое устройство или сталкиваться с жесткими лимитами на объем хранимых данных, что было бы неизбежно при выборе облачных альтернатив.

Процесс автоматизации через PowerShell стал «погружением в кроличью нору»: автору пришлось не только следить за мониторингом папки, но и детально разбираться в структуре вызовов API Open WebUI. Именно правильная привязка к Knowledge Base ID и автоматическая передача данных после срабатывания триггера синхронизации позволили превратить статичное хранилище в полноценную интеллектуальную поисковую систему. Индексация, которую выполняет Open WebUI после получения файла через скрипт, является критическим этапом: без нее Gemma 3 12B не могла бы «видеть» содержимое новых документов.
Что касается производительности, автор отмечает, что текущее время поиска (чуть менее минуты) является компромиссом. Несмотря на то, что это медленнее привычной работы с Google, для личных целей это приемлемо, так как позволяет избежать хаотичного поиска по неструктурированным папкам, на который раньше уходило гораздо больше времени. В будущем планируется дальнейшая оптимизация модели, однако текущий стек уже выполняет главную задачу — позволяет находить информацию по контексту, а не по точному имени файла.






