До основного вмісту

Технологія

Як Хроніст читає й чому йому можна вірити

Один API, три клієнти, три шари. На старті ми не навчаємо власних моделей розпізнавання — ми будуємо шар між відкритими моделями й дослідником.

Архітектура

Три шари на одному API

Клієнти

Розширення

Chrome, side panel

Веб-застосунок

пошук, власні скани

MCP-сервер

Claude Desktop та інші клієнти

API

Node.js · Fastify · OpenAPI-контракт · черги задач

Сервіси

Розпізнавання

Rukopys-OCR на GPU, резерв — мультимодальні моделі

База знань

довідковий корпус, векторний індекс, посилання

Commons

PostgreSQL: транскрипції, координати, сутності

Підтверджена в розширенні транскрипція осідає в Commons і тієї ж миті доступна через пошук і MCP.

Шлях одного фрагмента

Від виділення до відповіді

  1. 01

    Виділення

    Розширення вирізає область скану й рахує хеш зображення.

  2. 02

    Перевірка кешу

    API шукає цей фрагмент у Commons за хешем і архівним шифром.

  3. 03

    Розпізнавання

    Якщо фрагмент новий — задача в черзі; модель повертає рядки з координатами.

  4. 04

    Нормалізація

    Мовна модель передає текст сучасною орфографією й розмічає імена, дати й топоніми.

  5. 05

    Відповідь

    Результат надходить у сайдбар рядок за рядком. Ціль — до 5 секунд на 10–15 рядків.

Обґрунтованість

Чому відповіді не вигадані

Довідковий корпус складається з відкритих джерел із ліцензією: словники староукраїнської мови, довідники з метрології й календаря, Wikidata для топонімів, Вікітека й опубліковані документи.

Компаньйон відповідає лише з опорою на цей індекс і показує фрагмент, з якого взяв відповідь. Якщо відповідного фрагмента немає, Хроніст каже «не знаю». Транскрипція й інтерпретація візуально розділені: перше — те, що написано на аркуші, друге — те, що ми про це знаємо.

Відкритий стек

Що й чим

Розпізнавання рукопису
Rukopys-OCR-4B (Apache 2.0) на орендованому GPU; резерв — мультимодальні моделі через API
Нормалізація, пояснення, сутності
Велика мовна модель зі структурованим виводом і обов’язковими посиланнями
Розширення
Manifest V3, side panel, TypeScript, React
API та черги
Node.js, Fastify, BullMQ, Redis; OpenAPI-контракт
Дані
PostgreSQL із pgvector і pg_trgm: повнотекст, вектори й реляції в одному місці
Інтеграції
MCP-сервер на офіційному SDK, транспорт Streamable HTTP і stdio

MCP та API

Інструменти для вашого асистента

Один рядок конфігурації — і Claude Desktop чи інший MCP-клієнт читає архіви разом із вами. Відкритий REST API — для розробників.

claude_desktop_config.json · приклад, запрацює з MVP
{
  "mcpServers": {
    "khronist": {
      "url": "https://api.khronist.org/mcp"
    }
  }
}
  • transcribeпрочитати фрагмент сканув роботі
  • explainпояснити термін із джереломв роботі
  • search_sourcesпошук у Commons і довідникахв роботі
  • normalizeсучасна орфографіязаплановано
  • resolve_placeстарий топонім у сучаснийзаплановано
  • convert_dateюліанський у григоріанськийзаплановано
  • citeархівна цитата з шифромзаплановано