local-first · геном · анализы · назначения · носимые

Scholion

устанавливается как scholion — командная строка откликается и на crossread: прочитать источники друг против друга

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

🔒 Файлы не покидают машину🧬 Полный геном и чипы 🧪 Анализы и тренды💊 Назначения и взаимодействия ◎ Пятнадцать систем тела⌚ Носимые устройства🤖 Ассистент — по желанию 📦 Открытый код, Apache-2.0🔗 Исходный код на GitHub
🧩 Самый быстрый вход — терминал не нужен

Скачать файл скилла

Приложите его к диалогу с Claude или ChatGPT и скажите «настрой мне это» — модель прочитает и поведёт дальше сама, по одному маленькому шагу, объясняя каждый до того, как он случится. Данные остаются на вашей машине; правила безопасности старше любой другой инструкции, данной модели.

А если у вас Ouroboros Desktop — ставить руками больше нечего: скилл принят в OuroborosHub, и ставится оттуда одним нажатием (Skills → OuroborosHub → Install), вместе с pip-пакетом.

Нужна полная картина? полный комплект со справочными текстами  ·  все способы установки — для тех, кому терминал дом родной

⚠️ Исследовательский и образовательный инструмент. Не медицинское изделие: не ставит диагнозов, не назначает и не отменяет терапию, не подбирает дозу и не заменяет врача. Всё, что он выдаёт, — материал для собственного изучения и разговора с лечащим врачом.

Чем отличается

Все продают уверенность. Здесь — честность покрытия

Отчёт, в котором всё зелёное, продать легко. Труднее сказать, чего по вашим данным утверждать нельзя, — и именно это определяет, стоит ли верить остальному.

📏

«Находок нет» — только про прочитанное

Покрытие меряется по каждому гену отдельно: ген, прочитанный на 70 %, даёт такой же ноль, как прочитанный на 100 %. Крупные делеции короткие чтения не видят вовсе, и это сказано прямо, а не умолчано.

🧭

Страшная пометка — ещё не ваш диагноз

Прежде чем показать «патогенный» вариант из базы, движок проверяет: бывает ли такая болезнь при вашей картине, хватает ли повреждённых копий гена, в ту ли сторону работает вариант, различим ли эффект на фоне погрешности метода.

Ничего не додумывается

Нет референсной строки в вашем бланке — показатель выводится без флага, а не с нормой со стороны. Нет полной панели — биологический возраст не показывается. Пропуск остаётся пропуском.

📉

Рядом с числом — насколько ему верить

У каждого генетического признака стоит уровень доказательности. Перцентиль полигенного балла зависит от модели и референсной популяции; это позиция в популяции, а не вероятность болезни, и написано это рядом с числом.

🚦

Красных пометок мало — и каждая по делу

Когда подсвечена половина строк, человек перестаёт смотреть на подсветку. Порог, срабатывающий почти у всех, считается сломанным и переделывается: он измеряет свойство данных, а не объектов.

↩️

Отозванный вывод называется отозванным

Журнал изменений отвечает не «какие файлы тронуты», а что изменилось в выводах и что отозвано. Старая формулировка живёт в голове, пока её не сняли явно.

Как устроено

Считает код, формулирует ассистент — и ассистент необязателен

Числа, флаги и связи считает локальный код: воспроизводимо и проверяемо. Языковая модель добавляет только формулировку — связный разбор, приоритеты, вопросы к врачу. В ядре нет ни одного обращения к модели, и приложение проверяет это сканом собственного кода прямо на вкладке «Ассистент» — а отдельная вкладка «Справочник» объясняет по каждому экрану, что означает каждый цвет и подпись, чтобы ничего не оставалось необъяснённым только потому, что источник не под рукой.

1 · Ваши файлы

VCF, PDF-бланки, назначения, выгрузка носимого — лежат в вашей папке.

2 · Движок

Флаги, тренды, фенотипы CPIC, находки ClinVar, перцентили PGS, покрытие.

3 · Ассистент

По желанию: разбор со ссылками и вопросами к врачу. Любая модель.

4 · Входы

Веб-интерфейс, командная строка (scholion / crossread), скилл — в диалоге или в общей папке навыков, — сервер инструментов MCP, плагин Ouroboros и пакет плагина для ChatGPT-десктопа, Codex и Cursor.

Scholion · демо-профиль
Страница «Ассистент» в меню: приложение проверяет само себя — сканирует собственный код и печатает, сколько в нём обращений к языковым моделям (ноль). Ниже — точные адреса, которые оно может достучаться, и только по запросу.
Страница «Ассистент» в меню: приложение проверяет само себя — сканирует собственный код и печатает, сколько в нём обращений к языковым моделям (ноль). Единственные адреса, которые оно может достучаться, и только по запросу: api.cpicpgx.org, api.mymemory.translated.net, mor.nlm.nih.gov, rest.ensembl.org, rxnav.nlm.nih.gov, translate.googleapis.com.
Scholion · демо-профиль
«Справочник» в меню: что означает каждый цвет, бейдж и подпись в интерфейсе — объяснено один раз и на месте.
«Справочник» в меню: что означает каждый цвет, бейдж и подпись — объяснено один раз и на месте, чтобы экран не оставался необъяснённым только потому, что источник не под рукой.

Кому это

Четыре разных человека — четыре разных первых экрана

Продукт один, но повод открыть его во второй раз у всех свой. Ниже — честно, что каждый получает сегодня.

Владельцу собственного генома

У вас на руках VCF или BAM после полногеномного секвенирования, и вы не хотите отдавать их в чужое облако. Получаете: находки ClinVar по тирам, вторичные находки ACMG, фармакогенетику до звёздных аллелей и HLA, полигенные баллы — и список того, чего по вашим данным сказать нельзя. Выгрузка потребительского теста читается тоже — 23andMe, AncestryDNA, MyHeritage, Living DNA, FamilyTreeDNA, в том числе прямо внутри архива, который выдаёт провайдер, — и класс входа при этом измеряется: чип не выдаётся за полный геном.

Инженеру, который держит своё у себя

Nextcloud, Home Assistant, Nightscout — и здоровье как ещё один слой, который не должен зависеть от чужого сервера. Ядро работает на стандартной библиотеке Python и одной зависимости — pdfplumber, для чтения PDF-бланков анализов; ни одного сетевого вызова для расчётов, весь код читается за вечер.

Человеку с хронической линией

Щитовидная железа, железо, липиды, углеводный обмен. Панель раз в квартал, назначения, контрольные заборы. Здесь польза приходит в день визита к врачу: сверка новой панели с прошлой, что контролировать при текущей схеме, какие вопросы задать.

Врачу-исследователю и биоинформатику

База знаний лежит отдельно от кода, у каждой записи — источник и правило доказательности; правка базы версионируется как отдельное событие. Спорный порог видно, потому что он записан числом в файле, а не спрятан в коде.

Новое в 0.5.0 и 0.5.1 — главное

Тело как пятнадцать систем, а не как стопка анализов

Раньше щитовидная железа появлялась на странице трижды — в отклонениях, в строке про препарат и в списке «что сдать», — и нигде не было сказано, что это один предмет. Теперь система — единица сборки. Вкладка называется «Радар»: фигура, кольца по системам и по блоку на каждую, а полная карточка — в один клик. С 0.5.1 у каждого сегмента есть ещё и панель позиций, написанных человеком, — она стоит впереди базы.

scholion system lipids · демо-профиль
Система: Липиды · регистр пациента

по этому списку сборка ответить не может — геном на этом
профиле не читается — см. статус генома

1. Лаборатория сейчас   100/100 — маркёров измерено: 3 из 4
   не сдавались ни разу: Cholesterol, total
2. Динамика             100 → 100 (0) против 2025-11
3. Генетика системы     база GenCC 2026-09-06 — генов: 38;
   позиций курируемой панели: 7; прочитано: 0, не прочитано: 0
   позиций, чью фразу подписал автор панели, а врач
   не подписывал: 7 (подписано 2026-09-13)
4. Назначения · 5. Цель врача · 6. Что сдать · 7. Вопросы

Следующий шаг, три корзины
   сдать · дочитать в геноме · спросить врача
   геном не подключён — полный геном закрыл бы для этой
   системы: 40 генов списка, не прочитанных здесь

Демо-профиль вымышленного человека, входит в пакет: scholion system lipids. Генома у этого профиля нет, поэтому из генетической половины не прочитано ничего — и карточка говорит об этом, а не выдаёт молчание за здоровье. Тот же ответ приходит по клику на сегмент радара, по органу на фигуре, из локального API и из инструмента ассистента.

Два кольца, и они не сливаются

Сколько лабораторной панели измерено — и сколько генетической половины прочитано. Это разные величины: человек, у которого сдана вся панель и не прочитан ни один ген, не должен видеть то же, что человек в обратном положении. Система, у которой генетический список не собран, показывает кольцо пунктиром — это отсутствие, а не ноль.

🧬

У базы генетической половины есть версия

1469 генов на пятнадцать систем из выгрузки Gene Curation Coalition: кто заявил связь гена с болезнью, насколько сильно, при каком типе наследования и какого числа. Две группы, спорящие об одном гене, показаны спорящими, а не усреднёнными. Заявка уровня Limited, Disputed или Refuted никогда не подаётся как находка, а одна копия аллеля в рецессивном гене — это носительство и вопрос, а не строка риска.

Впереди базы — панель, которую написал человек

214 позиций в четырнадцати системах, написанные, а не собранные машиной. Единица строки — позиция, а не ген: rsID со своим HGVS, названный автором аллель, фраза для одной копии и для двух. Строка, где фразы для найденного состояния нет, сохраняется и печатается как ожидающая: позицию сюда поставил человек, а что из этого генотипа следует — ещё предстоит написать.

Что видно в работе

Пять сценариев

Все числа на снимках — синтетический демо-профиль вымышленного человека, он входит в пакет. Продукт можно посмотреть до того, как загружать своё: pip install scholion && scholion init --demo && scholion serve.

1

Одна картина вместо стопки PDF

Показатели за годы, флаги отклонений, динамика, связь с геномом — и фокус внимания: одна задача, на которой человек сосредоточен сейчас.

трендыкоридоры из ваших бланковфокус внимания
Scholion · демо-профиль
«Обзор»: главные числа, фигура тела рядом с радаром и то, что сейчас вне нормы (демо).
«Обзор»: главные числа, фигура тела рядом с радаром и то, что сейчас вне нормы (демо).
Scholion · демо-профиль
«Анализы»: сначала то, что вне нормы, с флагами, спарклайнами и динамикой; значения в норме свёрнуты (демо).
«Анализы»: сначала то, что вне нормы, с флагами, спарклайнами и динамикой; значения в норме свёрнуты (демо).
Scholion · демо-профиль
«Образ жизни»: сначала главные числа, затем антропометрия, активность и восстановление с трендами (демо).
«Образ жизни»: сначала главные числа, затем антропометрия, активность и восстановление с трендами (демо).
2

Разговор с врачом с подготовленным вопросом

По препарату из вашей схемы — что об этом говорят гайдлайны применительно к вашим данным: фармакогенетика, что контролировать, взаимодействия с текущей схемой. Итог — список вопросов, а не указаний.

CPIC со ссылкойвзаимодействиячто контролировать
  • Система не назначает и не отменяет: она цитирует источник и формулирует вопрос, решение остаётся врачу.
  • Видно, чего не хватает для ответа: неизвестный генотип назван неизвестным, а не «в норме».
Scholion · демо-профиль
«Лекарства»: проверка препарата — геном × анализы × взаимодействия × ClinVar (демо).
«Лекарства»: проверка препарата — геном × анализы × взаимодействия × ClinVar (демо).
Scholion · демо-профиль
«Радар»: блок одной системы — вывод, анализы таблицей, генотип находками, вопросы врачу (демо).
«Радар»: блок одной системы — вывод, анализы таблицей, генотип находками, вопросы врачу; всё остальное под «Подробнее» (демо). Подробнее — в разделе выше.
3

Геном, прочитанный с оговорками

Находки ClinVar, разложенные по клинической важности; полигенные риски как навигатор для скрининга; слой долголетия как контекст, а не приговор.

ClinVar × ваш VCFACMG SFPGS-перцентилипокрытие по генам
Scholion · демо-профиль
«Геном»: находки по тирам, полигенные риски и слой долголетия — с уровнем доказательности у каждого признака (демо).
«Геном»: находки по тирам, полигенные риски и слой долголетия — с уровнем доказательности у каждого признака (демо).
4

Что сдавать в следующий раз

Бланк следующего забора собирается сам — из текущей схемы, пройденных клинических порогов, договорённостей с врачом и того, чего не хватает для расчётов.

по ступенямдавность значенияпробирка и подготовка
  • По ступеням, а не простынёй: дорогое — только если дешёвое что-то показало.
  • С давностью последнего значения, чтобы не платить второй раз за сданное месяц назад.
  • Расчётные индексы не заказываются — в бланк идут их слагаемые.
Scholion · демо-профиль
«Что сдать»: предложения с причиной и приоритетом, в конце «Радара» (демо).
«Что сдать»: предложения с причиной и приоритетом, в конце «Радара» (демо).
Scholion · демо-профиль
«Лекарства»: текущая схема как единая точка правды для проверок; отменённое свёрнуто ниже (демо).
«Лекарства»: текущая схема как единая точка правды для проверок; отменённое свёрнуто ниже (демо).
5

Проверка собственных гипотез

«Кажется, от позднего кофе я хуже сплю» — проверяемое утверждение. Модуль n-of-1 превращает его в эксперимент с заранее зафиксированным протоколом.

предрегистрациярандомизация блоковперестановочный тестучёт нарушений
  • Сначала — сможет ли план вообще дать ответ: чувствительность ограничена числом блоков, а не числом дней. Классический ABAB из четырёх блоков не даст значимости никогда, и это печатается до старта.
  • Сравнение периодами, а не днями: соседние ночи похожи, и подённый счёт превращает случайность в открытие.
  • Нарушения вырезаются вместе со следующим днём, а день без отметки считается неизвестным, а не соблюдённым.

Зачем возвращаться

Меняется не геном, а знание о нём

У локального инструмента нет ни подписки, ни уведомлений. Поводов открыть его снова ровно три, и все три возникают сами.

Что приходит самоЧто с этим делает Scholion
Новая версия ClinVarЕжемесячный реанализ по расписанию: свежая база, дифф по вашим вариантам, повторный скан ACMG, обзор кандидатов PGS. Отчёт вида «за квартал переклассифицировано столько-то, из них ваших — эти».
Новая панель анализовРазбор новой панели, сверка с прошлой, обновлённый чеклист следующего забора. Бланки приходят постоянно, геном загружают один раз.
Новое назначениеСверка с текущей схемой и фармакогенетикой, список вопросов к врачу к дате приёма.

Приватность и лицензии

Ничего не уходит наружу без вашего действия

🔒

Локально по построению

Геном, анализы, назначения и показатели хранятся только у вас. Наружу код ходит лишь в публичные справочники (Ensembl, RxNorm, CPIC) и сервисы перевода (для межъязыковых названий препаратов), и только за общими сведениями — ваши данные в запрос не попадают. Режим SCHOLION_OFFLINE=1 запрещает и это.

📦

Пакет с авто-аудитом

Обезличенная сборка для передачи собирается санитайзером: если в неё попадает любой признак персональных данных, сборка останавливается. В пакете — код, базы знаний, тесты, демо-профиль.

🧪

Проверяемость

Более тысячи автотестов на стандартной библиотеке, проверка обратной совместимости публичного контракта (56 команд, 20 снимков) и отдельный набор правил безопасности выводов. Прогоняются одной командой у любого, кто взял пакет, — внутри пакета, а не только в нашем репозитории.

⚖️

Лицензии

Код — Apache-2.0, курируемая база знаний — CC BY 4.0. Происхождение каждого не-своего файла записано в ATTRIBUTION.md; данные, чья лицензия запрещает коммерческое использование, в репозиторий не кладутся вовсе.

⌨️

Установка

Шесть дверей, одно ядро — папка без установки, pip install scholion, скилл для модели без терминала, сервер инструментов MCP, плагин Ouroboros или пакет плагина для ChatGPT-десктопа, Codex и Cursor. Точные, проверенные команды — в разделе «Установка» ниже.

🌍

Два языка

Отчёты печатаются по-английски по умолчанию и переключаются флагом --lang ru или переменной SCHOLION_LANG=ru. Распознавание русских бланков — не настройка, а свойство продукта: имя показателя берётся из бланка у вас в руках и показывается на языке, на котором напечатано.

Ассистент — любая модель. Скилл для Claude, плагин Ouroboros и пакет плагина для ChatGPT, Codex и Cursor идут вместе с ним; для любой другой scholion skill печатает инструкцию, а scholion assistant --context собирает снимок состояния со списком команд. Через скилл модель не получает доступа к машине: она просит выполнить команду и разбирает вывод. Через сервер инструментов она вызывает инструменты, которые работают на вашей машине и читают только ваши данные.

Данные для проверки

Проверяется на данных, которые нам не принадлежат

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

🧬

Personal Genome Project (Harvard)

Постоянный эталонный прогон идёт по 36 наборам от одиннадцати поставщиков — от чипов до полных геномов, панелей и разложенных каллсетов. Участники PGP согласились на открытую публикацию своих данных именно затем, чтобы на них работали, — и без этого продукт видел бы только машину автора. Спасибо им. Ничего из их данных здесь не лежит: ни генотипов, ни находок, ни идентификаторов, ни медицинских записей. Наружу из этой работы выходит поведение движка и агрегированные числа.

🧾

Synthea

Синтетический бандл FHIR R4, на котором проверяется импорт по кодам LOINC: выгрузка портала с клиническими записями, сделанная настоящей системой, а не тем же человеком, который писал парсер. Пациент сгенерирован — поэтому файл может лежать в репозитории: ничьего согласия он не требует. Apache-2.0.

🔍

Genomi

Детектор входного формата — detection.py и text_io.py, — вендорен под Apache-2.0 с атрибуцией, отмеченными правками и способом обновиться. Он определяет, что за файл, по содержимому, а не по имени: BAM, CRAM, VCF, gVCF отдельно от VCF, парный FASTQ и выгрузки 23andMe, AncestryDNA, MyHeritage, FamilyTreeDNA, Living DNA — включая обёртки gzip, zip и tar.

Полный провенанс каждого чужого файла — в ATTRIBUTION.md; сверка вендоренного кода с оригиналом запускается командой и сообщает о расхождении в любую сторону.

Установка

Одно ядро, шесть дверей — берите ту, что у вас уже есть

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

терминал
pip install scholion
scholion init --demo
scholion overview
scholion serve

Python 3.10+ и больше ничего заранее. Это pip-пакет — он даёт локальный веб-интерфейс и полную командную строку за один шаг; pdfplumber, нужный для чтения PDF-бланков анализов, идёт вместе с ним. Командная строка откликается на два имени, scholion и crossread, — оба ставятся одним пакетом. Необязательный pip install "scholion[genome]" добавляет более быстрый доступ к VCF через pysam; без него встроенный читатель тоже работает, просто медленнее.

📁

Без установки — папка, которую вы распаковываете

Python 3.10+ — единственное требование, весь анализ работает на стандартной библиотеке. (Исключение — чтение PDF-бланков анализов: для этого нужен pdfplumber, а его в этой поставке нет.) Для начала — ./bin/crossread --help. Здесь же лежит инструментарий подготовки генома — FASTQ → VCF, PharmCAT/PyPGx — для тех, кто строит VCF из сырых прочтений; scholion tools показывает, каких внешних программ (bcftools, samtools) не хватает и как их поставить.

🧩

Скилл для языковой модели

Самый простой вход — без навыков работы с терминалом: скачайте файл скилла и приложите его к диалогу с Claude или ChatGPT со словами «настрой мне это». Модель прочитает и поведёт дальше сама — по одному маленькому шагу, объясняя каждый до того, как он случится. Есть и полный комплект со справочными текстами и правилами безопасности, а если пакет уже установлен — scholion skill --full печатает ту же инструкцию. Модель не получает доступа к машине, профиль её не покидает, а правила безопасности имеют приоритет над любой другой её инструкцией.

🔌

Плагин для Ouroboros

scholion/ouroboros_tools.py регистрирует 35 инструментов sch_* — второе мнение по препарату, разбор анализов, поиск по локусу, полигенные баллы, долголетие, цели и другое. Ouroboros находит модули инструментов, сканируя свой пакет tools, поэтому туда один раз кладётся одна строка: pip install scholion, затем запишите from scholion.ouroboros_tools import get_tools в <ouroboros>/ouroboros/tools/scholion_tools.py и задайте SCHOLION_REPO_DIR. Сам модуль не копируется, поэтому после обновления ничего делать не нужно. python3 -m scholion.ouroboros_tools печатает список инструментов и отдельно от Ouroboros.

🧳

Пакет плагина — ChatGPT, Codex, Cursor

Новое в 0.5.3. Папка agent-plugin/ — это Scholion в формате Agent Plugins, о котором пять компаний договорились в августе 2026 года. Его читают ChatGPT-десктоп, Codex, Cursor, VS Code, GitHub Copilot и Kiro. Один импорт приносит инструменты вместе с инструкцией к ним, и по отдельности их не установить. Пакет ничего не устанавливает: движок ставится один раз командой pipx install scholion, а если его нет, загрузчик отказывается и печатает эту команду. ChatGPT помечает такой плагин как Desktop only, и это верно: движок читает файлы на вашем диске.

🔗

Сервер инструментов MCP

scholion mcp отдаёт те же 35 инструментов через стандартный ввод и вывод. Он не открывает порт и не требует ключа. Сервер понимает версию протокола от июля 2026 года, где нет рукопожатия, и версии с рукопожатием вплоть до 2024 года. Тринадцать инструментов отдают ответ ещё и структурой: поля, которые их команда печатает с --json, плюс отчёт со всеми оговорками. Ассистенту больше не нужно разбирать текст обратно в числа.

Все двери запускают один и тот же анализ. Единственная разница, которую стоит знать заранее: pip-пакет и распакованная папка одинаково дают полное приложение, а инструментарий подготовки генома — превращение сырых прочтений секвенатора в VCF — есть только в исходном дереве, вместе с внешними биоинформатическими инструментами, которые он использует. Если VCF у вас уже есть, pip-пакета достаточно для всего, что показано на этой странице.