Gramps
Бесплатная многоязычная офлайн программа для систем Windows, Linux, BSD, Solaris, macOS
| Alexey_Chernyshov Новичок
Сообщений: 5 На сайте с 2026 г. Рейтинг: 5 | Привет! Хочу поделиться проектом, над которым работал последние дни - возможно, будет интересно тем, кто пользуется Gramps Web. У некоторых ИИ-агентов с поддержкой протокола MCP (например, Claude Desktop, Claude Code, ChatGPT, Cursor и другие) есть возможность подключаться напрямую к внешним программам и работать с их данными в диалоге. Я написал такое подключение для Gramps Web. Сам пробовал только с Claude, и как ведёт себя с другими агентами, не проверял. Но протокол общий, так что серьёзных проблем не ожидаю. После настройки с деревом можно работать через обычный диалог ИИ-агента: попросить найти всех потомков конкретного человека, построить временную шкалу его жизни, разобраться в родственных связях между двумя людьми, найти пробелы в данных - например, события без дат или источников. Можно поручить агенту искать упоминания людей из вашего дерева в открытых источниках, в том числе на незнакомом вам языке: агент сам переведёт и сопоставит найденное с тем, что уже есть в дереве. Доступ к дереву регулируется так же, как и для любого другого пользователя Gramps Web - можно выдать агенту права только на чтение, если не хочется, чтобы он что-то менял. Есть дополнительная настройка read-only, тогда ИИ-агент вообще не увидит возможности редактирования базы. Из требований: нужны базовые технические навыки, чтобы поднять Docker-контейнер и настроить подключение, и сам ИИ-агент с поддержкой MCP, он обычно с платной подпиской. Реализованы все методы Gramps Web API - поиск, получение, создание, изменение, удаление и объединение записей по всем типам объектов (люди, семьи, события, места, источники и так далее). Проект открытый, написан на Rust: https://github.com/Alexey-N-Chernyshov/gramps-mcp-rsЕсли кто-то пользуется Gramps Web и готов попробовать - я буду рад обратной связи. | | Лайк (3) |
| petr_fedorov Начинающий
Москва Сообщений: 47 На сайте с 2024 г. Рейтинг: 28 | vadbars написал: [q] Вопрос к тем, кто пользуется Gramps Web (https://www.grampsweb.org/). Интересный способ получать доступ к своей генеалогической базе данных через интернет. Но если оформлять отчества как вариант личного имени (как обсуждалось выше), то в Gramps Web Имя Отчество Фамилия выводятся как Имя Фамилия Отчество (типа Иван Сидоров Петрович). Кто-либо натыкался на это и как вы справляетесь с этим багом (фичей)?[/q]
Я не пользуюсь Gramps Web. Но в десктоп версии помогает поменять местами родовые имена. Т.е. первым родовым именем должно быть Отчество. Тогда порядок будет Иван Петрович Сидоров. | | |
| Alexey_Chernyshov Новичок
Сообщений: 5 На сайте с 2026 г. Рейтинг: 5 | vadbars написал: [q] Вопрос к тем, кто пользуется Gramps Web (https://www.grampsweb.org/). Интересный способ получать доступ к своей генеалогической базе данных через интернет. Но если оформлять отчества как вариант личного имени (как обсуждалось выше), то в Gramps Web Имя Отчество Фамилия выводятся как Имя Фамилия Отчество (типа Иван Сидоров Петрович). Кто-либо натыкался на это и как вы справляетесь с этим багом (фичей)?[/q]
Я наконец-то разобрался в этом вопросе. В gramps имя является составным из множества частей: префикса, личного имени, разных фамилий, соединительных частей и суффикса, например Иван Петрович Сидоров-Волков, мл.. Все это разные поля в десктопной программе. А русскоязычное отчество в терминологии gramps называется <patronomic_surname>, то есть фамилия с типом patronomic. И в десктопной версии gramps есть еще дополнительный параметр <name_display> - как эти части составлять в отображаемое имя. Этот параметр устанавливается для всей базы в настройках и может быть переопределен у персоны (Display as). Для русскоязычного имени он должен быть <name_given> <patronomic_surname> <name_surname> (Иван Петрович Сидоров). Но проблема в том, что на Gramps Web не передается эта настройка, то есть Gramps Web вообще не знает как представлять имена и для всех просто пишет <name_given> <name_surname> <suffix>. И доработка на самом деле больше, чем кажется на первый взгляд - передавать этот <name_display> и использовать на множестве страниц Gramps Web. Поэтому не стоит ожидать, что в Gramps Web скоро появится поддержка корректного отображения имен. И еще отсюда следует, что семантически правильно отчества указывать именно как дополнительную фамилию с типом Patronomic. Но сам я указываю отчество как суффикс, так как это проще заносить. Если поддержка в Gramps Web появится или возникнут какие-то сложности, то можно будет через множественное редактирование разом поменять. У этого подхода один незначительный минус - если кто-то имеет реальный суффикс (например, Джордж Буш младший, где младший - это как раз суффикс), то он будет семантически неотличим от отчества. Если же писать имя и отчество в поле имени, то могут быть проблемы с поиском по экспортированным GEDCOM файлам в сторонних сервисах. | | Лайк (2) |
vadbars Екатеринбург Сообщений: 119 На сайте с 2014 г. Рейтинг: 47 | --- Барсуков/Борсук, Запорожский: [Бондари/Ковали, Полтавская обл., Украина]
Косенко, Пахмурный: [Украина] - [Сенное/Богодуховка, Казахстан]
Шаламов: [Верный (Алматы), Казахстан]
Назмутдинов: [Б.Нуркеево, Башкирия/Татарстан] - [Аим, Узбекистан] - [Узген, Киргизия]
Сошлись в [Янгиюль, Узбекистан] | | Лайк (3) |
vadbars Екатеринбург Сообщений: 119 На сайте с 2014 г. Рейтинг: 47 | Ещё одно последствие размещения отчества в поле фамильное имя. При импорте gedcom файла из gramps в программу Древо жизни получаем пустое поле Отчество, а Фамилия заполняется как "Фамилия Отчество". В результатае получаем что-то типа "Иванов Петрович" "Степан". Кто встречался с таким, это можно как-то поправить в настройках? Или надо редактировать Gedcom? --- Барсуков/Борсук, Запорожский: [Бондари/Ковали, Полтавская обл., Украина]
Косенко, Пахмурный: [Украина] - [Сенное/Богодуховка, Казахстан]
Шаламов: [Верный (Алматы), Казахстан]
Назмутдинов: [Б.Нуркеево, Башкирия/Татарстан] - [Аим, Узбекистан] - [Узген, Киргизия]
Сошлись в [Янгиюль, Узбекистан] | | |
Doble_Ancho Москва Сообщений: 183 На сайте с 2025 г. Рейтинг: 98 | vadbars написал: [q] Ещё одно последствие размещения отчества в поле фамильное имя. При импорте gedcom файла из gramps в программу Древо жизни получаем пустое поле Отчество, а Фамилия заполняется как "Фамилия Отчество". В результатае получаем что-то типа "Иванов Петрович" "Степан". Кто встречался с таким, это можно как-то поправить в настройках? Или надо редактировать Gedcom?
[/q]
Просто из интереса: а если писать отчество в поле "суффикс"? | | |
vadbars Екатеринбург Сообщений: 119 На сайте с 2014 г. Рейтинг: 47 | Наверх ##
28 июня 7:37 29 июня 11:14 Doble_Ancho написал: [q] Просто из интереса: а если писать отчество в поле "суффикс"?[/q]
Вы же выше обсуждали этот вариант )). Насколько понял, просто поле Суффикс будет занято для других случаев ("старший, младший" и т.п.). Что в современном пост-СССР пространстве не слишком критично. Хотя если выйти за эти гео- и хроно- пределы, то поле Суффикс может понадобиться. При импорте такого gedcom в другие программы типа ДЖ или Familio, вероятно, это поле будет проигнорировано или объединено с Фамилия Имя в одну строку. Но конкретно не проверял. p.s. Ну и общие соображения: официальные доки GRAMPS рекомендуют вариант с указанием отчества в поле родовых имен. Можно на это забить, конечно, но ведь GRAMPS силен именно приверженностью стандартам (которые, увы, сплошь и рядом не соблюдаются в других программах). p.p.s. Если отчество добавлять в поле родовых имен, то криво работает Поиск по веб-сайтам. Отчество добавляется в поле Фамилия,а не в Имя. (( --- Барсуков/Борсук, Запорожский: [Бондари/Ковали, Полтавская обл., Украина]
Косенко, Пахмурный: [Украина] - [Сенное/Богодуховка, Казахстан]
Шаламов: [Верный (Алматы), Казахстан]
Назмутдинов: [Б.Нуркеево, Башкирия/Татарстан] - [Аим, Узбекистан] - [Узген, Киргизия]
Сошлись в [Янгиюль, Узбекистан] | | Лайк (2) |
vadbars Екатеринбург Сообщений: 119 На сайте с 2014 г. Рейтинг: 47 | Наверх ##
28 июня 7:45 28 июня 7:54 Позадаю-ка я еще вопросов по GRAMPS. Вот есть такая ситуация: родственник пропал без вести на войне. Абсолютно точных сведений не нашел, но есть два варианта с частичным совпадением - в одном документе совпадает почти все, за исключением года рождения и (внезапно) отчества, но очень правдоподобное место рождения и призыва. В другом варианте есть два документа явно на одного человека, но разнятся годы рождения и указано сомнительное место призыва. Ну и как в таком случае их фиксировать в базе? Поля дата рождения, место рождения, место и дата смерти ведь разные у этих вариантов. --- Барсуков/Борсук, Запорожский: [Бондари/Ковали, Полтавская обл., Украина]
Косенко, Пахмурный: [Украина] - [Сенное/Богодуховка, Казахстан]
Шаламов: [Верный (Алматы), Казахстан]
Назмутдинов: [Б.Нуркеево, Башкирия/Татарстан] - [Аим, Узбекистан] - [Узген, Киргизия]
Сошлись в [Янгиюль, Узбекистан] | | |
| petr_fedorov Начинающий
Москва Сообщений: 47 На сайте с 2024 г. Рейтинг: 28 | vadbars написал: [q] Ещё одно последствие размещения отчества в поле фамильное имя. При импорте gedcom файла из gramps в программу Древо жизни получаем пустое поле Отчество, а Фамилия заполняется как "Фамилия Отчество". В результатае получаем что-то типа "Иванов Петрович" "Степан". Кто встречался с таким, это можно как-то поправить в настройках? Или надо редактировать Gedcom?
[/q]
Надо поставить расширение GEDCOM 2 для правильного экспорта Отчеств, если они заведены как родовое имя. Обратите внимание на Эксперт в Фильтрах. Если его не выставить, то расширение не находится.
 | | Лайк (1) |
| petr_fedorov Начинающий
Москва Сообщений: 47 На сайте с 2024 г. Рейтинг: 28 | >> Ответ на сообщение пользователя Alexey_Chernyshov от 25 июня 2026 19:17 Ещё стоит иметь ввиду, что в Gramps поле Личное имя предполагает ввод нескольких имен, соответствующих английским first name, second name и форматированный вывод имен Gramps это обрабатывает. На экране ниже, Edwin Jose введено в поле Личное имя., ключевое слов Имя выдает его содержимое полностью. И если бы поля Прозвище и Обиходное были пустыми, то ключевое слово Разговорное давало бы Edwin, (а не Ed как на примере)
 | | Лайк (1) |
|