Програма проходить папку зі сканами (фото сторінок метричних книг, актів тощо), відправляє їх у Google Gemini і зберігає знайдені прізвища, імена та роки в локальну базу на вашому комп’ютері. Є готові файли під Windows, Linux і macOS.
- Папка зі сканами на диску (звичайні зображення: JPG, PNG тощо).
- Ключ Gemini API — як отримати безкоштовно (потрібний обліковий запис Google).
- Хвилина часу, щоб завантажити програму і створити маленький текстовий файл з ключем.
Зазвичай справи з архівів спочатку скачують через браузерне розширення «Справна Качка», розпаковують у папки на диску — і вже цю папку вказують у команді запуску (нижче). Одну й ту саму програму можна запускати багато разів для різних папок.
- Відкрийте сторінку Releases (останній випуск).
- Завантажте один файл, який підходить вашій системі:
- у назві є linux — для більшості дистрибутивів Linux;
- windows — для Windows (файл із розширенням
.exe); - macos — для Mac.
- Створіть окрему папку (наприклад
Indexerна Робочому столі) і покладіть туди лише цей завантажений файл. Далі всі дії робимо з цієї папки.
Далі в командах використовуйте точну назву вашого файлу зі сторінки Release, наприклад:
- Linux:
./indexer-v0.2-linux-x86_64 - macOS:
./indexer-v0.2-macos - Windows:
.\indexer-v0.2-windows-x86_64.exeу PowerShell (у cmd можна без.\на початку)
На Linux і Mac один раз дайте право на запуск (у терміналі, уже в папці з програмою):
chmod +x ./indexer-v0.2-linux-x86_64(замініть ім’я файлу на своє.)
У тій самій папці, де лежить програма, має з’явитися текстовий файл .env із вашим ключем.
Якщо ви не клонували репозиторій, найпростіше завантажити готовий шаблон і потім відкрити його в Блокноті чи іншому редакторі:
Linux або Mac (Термінал):
cd /шлях/до/вашої/папки/Indexer
curl -fsSL -o .env https://raw.githubusercontent.com/solvek/Indexer/main/sample.envWindows (PowerShell) — відкрийте PowerShell, перейдіть у папку з .exe:
cd $HOME\Desktop\Indexer
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/solvek/Indexer/main/sample.env" -OutFile .envДалі відкрийте файл .env і в рядку GEMINI_API_KEY= після знака = вставте свій ключ (без лапок і пробілів). Решту рядків для першого разу можна не змінювати.
Якщо ви вже склонували цей репозиторій, достатньо: cp sample.env .env і так само вписати ключ.
Відкрийте термінал у папці з програмою:
- Windows: у Провіднику відкрийте папку → адресний рядок → введіть
powershellі Enter. - Mac: програма «Термінал» → команда
cdі перетягніть папку в вікно, Enter.
Команда завжди будує так: ім’я програми, потім назва бази, потім шлях до папки зі сканами.
- Назва бази — довільне коротке ім’я (латиниця без пробілів зручніше), наприклад
lutsk. Програма створить файл бази в підпапціdataпоруч із собою. - Шлях до папки — там, де лежать ваші зображення (можна з підпапками).
Приклад (Linux):
cd ~/Desktop/Indexer
./indexer-v0.2-linux-x86_64 lutsk /home/я/Документи/Метрика_1860Приклад (Mac) — те саме, але ім’я файлу з macos, наприклад ./indexer-v0.2-macos.
Приклад (Windows, PowerShell):
cd $HOME\Desktop\Indexer
.\indexer-v0.2-windows-x86_64.exe lutsk C:\Users\Я\Documents\Метрика_1860Якщо все добре, у терміналі з’являться повідомлення про обробку файлів; у папці з’явиться data/lutsk.db (або подібне ім’я).
Це буває у файлів без підпису Apple: Системні параметри → Конфіденційність і безпека — дозволити запуск, або правою кнопкою по файлу → Відкрити → підтвердити.
Нижче для Linux і Mac використано приклад імені ./indexer-v0.2-linux-x86_64 — підставте свою назву зі сторінки Release (на Mac це буде файл з macos у назві). Для Windows показано окремий рядок з .exe.
Обробити не більше 20 нових сканів (зручно для проби):
./indexer-v0.2-linux-x86_64 my_project /шлях/до/сканів --limit 20.\indexer-v0.2-windows-x86_64.exe my_project "C:\шлях\до\сканів" --limit 20Дати моделі розширений промпт (регіон, тип книги):
./indexer-v0.2-linux-x86_64 my_project /шлях/до/сканів --extended-prompt "Волинь, метричні книги"Лише один файл у підпапці:
./indexer-v0.2-linux-x86_64 my_project /шлях/до/сканів --files "Справа_12/scan_001.jpg"Після обробки додати дані в CSV (формат файлу):
./indexer-v0.2-linux-x86_64 my_project /шлях/до/сканів --csvКілька опцій разом:
./indexer-v0.2-linux-x86_64 my_project /шлях/до/сканів --limit 10 --csv --verboseДокладніші повідомлення в терміналі:
./indexer-v0.2-linux-x86_64 my_project /шлях/до/сканів --verboseНа Windows у всіх цих прикладах замініть початок рядка на .\indexer-v0.2-windows-x86_64.exe (свою версію з Release) і шлях до папки пишіть як C:\....
| Що вводите | За замовчуванням | Що робить |
|---|---|---|
Перший аргумент після програми (dbname) |
— | Ім’я або шлях до SQLite; коротке ім’я зазвичай потрапляє в папку data/ поруч із програмою |
Другий аргумент (source) |
— | Папка зі сканами на диску; можна також URL папки Google Drive — докладніше |
--files |
усі файли рекурсивно | Обмежити список: один файл, або Папка/, або Папка/** |
--limit |
без обмеження | Скільки сканів обробити за цей запуск |
--rewrite / --no-rewrite |
без перезапису | Чи переобробляти вже збережені у базі файли |
--extended-prompt |
— | Розширений промпт для моделі (регіон, тип документів або ім’я файлу з prompts/) |
--model |
з .env |
Інша модель Gemini, ніж у .env |
--temperature |
0.1 |
«Креативність» відповіді моделі від 0 до 1 |
--csv |
вимкнено | Експорт у CSV — опис |
--request-delay |
0 |
Пауза в секундах після кожного звернення до моделі (рідко потрібно при великій кількості сканів) |
--verbose |
вимкнено | Більше повідомлень у термінал |
Базовий і розширений промпти — опис у docs/prompts.md; короткі приклади CLI — usage.
Змінні Google Drive у файлі .env потрібні лише якщо другим аргументом ви вказуєте посилання на папку в Drive, а не локальний шлях.
SELECT s.folder, s.number, p.surname, p.name, json_extract(p.meta, '$.father') AS father, json_extract(p.meta, '$.yob') AS yob,
p.meta, s.file, s.meta
FROM persons p JOIN scans s ON s.id = p.scan_id
ORDER BY p.surnameSELECT surname, name, json_extract(meta, '$.father') AS father, json_extract(meta, '$.yob') AS yob
FROM persons
ORDER BY surname- Встановлення (Python, ключі, Drive)
- Приклади: Drive, фільтр файлів, нюанси
- Базовий і розширений промпти
- Експорт у CSV (
--csv) - Моніторинг і логи
- Довгий запуск (nohup, tmux)
- Структура бази даних
- Майбутні функції (дискусійно)
- Формати зображень
- Розгортання на Oracle Cloud
- Як зробити новий Release з бінарниками на GitHub — для тих, хто веде репозиторій