Skip to main content

Нишпорка

Читає рукопис. Приносить знайдене.

PyPI CI Python Ліцензія

Нишпорка — куниця з лупою й польовою сумкою

Нишпорка допомагає шукати предків в архівних документах — метричних книгах, сповідних розписах, ревізіях XVIII–XIX століть. Але працює вона не так, як звичайна програма.

Роботу робить ШІ-помічник, вирішуєте ви. Помічникові на кшталт Claude чи ChatGPT можна дозволити працювати на вашому комп'ютері: відкривати теки, запускати програми, записувати результат — і щоразу питати дозволу. Такого помічника називають агентом, і Нишпорка зроблена саме для нього. Ви пишете звичайними словами: «ось тека зі сканами метричних книг Чечельника — знайди всіх Ковальських». Помічник читає рукописні аркуші, шукає прізвище й приносить знайдені рядки просто на скані. Чи це ваш рід — вирішуєте ви.

Що Нишпорка дає помічникові. Сам по собі він архівів не знає й старого рукопису не прочитає. Нишпорка дає йому знання, де що лежить (довідники архівів, описи фондів, перелік сіл і парафій), уміння читати рукопис (три власні моделі, навчені на українських, молдовських і польських архівах), пам'ять про переглянуте й правила чесної роботи: «не знайшов» завжди з поясненням, скільки аркушів переглянуто.

Чому це інший підхід. Звичайна програма вміє рівно те, що в неї заклали: скільки кнопок — стільки й можливостей. Нишпорка дає помічникові окремі вміння — знайти справу, прочитати аркуш, знайти прізвище, записати знахідку, — а він складає з них потрібне саме під ваше питання: «зроби таблицю всіх шлюбів у цьому селі за 1820-ті», хоч окремої кнопки для цього ніхто не робив. І що розумнішими стають помічники, то більше вміє Нишпорка — навіть без оновлення.

Що потрібно: комп'ютер (Windows, macOS або Linux), сама Нишпорка — безкоштовно, і помічник, що вміє працювати на комп'ютері: Claude Desktop (підписка Claude Pro або Max), Claude Code чи Codex. Скани нікуди не йдуть — усе працює на вашій машині.

🎥 Подивитися наживо  ·  🤖 Поставити й підключити помічника  ·  ⬇ Завантажити для Windows  ·  як працювати

🎥 Як це працює, показано наживо — на стрімі «ШІ-агенти в генеалогії: дослідження майбутнього» («В гостях у Качки» №11). Перша частина — про те, навіщо генеалогові агент узагалі; сама Нишпорка в роботі — приблизно з 42-ї хвилини.

Що дістає агент

  • 122 операції з описом і схемою. nysh op <ім'я> --describe віддає аргументи й повний докстрінг, нічого не виконуючи; nysh op <ім'я> виконує. Через це MCP не обов'язковий — агентові з терміналом досить самої команди.
  • 18 MCP-tool'ів — nysh mcp install прописує сервер у .mcp.json проєкту. Перелік навмисно вужчий за реєстр операцій: у нього є стеля, за якою модель перестає читати описи й починає вгадувати.
  • 11 скілів — готових процедур під задачу (nysh skills install): як прочитати справу на слабкій машині, як шукати прізвище так, щоб нуль щось означав, куди копати далі, як прийняти куплену зйомку, як дотренувати модель на своєму почерку.
  • Правила, а не поради — AGENTS.md і для агентів: як читати нуль, чому «не наш рід» вирішує людина, і як агенти вже помилялися на цьому матеріалі, з цінами.
  • Три обличчя, одне ядро. Браузерна консоль, командний рядок і MCP — тонкі обгортки навколо одного реєстру операцій, тож вони не можуть розійтись у відповідях; це перевіряється тестом, а не домовленістю.

Ціна помилки тут інша, ніж у програмуванні, і середовище побудоване саме під неї: хибне «немає» закриває напрям пошуку назавжди, а хибне «є» йде в родовід і публікується як факт.

Що агент зробить вашими сканами

  • Знайде, де лежать документи вашого села — газетир ЦДІАК (4566 поселень, 348 408 справ), поаркушевий покажчик плівок, каталог ДАХмО, церкви ~1772.
  • Прочитає рукопис трьома рушіями: [П] Писар (кирилиця, головний голос), [Д] Дяк (кирилиця, другий голос — тримається пікселів там, де перший додумує), [С] Скриба (латинка: нотаріат і костельні книги).
  • Покаже, звідки взявся текст — вирізка рядка з рамкою, сторінка, два голоси поруч.
  • Шукатиме прізвище в прочитаному, у виписаних іменах і в учасниках записів.
  • Вестиме облік переглянутого оком, щоб наступна сесія не гортала ті самі аркуші вдруге.
  • Віддасть таблицею — розібрані акти в Ексель: фільтрувати роками, селом, станом і прізвищем.

Докладно, з межами кожного джерела — що вже працює.

Як це виглядає

Рішення лишається за оком, тож у Нишпорки є й власне обличчя в браузері: там людина дивиться те, що приніс агент. Без агента воно теж повне — просто всі кроки доводиться робити руками.

Видно, звідки взявся текст. Клацнувши рядок, ви бачите його вирізку з аркуша — у тому вигляді, у якому його бачив рушій.

Гортач: скан із рамками рядків, машинний текст і вирізка обраного рядка

Де взагалі метрики мого села. Газетир і покажчик плівок їдуть разом із пакетом і відповідають одразу після встановлення — без сканів, без відеокарти, без обходу чужих сайтів.

Газетир: пошук села по всіх фондах і конфесіях одразу

Видно, скільки перевірено. Пошук шукає нечітко, бо машина плутає літери всередині слова. А під знахідками написано, скільки справ і сторінок було переглянуто — щоб «нічого не знайшлось» не означало «просто ніде не шукали».

Пошук: нечіткі збіги з оцінкою, шифром справи й покриттям пошуку

Поставити

🤖 Ставить агент? Дайте йому одне посилання — AGENTS.md. Там і встановлення, і перші кроки, і межі, за якими вирішує людина.

👤 Ставите самі, без термінала? Покрокова інструкція — три програми в правильному порядку й один готовий запит — «Поставити й підключити помічника».

Windows. ⬇ Завантажити інсталятор — запустити, відповісти на два питання, натиснути «Встановити». Python, прав адміністратора й термінала не треба.

⚠ «Windows захистив ваш ПК» — «Докладніше» → «Виконати в будь-якому разі». Так Windows зустрічає кожну програму, яку ще мало хто завантажував.

Термінал, будь-яка система. На чистій машині, без Python і без прав адміністратора:

irm https://raw.githubusercontent.com/SERGIUSH-UA/nyshporka/main/install/windows.ps1 -OutFile "$env:TEMP\nysh-install.ps1"
powershell -ExecutionPolicy Bypass -File "$env:TEMP\nysh-install.ps1"
curl -LsSf https://raw.githubusercontent.com/SERGIUSH-UA/nyshporka/main/install/unix.sh | sh

🔴 Коли скрипт завершить роботу — закрийте вікно термінала й відкрийте нове: доти команда nysh у ньому не знайдеться. Якщо й у новому вікні не знаходиться — перезапустіть комп'ютер. (Тим, хто ставив інсталятором, це не потрібно: ярлики працюють одразу.)

Якщо Python або uv уже є:

uv tool install "nyshporka[app,archives,htr]"   # або: pip install …
nysh init                      # створити робочий простір
nysh doctor                    # перевірити те, що ламається тихо
nysh mcp install               # прописати сервер агентові
nysh skills install            # покласти скіли туди, де їх бачить агент

🔴 Щоб читати рукопис — ще два разові кроки. Самі рушії й навчені моделі в пакет не входять навмисно: інакше кожен, хто прийшов лише подивитись каталог справ, платив би за них гігабайтами.

nysh htr install    # середовище рушіїв: kraken і PARSeq
nysh models get     # ваги трьох моделей, ~130 МБ

Каталогам, газетиру й пошуку по описах вони не потрібні — ті працюють одразу.

На робочій машині розробника інсталятор нічого не переставляє; --dry-run показує, що буде зроблено, а NYSH_NO_MODIFY_PATH=1 не чіпає PATH зовсім. Важелі, набори частин, деінсталяція й те, де живе дослідження, — встановлення докладно.

Стан: alpha

Каталоги, завантаження, читання рукопису, гортач, сховище прочитаного, пошук, браузерне обличчя й установлення працюють. Скани ви приносите самі; розбір актів у поля робить ваш агент і вашим коштом — пакет дає нарізку, контракт, валідацію й чексуми повноти, але сам не читає; а моделі читають добре той почерк, на якому вчились, — на іншому матеріалі якість не міряна. Повний перелік того, чого ще немає, без замовчувань — межі.

Далі

поставити й підключити помічника, без термінала Поставити й підключити помічника
що просити й як перевіряти знайдене Як працювати
питання першого тижня і чого ще немає Часті питання
дотренувати модель на своєму почерку Дотренувати модель
прочитати справу на орендованій машині Орендована машина
перша сесія агента, приймачі кроків Для помічника й розробника
що змінилось у версіях Що нового

Приватність, ліцензія, участь

Телеметрії немає, облікових записів немає, дослідження нікуди не вивантажується, а в мережу застосунок ходить лише тоді, коли його про це попросили командою — PRIVACY.md.

Код — AGPL-3.0-or-later, ваги моделей — окремо, під CC BY-SA 4.0. Чому саме так, як підписується інсталятор і що звіряти при завантаженні — підписування й ліцензії.

Знайшли ваду або хочете допомогти — CONTRIBUTING.md і Issues.

Release files for nyshporka 0.18.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nyshporka 0.18.1
File Size Uploaded
nyshporka-0.18.1.tar.gz 13.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for nyshporka 0.18.1
File Interpreter ABI Platform
nyshporka-0.18.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 MB

Release files / nyshporka-0.18.1.tar.gz

Download URL nyshporka-0.18.1.tar.gz
Size 13.0 MB
Tags Source
SHA-256 checksum
How to use checksums
50f9082d7e95f0fe27d895b3f161bbd10793d7b27c9014f5f882e06eb06ecb27
BLAKE2b-256 checksum
How to use checksums
f3dab65180194cce8443ce1c3dbb21a425f17b39fdb36554e5177c006b5880af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / nyshporka-0.18.1-py3-none-any.whl

Download URL nyshporka-0.18.1-py3-none-any.whl
Size 10.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4ee6c0e87841b309d6e5c49905281b77adc806ed4831b8612e6093b3bdd44ede
BLAKE2b-256 checksum
How to use checksums
aed628a69b5ba3b84f89ccaa1fb8dcb2d8998c1e3dc79c499d71c7faa67b9b5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.18.1 This release

2 release files

0.18.0

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page