Pipeline для персонального медицинского корпуса: установка → добавление PDF → парсинг → обогащение.
Не медицинская консультация. Инструмент организует ваши документы локально. Не ставит диагнозы и не назначает лечение.
- Пакет:
medbots-coreиз этого репо; CLI —medbots. - Парсеры PDF: рассчитаны на российские бланки — ЕМИАС, Медси, Гемотест. Другие вендоры — новый парсер (docs/ARCHITECTURE.md).
- Без OCR: сканы без текстового слоя не парсятся (нужен внешний OCR или приватный LLM-ingest).
- OpenClaw / Telegram: опциональный деплой на VPS (deploy/RUNBOOK.md); для локального корпуса не обязателен.
- Демо без своих PDF: examples/demo-instance.
git clone https://github.com/apodobe/biohackbot.git
cd biohackbot
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
medbots --helpСоздайте приватную папку для данных (не внутри этого public-репо):
medbots init ~/my-healthСтруктура:
~/my-health/
├── bot_config.json
├── sources/emias/ ← сюда PDF
├── sources/medsi/
├── sources/gemotest/
└── structured_database/
├── manifest.json
├── PATIENT_PROFILE.json ← укажите дату рождения
├── pdf_text/
└── doc_text/Отредактируйте PATIENT_PROFILE.json:
{"dob": "1985-06-15", "full_name_ru": "John Smith", "country": "USA"}Скопируйте PDF анализов из ЕМИАС, Медси или Гемотест в соответствующую папку sources/.
Зарегистрируйте файлы в манифесте:
medbots scan --bot-root ~/my-health
# только один источник: --source emiasДва шага: извлечь текст, затем разобрать в doc_text/ и строки анализов.
medbots extract-text --bot-root ~/my-health
medbots structure --bot-root ~/my-health
# перепарсить всё: --force
# один вендор: --source gemotestПоддерживаются: ЕМИАС, Медси, Гемотест.
На iPhone: Здоровье → профиль → Экспортировать все данные о здоровье → export.zip
medbots import-apple-health --zip ~/Downloads/export.zip --bot-root ~/my-health --copy-zip
medbots validate-apple-health --corpus ~/my-health/structured_databaseСоздаёт fitness/BODY_METRICS.json, WORKOUTS.json, APPLE_HEALTH_SUMMARY.md. Сырой export.xml не сохраняется — только агрегированный JSON.
Нормализация анализов, LOINC, дедупликация, индексы:
medbots pipeline --bot-root ~/my-health
medbots validate --corpus ~/my-health/structured_databaseРезультат: LABS_NORMALIZED.json, DISCREPANCIES.json, CORPUS_INDEX.json и markdown-сводки.
Синхронизация JSON + текста на сервер для приватного Q&A-бота (без PDF):
export VPS=root@YOUR_HOST
export CORPUS=~/my-health/structured_database
cd deploy && ./02-rsync-corpus.shПодробнее: deploy/RUNBOOK.md
| Команда | Назначение |
|---|---|
medbots init PATH |
Создать структуру instance |
medbots scan --bot-root PATH |
Добавить PDF из sources/ в manifest |
medbots extract-text --bot-root PATH |
PDF → pdf_text/*.txt |
medbots import-apple-health --zip FILE --bot-root PATH |
Apple Health → fitness/ |
medbots structure --bot-root PATH |
Текст → doc_text/, строки анализов |
medbots pipeline --bot-root PATH |
Merge labs, LOINC, dedup, индекс |
medbots validate --corpus PATH |
Проверка целостности |
medbots validate-apple-health --corpus PATH |
Проверка Apple Health |
medbots structure --bot-root examples/demo-instance
medbots pipeline --bot-root examples/demo-instanceСм. examples/README.md.
- Держите
~/my-health/локально или в private git-репозитории. - Не коммитьте данные пациента в этот public-репозиторий.
- См. SECURITY.md.
- Архитектура
- Руководство по парсерам · EN
- LLM — когда нужны модели · EN
- Схема файлов корпуса
- License — MIT, Copyright (c) 2026 Alexey Podobedov
Автор: Alexey Podobedov