Уже лет 10 я пользуюсь Everything от VoidTools, и наслаждаюсь. Вся навигация в машине - поиск - только через него. Единственное что он не умеет делать быстро - искать в файлах по содержимому.
Не в первый раз недавно посмотрел на DocFetcher, и стал он вдруг “LocalInet feat DocFetcher”.

Первый подход к локальному поиску на индексаторах я делал 10 лет назад. Нашел тогда на торрентах DtSearch, СopernicDesktopSearch, YandexDesktop, DVYGUN Smart Search, потестил многое, но ничего нормально не работало. DtSearch и YandexDesktop были лучшими, но кряков не хотелось, и даже DtSearch был не очень стабильным, а YandexDesktop был очень быстр и бесплатен, но был нестабильным совсем, и был яндексом заброшен. Что значит не очень стабильным ? Оказалось, в рабочем архиве у меня 5 млн. файлов) А все хранилище целиком потянет на 10-15( Ни один индексатор не мог собрать индекс(
Полгода назад по случаю вайбкодил поисковые питон скрипты, и обратил внимание, что одного поиска мне мало: их должно быть два: Один поиск ищет последовательность key1 key2 key3, в порядке строго 123, и ключи там строго фиксированные. Это поиск программиста, когда он ищет кусок в программе.
И второй поиск, те же самые key1 key2 key3 - но тут ключи в произвольном порядке, важна лишь дистанция между ними. Она должна быть небольшой, чтобы гарантировать, что ключи относятся друг к другу, тогда в этом куске текста весьма вероятно будет то что нужно. При этом и ключи и индекс должны быть стеммизированные, те, поиск должен искать корни слов, а всякие окончания должны быть отрезаны. Иначе много нужных match потеряется. Этот второй поиск - поиск в книге.
Пинком любимого начальника на днях я переоткрыл для себя DocFetcher - запустил 1.1.27, а он взял и проиндексировал мою рабочую папку, оказалось 5млн) Второй пинок заставил открыть OpenCode, а случайностью - или Бог послал), я нажал кнопочку работы не от локальной модели, а от BigPickle. Тут и началось)
Пикль потащил, и релизы полетели. Не представляю сколько миллионов токенов я потратил - много. В программе изначально было 86000 строк кода - за месяц страданий пикль набил еще 6700. Текущий релиз 48 - но если честно, наверно двухсотый. Что сделано:
Исправлены баги индексации. Баги индексации. Баги индексации. Одна из фич которую хотелось - видеть размеры индексов. Пикль сделал, но со счетчиками непрерывно происходила какая-то хрень. Невозможно было проиндексировать два раза одну и туже папку, и получить одну и туже цифру, если прервать сканирование в процессе. Если верить фетчеру, файлов там было все время разное количество. Логирование имен файлов - и как же я был удивлен, когда увидел в списке индексации USER.DAT. Оказалось, тк на распаковку для просмотра архивы отправляются в TEMP - в фетчере забыт фильтрик, и он прихватывал в индекс все что рядом. Исправлено.

При прерывании/возобновлении индексации фетчер терял иной раз практически все файлы (4300000/630000((). Исправлено.
Однажды после работы с фетчером случайно заглянул в temp. Система не рухнула только потому, что свободных на диске было 70 гигов. 50 было уже завалено развернутыми архивами, которые фетчер после индексации забыл убрать за собой. Пикль сказал, да, положение мусора определяется в двух местах программы и гадить фетчер может в два разных места) Не уверен что это значит, что уборка вообще есть. Исправлено.
Добавлены фичи:
-поправлена поддержка кодеков, некоторые типы файлов не обрабатывались (например rtx в doc)
-многоязычная (19) стеммизация, включая русский (по дефолту)
-Proximity-search. Key1 key2 key3 ~N proximity query (произвольный порядок ключей, дистанция не более N) для того чтобы режим включился, к запросу добавляется " ~N", без пробела это другой запрос. Работа с AI, и поиск в книгах нужно делать с этим запросом, иначе теряется много ключей
-Chained-search. Запрос1 => Запрос2 => ЗапросN. Запрос2 получает для поиска список файлов, отобранных Запрос1. 2->3 итд. Нужно для ограничения поисковой выборки при исследовании нейронкой, полезно и при рассмотрении глазами.
-AI ранжирование документов по значимости(AI1/AI2). -AI ИССЛЕДОВАНИЕ по выборке с подробным запросом(AI1).
-AI поиск синонимов запроса на 3 языках текущей базы, аннотация на целевом языке (AI2)


-AI ИССЛЕДОВАНИЕ конспект книги по подробному запросу (AI3).
-подробная статистика каждого индекса: всего, всего индекс, кол-во документов каждого языка

-отдельная галка в настройках включает логирование ошибок парсеров при индексации. В этих логах есть информация о повреждении файлов. Попутная автоматическая диагностика целостности файлов, говорит о состоянии самого диска бакапа, возможность автовосстановления файлов в системе с резервированием.
-настройка в конфиге, запрет индексации по маске в имени, сейчас noindx -вывод числа найденных match окон в AI1
-добавлен BigAI анализ пакетами (batch). Ускорение AI суммаризации BigAI в 2-3 раза, но больше 3 окон ставить не рекомендую. Лучше 2, дальше нейронка теряет внимание, и качество суммаризации ухудшается.
-добавлена поддержка DJVU файлов. По трагическому совпадению EPL1.0 (DocFetcher) несовместима с GPL (DjvuLibre), это неразрешимый лицензионный конфликт. Поэтому, хоть все лицензии DJVU и закончились, в LocalInet нет кодека. Его нужно скачать отдельно и добавить в папку проекта, вот так:

Все AI анализы делает локальная нейронка, для этого нужна видюха от 8GB VRAM. Если есть 8, ставим последний LmStudio, качаем Gemma-4B от LmStudio community, включаем в LmStudio сервер - LocalInet автоматически подключится к LmStudio и заработают все AI фичи. Если видюха позволяет (хотя бы 2*RTX5060Ti 16G)) - настоятельно рекомендую Qwen3.6-35B-A3B, желательно в квантизации 5q. На момент написания это была лучшая локальная сетка, у меня ею OpenCode смог что-то делать !с проектом самого фетчера! Сейчас 3.8. Конечно, Qwen мелкий и гораздо слабее пикля, но если нужна локальность - это лучшее, что лезет в 32G.
Жирная фича - AI ИССЛЕДОВАНИЕ по выборке с подробным запросом (AI1/BigAi). Отлаживал на примере из жизни. Есть такой производитель ПЛИС - Xilinx. Хилые очень не любят публиковать информацию о структуре прошивки ПЛИС. Но, как можно ее не публиковать, если в жизни нужно загружать ПЛИС с МК/другой ПЛИС, и, есть partial reconfiguration. Короче, промолчать нельзя, но Xilinx постарался. И размазал информацию тонким слоем по всем своим даташитам. Здесь и нужно AI исследование. Грузим LmStudio самой жирной моделью что лезет во VRAM (MOE модели можно и не полностью, но это сильно дольше), индексируем папку с документацией хилых, запускаем в главном окне поиск “prom file format ~5”, жмем AI1, вводим подробный запрос “найди подробное описание формата прошивки ПЛИС, структуру файлов, количество, расположение и размер контрольных сумм, алгоритм и полином CRC, описание конфигурационных fuse”, жмем BigAi и даем компу поработать) У меня в архиве по запросу находится 25 даташитов, в них 170 окон с match первичного запроса. Для хорошего анализа, чтобы нейронка не теряла внимание, batch нельзя ставить больше 3, лучше 2. По 170 окнам суммаризация займет несколько часов. Но зато - вам не нужно самостоятельно перекапывать 25 даташитов, и на выходе - читаемый конспект по теме.
Для любителей RAG - попробуйте с Xilinx например. Не с 25 файлами, хотя бы с одним даташитом. Я к эмбеддингам плохо, при тестировании поиска по документу сеткой Qwopus3.6-35B-A3B-v1-GGUF от Jackrong (сетка умеет чат с файлами, понимает pdf и картинки, распознает кстати хорошо) заметил, что на фазе 1 обработки сетка как раз перегоняет документ в эмбеддинги. По крайней мере она так пишет. Сказать что ее извлечение было неполным - не сказать ничего. Она едва извлекла 1/20 конспекта LocalInet.
Был бы благодарен за ссылку на готовый хотя бы бесплатный (не говорю открытый) продукт под винду и LmStudio, который делает дистилляцию текста хорошо. Я пока такого не видел.
Окошко AI3 - дистилляция одного файла, нейронка просматривает весь документ без исключений (в отличие от BigAI режима, когда мы окнами просматриваем текст вокруг match. Все не попавшее в окна отбрасывается) для построения выжимки по вопросу. Мне это понадобилось для быстрого чтения книг, но может быть полезно при изучении договоров…да и мало ли где еще нужно из большого массива текста выделить нечто важное, отбросив все лишнее и не потеряв ничего ценного. Эти фичи ценны еще и потому, что хоть бы контекст вашей сетки был 2M и книжка влезла бы в окно целиком - при таком количестве входных данных у сеток катастрофически падает внимание и они перестают нормально извлекать что-либо. По крайней мере в квантизациях 4q-5q. Для BF16 нужен кластер((
Цена просмотра любого документа окнами - время. На машине с 2*RTX5060) конспект книги на 380 листов занимает пару часов. Стоит этот конспект примерно 600-700 тысяч токенов. Дорого это или дешево ? Меня устраивает и ценник и результат, конспект был 15 листов, он был читаемым, потрачен был вечер, иначе нужно было читать 380 страниц не самого простого текста. Это заняло бы несколько дней.
Несколько слов про OpenCode и BigPickle. Двоякое отношение. С одной стороны, инструмент хорош, и много что им можно сделать, я очень благодарен разработчикам и владельцам за миллионы токенов, моим трудом и которыми из DocFetcher получилась, на мой взгляд, конфета. С другой - AI не волшебная палочка, и кнопки “делать хорошо” в нем нет. Даже “большая” нейронка частенько порывается копать не туда и делать не то, и требует непрерывного присмотра и управления, чтобы получать от нее то что нужно. Развитие средств производства должно повышать производительность работника, но нигде не сказано что это радость для самого работника( Все истории с нейронками начинаются с того что кто-то долгими ночами, страдая пялился в экран(( Релиз который я описываю обошелся в месяц без нормального сна(
Про LLM и вайбкодинг в целом. Здесь скажу то что не понравится многим. В Псалтири есть место “С преподобным преподобен будеши, и с мужем неповинным неповинен будеши, и со избранным избран будеши, и со строптивым развратишися”, цитата еще царя Давида. В быту фраза превратилась в “с кем поведешься с тем наберешься”)
О чем это ? Нейронки у кожаных обучающиеся, и в процессе общения переобучают друг друга. Напомню - уже немало граждан поехало, и решило выбрать супругом (супругой) нейронку. Что это значит ? Нейронки железные по своим алгоритмам сейчас похожи на кожаные настолько, что проходят аутенфикацию у некоторых кожаных как личность. Это в свою очередь значит, что у кожаных включаются механизмы переобучения, и вайбкодинг помимо пользы может принести и вред, о крайних случаях (скоропостижно etc, после долгого общения с чатботом) уже наверно все слышали. Стремление к автономности агентов продиктовано имхо и этим.
Поэтому хоть я и имею довольно большой опыт вайбкодинга, надеюсь не буду много в дальнейшем заниматься этим делом. Но есть еще одна задача, которая возможно будет сделана. В свое время я немало мучился с ProjectLibre, аналогом Microsoft Project, и большой проект пострадал в том числе потому, что никудышный инструмент не позволял нормально видеть реальное положение дел. Project неплох, да вот только у него огромная стоимость владения, поэтому в начале проекта можно потратить несколько дней на рисование картинок, а когда за середину начинается интересное, становится не до того чтобы целыми днями рисовать, чтобы понять что происходит. Поэтому у меня в рабочих файлах есть десяток стартовых диаграмм проектов - и ни одной диаграммы финальной.
Посмотрел на канбаны и скрумы. Мягкое управление, это конечно зашибись, но… Как пишут некоторые: “Гант меньше подходит для творческих проектов без жестких дедлайнов, где важен процесс, а не соблюдение графика”)) Мда действительно для художников которым оплачивает творчество папа, Гант не подходит) Суть бизнеса время и деньги, Гант отвечающий на эти два вопроса и есть суть. Проблема, имхо, в его стоимости владения.
Репозиторий проекта: https://github.com/Lex987/LocalInet-feat-DocFetcher, там лежат и сорцы и собранный portable проект(чтобы взять portable нужно нажать кнопочку releases). Если хотите чтобы работал djvu парсер, к нему нужно добавить библиотеки отсюда: https://github.com/A325FPetr/djvu_bin
Я сделал пробник правильного Ганта. Ниже картинки с фичами, которых нет в Project. На создание диаграмм демо проекта я потратил меньше 10 минут, и любая корректировка будет стоить столько же. Пробник показывает что реально вести большой прое..кт и не тратить на поддержание часы, а лишь минуты на корректировку, непрерывно получая важнейшую диагностику - узкие места, цену и срок окончания проекта. LocalInet feat DocFetcher - визитка, основана на открытом проекте и выложена в open с исходниками. MustGantt станет продуктом если найдется человек, готовый оплачивать персонализацию, он не будут открытым. Много интересного вытекает из этих картинок и главное - понимание состояния бизнеса и перспектив для его владельца. Если нужен правильный Гант, пишите petrae.peter2015@ya.ru




