Сборка из открытых компонентов

Как MOffice выглядит с найденными библиотеками и собственным кодом владельца; номерные метки показывают, какой компонент работает в этом месте · 13 экранов
Галерея Hub Write Sheets Slides Draw Paint PDF Math Notes Mail Base Forms Общие диалоги Аккаунт и лицензии Открытые компоненты
Цвет метки — класс лицензии:★собственный код владельца0класс 0 — без обязательств (CC0, Unlicense, Public Domain)1класс 1 — только атрибуция (MIT, BSD, ISC, Apache-2.0, OFL)2класс 2 — по решению владельца (MPL, LGPL)Источник: docs/research/component-map.md, политика docs/12-license-policy.md

OS-01 Карта сборки

Из чего собран MOffice: пять слоёв от оболочки до серверных сервисов. Каждый чип — компонент или группа компонентов из карты component-map.md, цвет — класс лицензии. Справа — то, что пишем и держим сами: именно это делает продукт продуктом, а не сборником библиотек.

Карта сборки MOffice 1.2

Оболочка → Ядро → Кодеки → Платформа → Сервисы · цвет — класс лицензии · adopt — как есть · fork — копия с правками · port — переписать на Rust · v0 от 04.10.2026
СОБСТВЕННЫЙ КОД ВЛАДЕЛЬЦА
12 модулей
PasswordSafe, ScreenPrompt, FlyType, Lingo…
КЛАСС 0 · БЕЗ ОБЯЗАТЕЛЬСТВ
2 компонента
SQLite, 196 кистей MyPaint
КЛАСС 1 · ТОЛЬКО АТРИБУЦИЯ
151 компонент
MIT, Apache-2.0, BSD, ISC, OFL → NOTICE
КЛАСС 2 · РЕШЕНИЕ ВЛАДЕЛЬЦА
3 компонента
Qt 6, onenote.rs, словари de/uk/be
ВСЕГО В SBOM СБОРКИ 1.2
486 компонентов
с зависимостями · класс 3 — 0
ОболочкаQt 6 · QML · окна, лента, панели
Интерфейс QML, докинг панелей, темы Qt 6 — LGPL-3 или коммерческая SARibbon — лента (fork) cxx-qt — мост Rust ↔ Qt Lucide · Tabler · Phosphor → MOffice Glyphs 9 шрифтов OFL: Carlito, Caladea, Liberation, Noto, STIX Two…
↓ вызовы ядра через cxx-qt · модели документов отдаются в QML
ЯдроRust · Kernel, Render, Lingo, Script, Sync
Текст
harfrust · skrifa · read-fonts · fontique ICU4X · unicode-bidi · icu_segmenter Кнут–Пласс из typst (port) hypher + TeX-шаблоны imara-diff · similar Lingo: правописание, грамматика RU Harper — грамматика EN словари de · uk · be — по запросу
Графика
Skia · tiny-skia · kurbo · lyon · i_overlay · resvg Little-CMS 2 d3 · ECharts · ColorBrewer — диаграммы
Таблицы
IronCalc → meridian-calc (fork) formulajs · Univer (port) SheetJS SSF (port) statrs · nalgebra HiGHS · good_lp · Clarabel · argmin Polars · DuckDB · Arrow csv · encoding_rs · chardetng
Paint Draw Math
libmypaint кисти MyPaint · 196 ink-stroke-modeler Pinta: 37 эффектов (port) ONNX Runtime + IS-Net mxGraph · dagre · WebCola · d3-force · petgraph draw.io: трафареты (fork) Mermaid — парсер (port) typst-math · ReX · Temml · latex2mathml · MathCAT
Скрипты
QuickJS-ng · rquickjs · oxc · tree-sitter · wasmtime tantivy — поиск Yrs — CRDT
↓ кодеки: файл ↔ модель документа, без потерь только для MOP
КодекиRust · MOffice Codecs, импорт и экспорт
calamine · rust_xlsxwriter Apache POI → doc · xls · ppt (port) cfb · olefile · msoffcrypto-tool jackcess → accdb (port) onenote.rs (MPL-2.0) или свой PST по [MS-PST] pulldown-cmark · comrak · html5ever image · png · zune-jpeg · webp · ravif · exr · tiff · gif · psd pdfium + pdfium-render lopdf · PDFBox (port) krilla · pdf-writer · subsetter Tesseract · PP-OCRv5 · ONNX Runtime pdfminer.six · pdfplumber · Docling (port) mail-parser · mail-builder · calcard · libdav rlottie · rav1e · libvpx SQLite rusqlite · SQLCipher · sqlparser · драйверы СУБД
↓ системные API: файлы, буфер обмена, захват экрана, связка ключей
ПлатформаWindows · macOS · Linux
ScreenPrompt — снимки и запись экрана xcap · windows-capture · ashpd FlyType — диктовка PasswordSafe core — шифрование PasswordSafe daemon — секреты, IPC arboard · keyring · interprocess velopack (+ Sparkle) minidump-writer · crash-handler machine-uid async-imap · mail-send · lettre · mail-auth rpgp · html5ever
↓ HTTPS · OIDC / SAML · обновления CRDT
Сервисысерверы MOffice · свой хостинг
MOffice ID на axum (вариант А) Keycloak (вариант Б) axum · openidconnect · oauth2 · samael · totp-rs · argon2 meridian-license Биллинг: ЮKassa, CloudPayments Kill Bill · async-stripe PasswordSafe sync — E2EE OpenDAL + rclone — облака y-sweet — совместная работа rust-minidump · GlitchTip
Что остаётся нашимядро продукта
▤
Раскладка страницабзацы, колонки, сноски, разрывы страниц
◇
Модели документовтекст, таблицы, фигуры, история, отмена
▣
ОболочкаQML: лента, панели, диалоги, темы
⧉
Форматы MOP.mwx · .msx · .mpx, история внутри файла
🔑
Лицензированиеключи, активация, редакции, места
⇄
СинхронизацияMOffice Cloud, шифрование поверх CRDT
Легенда цветов
★собственный код владельца
0без обязательств: CC0, PD
1атрибуция: MIT, BSD, Apache-2.0
2решение владельца: MPL, LGPL
Класс 3 — не берёмзамена
✕MuPDF, iText, Poppler → pdfium, lopdf, krilla
✕HyperFormula (GPL) → IronCalc
✕Gnumeric, Krita, GIMP → «чистая комната»
✕bpmn-js, tldraw → трафареты draw.io
✕значки Paint.NET → свои; код Pinta — да
Откуда данные
component-map.md v0 · 642 проверенные записи в oss-verified.tsv: лицензия, версия, активность · 04.10.2026
На этом кадре метки заменяют чипы: цвет чипа — класс лицензии.
  • ★— собственный код владельца: PasswordSafe (core, daemon, sync), ScreenPrompt, FlyType, Lingo (правописание и грамматика RU), импорт PST, оболочка QML, MOffice ID, meridian-license, адаптеры оплаты — 12 модулей
  • 0— класс 0 · SQLite (Public Domain), mypaint-brushes (CC0-1.0) — без обязательств
  • 1— класс 1 · 151 компонент (MIT, BSD, ISC, Apache-2.0, Unicode-3.0, OFL-1.1) — строка в «Лицензиях открытого ПО» и NOTICE
  • 2— класс 2 · Qt 6 (LGPL-3 или коммерческая), onenote.rs (MPL-2.0, альтернатива — свой импорт по [MS-ONESTORE]), словари de/uk/be (загрузка по запросу, не в установщике)

Счётчики считают компоненты на карте: чип «harfrust · skrifa · read-fonts · fontique» — это 4 компонента; typst и d3 учтены один раз. 486 — полный SBOM настольной сборки 1.2 вместе с транзитивными зависимостями (без серверных Keycloak, GlitchTip, y-sweet), см. OS-02 и OS-13.

OS-02 О программе → Лицензии открытого ПО

Окно «О программе» в Hub, раздел «Лицензии открытого ПО» — единственное место интерфейса, где названы сторонние компоненты. Поиск, фильтр по лицензии, таблица компонентов и полный текст лицензии выбранного; внизу — сохранение NOTICE и экспорт SBOM.

MО программе— MOffice 1.2
🔍 Поиск файлов, шаблонов и команд ⌘⇧P
☁ СинхронизированоАМ
iО программе
§Лицензионное соглашение
⚖Лицензии открытого ПО486
♥Благодарности
🔒Конфиденциальность
✚Диагностика
↑Обновления
MOffice 1.2.0
Сборка 2026.10.14-1412 · Стабильный
macOS · arm64 · Pro до 14.03.2027
© 2026 ООО «Меридиан Софт»

Лицензии открытого ПО

486 компонентов · 24 лицензии · состав сборки 1.2.0 (1412) проверен 14.10.2026
⧉ Скопировать список
§
MOffice распространяется по лицензионному соглашению MOffice (EULA). Перечисленные ниже сторонние компоненты используются по их собственным лицензиям; уведомления об авторстве и тексты лицензий приведены здесь и в файле NOTICE. Открыть EULA
🔍Имя, лицензия или назначение
Лицензия: все (24)Приложение: все
Все · 486MIT · 212MIT OR Apache-2.0 · 118Apache-2.0 · 95BSD · 21OFL-1.1 · 11Unicode-3.0 · 9CC0 · PD · 0BSD · 9ISC · 7LGPL-3.0 · 4
Компонент
Версия
Лицензия
Назначение
IronCalc (meridian-calc)
0.8.3
MIT OR Apache-2.0
Формулы и вычисления в Sheets
◂ показан справа
harfrust
0.13.3
MIT
Шейпинг текста во всех приложениях
Показать текст
ICU4X
2.3.1
Unicode-3.0
Сегментация, сортировка, числа
Показать текст
Skia (skia-safe)
0.153.3
BSD-3-Clause · MIT
Отрисовка холста и печать
Показать текст
pdfium
7350
BSD-3-Clause
Просмотр PDF
Показать текст
krilla
0.8.2
MIT OR Apache-2.0
Экспорт в PDF/A и PDF/UA
Показать текст
Tesseract
5.5.1
Apache-2.0
Распознавание текста (OCR)
Показать текст
libmypaint
1.6.1
ISC
Движок кистей Paint
Показать текст
Кисти MyPaint (196)
2.0.2
CC0-1.0
Наборы кистей Paint
Показать текст
Pinta — алгоритмы эффектов
3.2
MIT
37 эффектов и 9 коррекций Paint
Показать текст
QuickJS-ng
0.10.1
MIT
Выполнение скриптов
Показать текст
Yrs
0.28.0
MIT
Совместное редактирование
Показать текст
SQLite
3.50.4
Public Domain
Базы данных Base
Показать текст
STIX Two Math
2.13
OFL-1.1
Шрифт формул Math
Показать текст
Qt 6 (Core, Gui, Qml, Quick)
6.8.3
LGPL-3.0
Оболочка · динамическая компоновка
Показать текст
Показано 15 из 486 · Показать все · порядок: по приложениям
Текст лицензии✕
IronCalc (meridian-calc) 0.8.3
Лицензия
MIT OR Apache-2.0 — применяется MIT
Источник
github.com/ironcalc/IronCalc
В продукте
изменённая копия (meridian-calc)
Уведомление
в NOTICE · раздел «Sheets»
MITApache-2.0NOTICE
MIT License

Copyright (c) 2023 EqualTo GmbH, 2023 Nicolás Hatcher

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. …
⧉ Копировать текстОткрыть источник ↗
Тексты лицензий показываются на языке оригинала — переводить их нельзя.
NOTICE и SBOM собираются при каждой сборке из одного реестра компонентовСохранить NOTICE…Экспорт SBOM (CycloneDX)…Готово
1 2 3 4 5
Легенда меток:
  • 1— IronCalc · MIT OR Apache-2.0 · движок формул Sheets; в продукте — изменённая копия meridian-calc (fork), правки публиковать не нужно, уведомление сохраняется
  • 2— SQLite · Public Domain · класс 0: упоминание не обязательно, но для полноты включено
  • 3— mypaint-brushes · CC0-1.0 · 196 кистей, класс 0
  • 4— Pinta · MIT · код 37 эффектов и 9 коррекций (port); иконки и логотип Paint.NET (CC BY-NC-ND) не используются
  • 5— Qt 6 · LGPL-3.0 · класс 2: динамическая компоновка, пользователь может заменить библиотеку; при покупке коммерческой лицензии Qt строка исчезает

Счётчик вырос с 218 (CM-09, версия 1.1.3) до 486: в сборку 1.2 вошли найденные библиотеки и их транзитивные зависимости. Тексты лицензий — только на языке оригинала. Фильтр «Лицензия» — выпадающий список с теми же группами, что и ярлыки под поиском.

OS-03 Write: правописание, переносы, диктовка, сравнение

Вкладка «Рецензирование». Справа — панель «Правописание» со словарём «Русский (ru_RU)», внизу — включённая диктовка с офлайн-моделью. В тексте — абзац с автоматическими переносами и качественным выравниванием по ширине, арабская вставка внутри русского абзаца, открыто меню «Сравнить».

WОтчёт об обследовании цеха № 3.mwx— MOffice Write
🔍 Скажите, что нужно сделать ⌘⇧P
☁ Сохранено 11:48АМ
ФайлГлавнаяВставкаМакетСсылкиРассылкиРецензированиеВидСкрипты
👥 Поделиться💬 Комментарии⌄
✓Правописание📖Тезаурус123Статистика
Правописание
🎙Диктовка🔊Прочитать
Речь
Язык: Русский ▾Переносы: авто ▾Перевести
Язык
💬Создать
УдалитьПредыдущееСледующее
Комментарии
⏺Исправления✓Принять✕Отклонить
Запись исправлений
⇄Сравнить ▾
Сравнение
🔒Защитить✍Подписать
Защита

Отчёт об обследовании энергоснабжения цеха № 3

ООО «Вектор» · 3 октября 2026 г. · для АО «Северсталь-Снаб», служба главного энергетика

1. Результаты обследования

В ходе обследования выполнены замеры на вводах 0,4 кВ трансформа-торной подстанции ТП-3 и в распределительных щитах линии горяче-го проката. Средняя загрузка трансформатора Т-2 в дневную смену со-ставила 87 %, в часы пиковой нагрузки — до 104 %, что превышает до-пустимую длительную перегрузку. Коэффициент мощности — 0,81.

Проверка апаратуры защиты показала, что автоматические выключатели QF-12 и QF-14 выработали коммутационный ресурс и подлежат замене. Отмечаем что журнал осмотров ведётся нерегулярно; в целях снижения рисков рекомендуем электронный журнал.

Резервные кабели поставлены компанией Al-Faisal Trading (مؤسسة الفيصل للتجارة, Эр-Рияд); сертификаты соответствия приложены к отчёту.

2. Рекомендации

Рекомендуем заменить трансформатор Т-2 на ТМГ-1000 до начала отопительного сезона и провести повторные замеры в ноябре

ДиктовкаГоворите…Русский · офлайн-модель на этом компьютере · знаки препинания — авто⏸✕
Правописание и грамматика1 из 4✕
Словарь: Русский (ru_RU)+ Свой
ОрфографияРусский (ru_RU)
Проверка апаратуры защиты показала…
Слова нет в словаре. Возможно, пропущена буква.
аппаратуры↵
аппаратура
аппаратурой
ЗаменитьЗаменить всеПропустить+ В словарь
ДАЛЕЕ В ДОКУМЕНТЕ
,
Отмечаем, что
Грамматика · запятая перед «что»
S
в целях снижения → чтобы снизить
Стиль · канцелярский оборот
А
трансформотор → трансформатор
Орфография · стр. 3
СЛОВАРИ
RUРусский (ru_RU)встроен ✓
ENEnglish (en_US)встроен ✓
DEDeutsch (de_DE)↓ Загрузить · 2,4 МБ
Проверять грамматику (RU, EN)Расставлять переносы автоматически
Стр. 1 из 61 812 словРусский✗ 2 ошибки1 замечаниеПереносы: автоВыравнивание: качественное● Диктовка
РазметкаЧтениеВеб
−+100 %
⇄ Сравнить две версии…⌥⌘C
⧉ Объединить правки нескольких авторов…
🕘 Сравнить с сохранённой версией
Точность: по словам · перемещения ✓
1 2 3 4 5 6 7 8
Легенда меток:
  • 1— MOffice Lingo · собственный код владельца · Hunspell-совместимый движок правописания на Rust (читает .aff/.dic) и свои правила грамматики для русского
  • 2— словарь ru_RU · BSD-подобная лицензия · встроен в установщик; en_US — SCOWL (BSD/PD)
  • 3— hypher (форк) + TeX-шаблоны hyph-utf8 · MIT/Apache-2.0, шаблоны — по языкам (ru — LPPL-1.2+, kk — PD; cs — GPL, не берём) · автоматические переносы
  • 4— алгоритм Кнута–Пласса из typst · Apache-2.0 · port: разбивка абзаца на строки, «Выравнивание: качественное»
  • 5— FlyType · собственный код владельца (MIT) · диктовка офлайн и онлайн, расстановка знаков препинания
  • 6— imara-diff (+ similar) · Apache-2.0 · сравнение версий по словам и перемещениям
  • 7— harfrust + ICU4X · MIT / Unicode-3.0 · шейпинг арабского письма, двунаправленный текст (unicode-bidi), границы слов
  • 8— словари de, uk, be · GPL/OASIS, MPL/GPL, CC BY-SA/LGPL · класс 2–3: не входят в установщик, загружаются по запросу пользователя из первоисточника

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

OS-04 Sheets на ядре IronCalc

Вкладка «Формулы». В E2 — формула с MAP и LAMBDA, результат разливается на E2:E13. Поверх — «Мастер функций»: поиск, категории со счётчиками, всего 518 функций — 496 из ядра и 22 перенесённые из открытых каталогов; справа — синтаксис, аргументы и пример выбранной функции.

SПремии отдела продаж — 2026.xlsx— MOffice Sheets
🔍 Скажите, что нужно сделать ⌘⇧P
☁ Сохранено 10:20АМ
ФайлГлавнаяВставкаМакет страницыФормулыДанныеРецензированиеВидСкрипты
💬 КомментарииПоделиться⌄
fxВставить функциюΣАвтосумма🕘Недавние₽Финансовые?ЛогическиеAТекстовые📅Дата⌕СсылкиθМатематика⋯Другие
Библиотека функций
🏷Диспетчер имён
Присвоить имяВ формулеИз выделенного
Определённые имена
Влияющие ячейкиЗависимые ячейкиУбрать стрелки
Показать формулыПроверка ошибокВычислить формулу
Зависимости формул
⟳Пересчёт
АвтоматическиВручную
Вычисление
E2fx=MAP(C2:C13; D2:D13; LAMBDA(оклад; план; IF(план>=1; ROUND(оклад*Ставка; -2); 0)))✓ ✕
A
B
C
D
E
F
G
H
I
J
K
L
1
Сотрудник
Отдел
Оклад, ₽
План
Премия, ₽
К выплате, ₽
Ставка
15 %
2
Смирнова Анна
Продажи СЗФО
185 000
112 %
27 800
212 800
3
Орлов Дмитрий
Продажи СЗФО
160 000
86 %
0
160 000
4
Кузнецова Мария
Продажи ЦФО
172 000
104 %
25 800
197 800
5
Белов Игорь
Продажи ЦФО
150 000
121 %
22 500
172 500
6
Новикова Елена
Ключевые клиенты
210 000
98 %
0
210 000
7
Фёдоров Антон
Ключевые клиенты
195 000
109 %
29 300
224 300
8
Громова Ольга
Продажи ПФО
140 000
101 %
21 000
161 000
9
Ершов Павел
Продажи ПФО
138 000
93 %
0
138 000
10
Ткачёва Наталья
Тендеры
165 000
117 %
24 800
189 800
11
Лебедев Сергей
Тендеры
158 000
100 %
23 700
181 700
12
Волкова Ирина
Маркетплейсы
145 000
132 %
21 800
166 800
13
Соколов Олег
Маркетплейсы
142 000
89 %
0
142 000
14
Итого
1 960 000
196 700
2 156 700
15
16
План ниже 100 % — красным
17
формат: [Красный][<1]0 %;0 %
18
19
20
21
22
23
24
25
26
27
28
29
Мастер функций518 функций✕
🔍lambda
Имена: английские
Все функции518
Недавние12
Логические19
Математические84
Статистические105
Финансовые55
Дата и время25
Текстовые47
Ссылки и массивы40
Информационные22
Инженерные55
Базы данных17
Совместимость37
Куб и веб12
Мои (LAMBDA)3
AND
BYCOL
BYROW
IF
IFERROR
IFS
LAMBDA
LET
MAKEARRAY
MAP
REDUCE
SCAN
SWITCH
XOR
ещё 5…
LAMBDA(параметр1; [параметр2; …]; вычисление)
Создаёт свою функцию с именованными параметрами. Её можно вызвать сразу, передать в MAP, REDUCE, SCAN, BYROW или сохранить под именем в «Диспетчере имён».
параметр
имя значения, которое получит функция (до 253)
вычисление
формула с параметрами — всегда последний аргумент
=LAMBDA(x; x*1,2)(C2)
→ 222 000
В .xlsx сохраняется как _xlfn.LAMBDA и открывается в Excel 365; в .ods — значением.
Связанные: LET · MAP · REDUCE · SCAN · BYROW · MAKEARRAY
Справка по функцииОтменаВставить
◂ ▸ПремииОкладыСправочник+
ГотовоРазлив: E2:E13Среднее: 16 391,67 ₽Количество: 12Сумма: 196 700 ₽Пересчёт 0,6 мс · автоматически− + 100 %
1 2 3 4
Легенда меток:
  • 1— IronCalc · MIT OR Apache-2.0 · движок формул: разбор, пересчёт, LAMBDA/LET, динамические массивы, импорт и экспорт .xlsx; 496 функций (fork → meridian-calc)
  • 2— formulajs (MIT, 411 функций) и Univer engine-formula (Apache-2.0, 502) · port 22 недостающих функций (AGGREGATE, GROUPBY, PIVOTBY, кубы, веб) до полного каталога 518
  • 3— SheetJS SSF · Apache-2.0 · port: числовые форматы с условиями и цветом — [Красный][<1]0 %;0 %, «Формат ячеек → Все форматы»
  • 4— statrs + nalgebra · MIT / Apache-2.0 · распределения, регрессия (LINEST), матричные функции

Счётчики категорий в сумме дают 518. Пунктир вокруг E2:E13 — диапазон разлива; правка формулы в E2 пересчитывает весь диапазон. Имена функций можно переключить на русские (ЕСЛИ, ОКРУГЛ) — в файл всегда пишутся английские.

OS-05 Sheets: данные и поиск решения

Вкладка «Данные», два диалога рядом. Слева — «Получить данные → Parquet»: файл на 12 млн строк, предпросмотр с типами столбцов, отбор и группировка до загрузки, загрузка в модель данных. Справа — «Поиск решения» для транспортной задачи: целочисленная модель, решение найдено.

SПоставки СЗФО — модель.msx— MOffice Sheets
🔍 Скажите, что нужно сделать ⌘⇧P
☁ Сохранено 09:41АМ
ФайлГлавнаяВставкаМакет страницыФормулыДанныеРецензированиеВидСкрипты
💬 КомментарииПоделиться⌄
⤓Получить данные
Из CSV или текстаИз ParquetИз базы данных
Получить и преобразовать
⟳Обновить всё
Запросы и подключенияМодель данныхСвойства
Запросы
↕Сортировка⏷Фильтр
Сортировка и фильтр
⫼Текст по столбцам⧉Дубликаты✓Проверка
Работа с данными
📈Лист прогноза?Что если
Прогноз
🎯Поиск решенияΣАнализ данных
Анализ
H20fx=SUMPRODUCT(C5:F8; C17:F20)✓ ✕
A
B
C
D
E
F
G
H
I
J
1
Транспортная задача · октябрь
2
Стоимость доставки, ₽ за шт.
3
4
Склад
СПб-1
СПб-2
Мурманск
Петрозаводск
Мощность
5
Шушары
18
22
96
61
42 000
6
Колпино
24
19
101
66
28 000
7
Кола
94
97
12
58
16 000
8
Кондопога
63
66
55
9
12 000
9
10
11
12
13
Спрос, шт.
31 000
26 000
14 500
10 500
14
15
16
План перевозок, шт.
СПб-1
СПб-2
Мурманск
Петрозаводск
Отгружено
17
Шушары
31 000
0
0
0
31 000
18
Колпино
0
26 000
0
0
26 000
19
Кола
0
0
14 500
0
14 500
20
Кондопога
0
0
0
10 500
10 500
1 320 500
21
Доставлено
31 000
26 000
14 500
10 500
затраты, ₽
22
23
24
◂ ▸МодельПродажи 2026 (модель данных)Отчёт о решении+
ГотовоМодель данных: 1 таблица · 18 240 строкПересчёт автоматически− + 100 %
Получить данные — ParquetДанные → Получить данные → Из файла✕
~/Данные/продажи_2026.parquet
Обзор…
Parquet · сжатие ZSTD12 048 331 строка14 столбцов386 МБ на диске18 групп строкпрочитаны только метаданные · 0,04 с
дата
регион
магазин
sku
категория
кол-во
цена
выручка
промо ▸
📅 Дата
Aa Текст
Aa Текст
# Целое
◫ Категория
# Целое
₽ 10,2
₽ 12,2
✓ Логический
02.01.2026
СЗФО
СПб, Невский 88
104231
Бытовая химия
12
349,00
4 188,00
нет
02.01.2026
СЗФО
СПб, Лиговский 30
104231
Бытовая химия
7
349,00
2 443,00
нет
02.01.2026
ЦФО
Москва, Тверская 12
220518
Напитки
48
89,90
4 315,20
да
02.01.2026
ЦФО
Москва, Арбат 21
118004
Бакалея
31
154,50
4 789,50
нет
03.01.2026
СЗФО
Мурманск, Ленина 15
305117
Заморозка
9
412,00
3 708,00
нет
03.01.2026
СЗФО
Петрозаводск, Ленина 2
118004
Бакалея
14
154,50
2 163,00
нет
03.01.2026
ЮФО
Краснодар, Красная 120
104231
Бытовая химия
22
339,00
7 458,00
да
В модель данных — все 12 048 331 строки, столбцовое хранилищеНа лист — не более 1 048 576 строкТолько подключение — запрос по требованию
Столбцы: 9 из 14регион = «СЗФО»по месяцам и магазинам
Результат: 18 240 строк вместо 12 млн · около 1,1 с
SELECT date_trunc('month', дата) AS месяц, магазин,
       sum(количество) AS шт, sum(выручка) AS выручка
FROM 'продажи_2026.parquet' WHERE регион = 'СЗФО'
GROUP BY ALL
Предпросмотр: первые 200 строк · типы — по схеме файлаОтменаЗагрузить в модель
Поиск решения✕
$H$20затраты на доставку, ₽
До:МаксимумаМинимумаЗначения
$C$17:$F$20
$C$17:$F$20 = целое
$C$17:$F$20 >= 0
$G$17:$G$20 <= $G$5:$G$8мощность
$C$21:$F$21 >= $C$13:$F$13спрос
ДобавитьИзменитьУдалить
Переменные без ограничений — неотрицательные
Симплекс-метод — линейная модель Целочисленный — метод ветвей и границ Нелинейный — внутренняя точка
✓ Решение найдено за 0,42 с
Затраты на доставку: 1 320 500 ₽ (было 1 452 900 ₽, −9 %)
16 целых переменных · 8 ограничений · оптимальность доказана, зазор 0 %
Параметры…Сохранить сценарийНайти решение
1 2 3 4 4 5
Легенда меток:
  • 1— Apache Arrow (arrow, parquet) · Apache-2.0 · чтение метаданных и групп строк Parquet, столбцовая память модели данных
  • 2— Polars · MIT · вывод типов столбцов и быстрый предпросмотр (ленивые кадры данных)
  • 3— DuckDB · MIT · SQL-отбор и агрегация прямо по файлу — в модель попадает 18 240 строк вместо 12 млн
  • 4— HiGHS + good_lp · MIT · симплекс-метод и целочисленные задачи (ветвей и границ)
  • 5— Clarabel + argmin · Apache-2.0 / MIT OR Apache-2.0 · нелинейные и конические задачи

Одинаковый номер в двух местах — один компонент. Для CSV тот же диалог определяет кодировку и разделитель (csv, encoding_rs, chardetng). Отчёт о решении — отдельный лист «Отчёт о решении».

OS-06 Paint: кисти и эффекты

Справа — библиотека «Кисти»: 7 наборов и 196 кистей с превью мазка. Открыто меню «Эффекты»: группы и названия эффектов. На холсте — результат «Удалить фон»: портрет на прозрачном фоне (шахматка), миниатюра «до» и действия с маской.

PtПортрет — сайт команды.mpi— MOffice Paint
🔍 Команда, эффект или кисть ⌘⇧P
Этот Mac · измененоАМ
ФайлГлавнаяВыделениеСлоиКоррекцияЭффектыВидСкриптыКисть⇪ Поделиться · ⌄
↻Повторить
Последний
◌Размытие⌇Искажение░Шум🎨Художественные◆Стилизация☁Рендер📷Фото◳Объект
Эффекты
◐Уровни∿Кривые◑Тон
Коррекция
✂Удалить фон◎Выделить объект
Умные инструменты
▦Галерея эффектов
Галерея
КистьDeevad · Акварель — лессировка · 36 px ▾Непрозрачность 80 %Поток 55 %Режим Обычный ▾Стабилизатор 40 · с предсказаниемНажим пера
▭⌾✨✥🖌✏◻🪣▦⎘T◇⌗💉🔍✋
До · 1600 × 1200
✓Фон удалён
1,2 с · на этом компьютере, без интернета · объект найден автоматически
Сгладить края3 px
Растушёвка1 px
Применить как маску слоя
ИнвертироватьУточнить кистью
Отменить
Кисти196⋯
🔍 Найти кисть
Классические35
Deevad36
Dieterle19
Экспериментальные23
Kaerhon20
Ramon28
Tanda35
DEEVAD · 36 КИСТЕЙ
Карандаш 2B
Карандаш 4H
Лайнер
Мягкое перо
Шариковая ручка
Мел
Акварель — лессировка
Акварель — экспрессия
Аэрограф
Спрей
Параметры кисти…Импорт .myb
X: 412 · Y: 3181600 × 1200 px · RGB 8 битПрофиль: sRGB IEC61966-2.1Нажим: 64 %Слой: Портрет (маска)− + 50 %
Эффекты37 эффектов · 9 коррекций · живой предпросмотр на холсте · ⌘F — повторить последний
Размытие
По Гауссу
В движении
Радиальное
Наезд камеры
Расфокусировка
Фрагменты
Искажение
Выпуклость
Вмятины
Матовое стекло
Пикселизация
Полярная инверсия
Плитка-отражение
Скручивание
Шум
Добавить шум
Медиана
Уменьшить шум
Художественные
Масляная живопись
Набросок тушью
Карандашный набросок
Стилизация
Выделение краёв
Тиснение
Контур краёв
Рельеф
Рендер
Облака
Ячейки
Фрактал Жюлиа
Фрактал Мандельброта
Диаграмма Вороного
Фото — свечение, резкость, красные глаза, мягкий портрет, виньеткаОбъект — выровнять, растушевать, обвестиЦвет — дизеринг
1 2 3 4 5 5 6
Легенда меток:
  • 1— libmypaint · ISC · движок кистей: динамика, нажим и наклон пера, смешивание краски
  • 2— mypaint-brushes · CC0-1.0 · 196 кистей в 7 наборах (Классические, Deevad, Dieterle, Экспериментальные, Kaerhon, Ramon, Tanda) — класс 0
  • 3— Pinta · MIT · port кода 37 эффектов и 9 коррекций; иконки и логотип Paint.NET (CC BY-NC-ND) не используем — значки свои
  • 4— ink-stroke-modeler · Apache-2.0 · стабилизатор пера со сглаживанием и предсказанием (также в Notes)
  • 5— ONNX Runtime (ort) + модели IS-Net / U-2-Net (Apache-2.0) или BiRefNet (MIT) · удаление фона офлайн; модель rembg по умолчанию (bria-rmbg) некоммерческая — не берём
  • 6— Little-CMS 2 (lcms2) · MIT · управление цветом: профили sRGB, Display P3, CMYK

Названия наборов кистей — имена авторов наборов. Меню «Эффекты» открывается с любой кнопки группы: в шести колонках — 28 эффектов, ещё 9 — в группах «Фото», «Объект», «Цвет».

OS-07 Draw: трафареты и автораскладка

Слева — «Трафареты» с общими наборами без значков производителей. На листе — блок-схема закупки после иерархической автораскладки с ортогональными коннекторами. Открыто меню «Автораскладка», справа — диалог «Вставить из текста» с описанием схемы в текстовом синтаксисе.

DПроцесс закупки.mvx— MOffice Draw
🔍 Команда, фигура или трафарет ⌘⇧P
☁ СохраненоАМ
ФайлГлавнаяВставкаКонструкторУпорядочитьДанныеРецензированиеВидСкрипты💬 Комментарии · ⇪ Поделиться · ⌄
┐Ортогональные╲Прямые∿Кривые
Обходить фигурыПеремычкиСкругление 4 px
Коннекторы
⬆Вперёд⬇Назад
Порядок
▣Группировать▢Разгруппировать
Группа
¶Из текста⤢Подогнать лист
Схема
⇶Автораскладка ▾⊫Выровнять↔Распределить
Раскладка
Трафареты⋯
🔍 Поиск фигур
▸ Основные38
▾ Блок-схема32
Процесс
Решение
Начало / конец
Данные
Документ
Подпроцесс
Ручной ввод
Подготовка
Соединитель
Задержка
Хранилище
Дисплей
▸ UML46
▸ BPMN 2.064
▸ Сущность—связь22
▸ Сеть (общие)48
▸ Интеллект-карта12
Свои фигуры: перетащите выделение сюда · импорт наборов .xml
Заявка на закупку Бюджет есть? Отклонено Согласование руководителем Запрос КП у трёх поставщиков Поставщик выбран? Расширить список Договор поставки Оплата и приёмка НетДаНетДаповторный запрос
ПроцессРоли и сроки+
Коннектор: ортогональный · 2 излома9 фигур · 9 связейОбычныйРазметка− + 100 %
⇶ Иерархическая — сверху вниз⌥⇧H
🌳 Дерево — компактное
✳ Органическая (силовая)
◯ Круговая
┐ Коннекторы: ортогональные ✓
↕ Между уровнями: 36 px
Параметры раскладки…
Вставить из текста✕
Синтаксис: блок-схема (flowchart)Сверху вниз
flowchart TD
  A([Заявка на закупку]) --> B{Бюджет есть?}
  B -- Да --> C[Согласование руководителем]
  B -- Нет --> X([Отклонено])
  C --> D[Запрос КП у трёх поставщиков]
  D --> E{Поставщик выбран?}
  E -- Нет --> G[Расширить список] --> D
  E -- Да --> F@{ shape: doc, label: "Договор поставки" }
  F --> H[Оплата и приёмка]
● Без ошибок9 узлов · 9 связей · 1 цикл (G → D)
Автораскладка: иерархическаяСтиль фигур — из темы документаСвязать с текстом: правка текста обновляет схему
Справка по синтаксисуОтменаВставить
1 2 3 4 5 6
Легенда меток:
  • 1— трафареты draw.io · Apache-2.0 с отдельным условием (не для продуктов Atlassian) · fork общих наборов: блок-схема, UML, BPMN, ER, сеть; значки производителей не берём — это товарные знаки
  • 2— mxGraph · Apache-2.0 · port: ортогональная маршрутизация коннекторов с обходом фигур, раскладки «Дерево» и «Круговая»
  • 3— dagre · MIT · port: иерархическая (послойная) раскладка
  • 4— WebCola + d3-force · MIT / ISC · port: органическая раскладка с ограничениями
  • 5— Mermaid · MIT · port парсера текстового синтаксиса схем (импорт)
  • 6— petgraph · MIT OR Apache-2.0 · графовые алгоритмы: циклы, топологический порядок для раскладки

В интерфейсе синтаксис назван нейтрально — «блок-схема (flowchart)»; подпись «совместим с Mermaid» как название формата — на решение владельца. Выделен коннектор «повторный запрос»: два излома проложены автоматически вокруг фигур.

OS-08 PDF: распознавание и преобразование

Слева — панель «Распознать текст»: языки, качество «Быстро / Точно», ход распознавания 14 страниц. В центре — скан с найденными блоками. Справа — «Преобразовать в Write»: структура страницы (заголовки, абзацы, таблица, подписи) перед созданием документа.

PDFАкт сверки — скан.pdf— MOffice PDF
🔍 Команда или текст в документе ⌘⇧P
Этот MacАМ
ФайлГлавнаяРедактироватьПреобразоватьФормыЗащитаВидСкрипты⇪ Поделиться · ⌄
WВ WriteSВ SheetsPВ Slides🖼В изображения¶В текст
Преобразовать в
👁Распознать текст
Русский + EnglishПроверить распознанное
Распознавание
⇶Очередь📁Папка-наблюдатель
Пакетная обработка
APDF/A♿PDF/UA🗜Сжать
Стандарты
Распознать текст✕
Русский ✕English ✕+ Добавить язык
⚡ Быстро◎ Точно
«Точно» медленнее, но лучше читает таблицы, печати и мелкий шрифт
Все (14)ТекущаяДиапазон
Автоповорот страницВыравнивать перекосРаспознавать таблицыУбирать фон и пятна
Добавить текстовый слой в этот файлСохранить копию как PDF/A-2b
Распознано 9 из 14 страниц64 %
1234567891011121314
≈ 20 с осталось · на этом компьютере, без интернета
Уверенность 98,4 % · 3 слова под вопросом
⏸ ПаузаОтменить
АКТ СВЕРКИ ВЗАИМНЫХ РАСЧЁТОВ
Заголовок 1
за период с 01.07.2026 по 30.09.2026
Подзаголовок
между ООО «Вектор» (далее — Поставщик) и АО «Северсталь-Снаб» (далее — Покупатель) по договору поставки № 143 от 12.09.2026 г.
Абзац
Мы, нижеподписавшиеся, главный бухгалтер ООО «Вектор» Ткачёва Н. В. и главный бухгалтер АО «Северсталь-Снаб» Гришин П. А., составили настоящий акт о том, что состояние взаимных расчётов по данным учёта следующее:
Абзац
№
Документ
Дебет, руб.
Кредит, руб.
1
Сальдо на 01.07.2026
0,00
0,00
2
УПД № 418 от 15.09.2026
1 284 600,00
3
Платёжное поручение № 2017 от 29.09.2026
1 000 000,00
4
Сальдо на 30.09.2026
284 600,00
Таблица 4 × 5
По данным ООО «Вектор» на 30.09.2026 задолженность в пользу ООО «Вектор» составляет 284 600,00 руб. (двести восемьдесят четыре тысячи шестьсот рублей 00 копеек).
Абзац
От ООО «Вектор» ____________От АО «Северсталь-Снаб» ____________
Подписи · 2 колонки
Преобразовать в Write✕
Формат: Write (.mwx)Раскладка: как в скане
НАЙДЕННЫЕ БЛОКИ · СТР. 17 блоков · 1 таблица
Заголовок 1АКТ СВЕРКИ ВЗАИМНЫХ РАСЧЁТОВ
Подзаголовокза период с 01.07.2026 по 30.09.2026
Абзацмежду ООО «Вектор» (далее — Поставщик) и АО «Северсталь-Снаб»…
Абзац · 1 слово под вопросомМы, нижеподписавшиеся, главный бухгалтер ООО «Вектор»…
Таблица · 4 столбца × 5 строк
№
Документ
Дебет
Кредит
1
Сальдо на 01.07
0,00
0,00
2
УПД № 418
1 284 600
…
ещё 2 строки
АбзацПо данным ООО «Вектор» на 30.09.2026 задолженность…
Подписи · 2 колонкиОт ООО «Вектор» ____ · От АО «Северсталь-Снаб» ____
Таблицы — настоящими таблицами WriteНомера страниц и колонтитулы → поляОставить скан страницы фоном
ПредпросмотрПреобразовать в Write
Стр. 1 из 14Скан без текстового слояРаспознавание: 9 из 14Блоки: показаны− + 100 %
1 2 3 4 4 5 6
Легенда меток:
  • 1— pdfium через pdfium-render · BSD-3-Clause / MIT OR Apache-2.0 · отрисовка страниц PDF
  • 2— Tesseract + tessdata · Apache-2.0 · режим «Точно»: русский и английский, таблицы, мелкий шрифт
  • 3— PP-OCRv5 (PaddleOCR) через ONNX Runtime · Apache-2.0 · режим «Быстро» и кириллица; ocrs не берём (веса CC BY-SA, только латиница)
  • 4— алгоритмы pdfminer.six, pdfplumber, Docling · MIT · port: раскладка блоков, поиск таблиц, структура документа
  • 5— lopdf · MIT · запись невидимого текстового слоя в исходный файл
  • 6— krilla (pdf-writer, subsetter) · MIT OR Apache-2.0 · сохранение копии в PDF/A-2b с поиском

Оранжевым выделены слова с уверенностью ниже 70 % («Гришин», «2017», «00») — их можно проверить командой «Проверить распознанное». Всё выполняется локально; MuPDF и Poppler (AGPL, GPL) не используются.

OS-09 Math: формула и озвучивание

Слева — ввод LaTeX с подсветкой и готовый MathML для экспорта, справа — результат крупно. Включено «Прочитать вслух»: формула проговаривается по частям, текущая часть подсвечена и в формуле, и в тексте.

∑Нормальное распределение.meq— MOffice Math
🔍 Команда или символ: «\sigma» ⌘⇧P
Этот MacАМ
ФайлГлавнаяВставкаВидСкрипты⇪ Поделиться · ⌄
TeXLaTeX𝑥²UnicodeMath⌨Визуальный✍Рукописный
Ввод
STIX Two Math
14 пт
ЖК
Шрифт
≡Выключная≈Встроенная
Отображение
⟨⟩MathMLTeXLaTeXWOMML◇SVG⎘Копировать как
Экспорт
🔊Прочитать вслух⇆Навигация⠿Брайль
Доступность
Исходный код · LaTeXавтодополнение вкл.⋯
1% Плотность нормального распределения
2f(x) = \frac{1}{\sigma\sqrt{2\pi}}\,
3       e^{-\frac{(x-\mu)^2}{2\sigma^2}}
4
5% Правило трёх сигм
6P(\mu-3\sigma \le X \le \mu+3\sigma) \approx 0{,}9973
● Синтаксис веренСтрока 3, столбец 43Пакеты: amsmath
Экспорт · MathMLобновляется на лету⌄
<math display="block">
  <mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo><mo>=</mo>
  <mfrac>
    <mn>1</mn>
    <mrow><mi>σ</mi><msqrt><mn>2</mn><mi>π</mi></msqrt></mrow>
  </mfrac>
  <msup><mi>e</mi><mrow><mo>−</mo><mfrac>…</mfrac></mrow></msup>
</math>
⎘ Копировать MathMLЭкспорт MathML…Экспорт LaTeX…
Предпросмотр · 150 % · выключная
f(x)= 1σ√2π e−(x−μ)22σ2
P(μ−3σ≤X≤μ+3σ)≈0,9973
🔊 Прочитать вслух⏮⏸ Пауза⏭Подробность: полнаяГолос: системныйСкорость 1,0×
эф от икс равно дробь: в числителе один, в знаменателе сигма, умноженная на корень квадратный из двух пи; конец дроби, умноженная на е в степени минус дробь: в числителе икс минус мю в квадрате, в знаменателе два сигма в квадрате.
Навигация по формуле: ← → по частям, ↑ ↓ по уровням вложенности, Enter — повторить часть · вывод на дисплей Брайля (UEB, Nemeth)
● MathML готов0 ошибокСтрока 3, столбец 43Экспорт: MathML · LaTeX · OMML · SVGШрифт: STIX Two Math− + 150 %
1 2 3 4
Легенда меток:
  • 1— раскладка формул typst (typst-layout/math) + идеи ReX · Apache-2.0 / MIT OR Apache-2.0 · port: дроби, радикалы, индексы, растягиваемые скобки
  • 2— Temml / latex2mathml · MIT · port: разбор LaTeX и вывод MathML; LaTeX-экспорт — обратное преобразование
  • 3— MathCAT · MIT · озвучивание формул, навигация по частям, вывод Брайля (UEB, Nemeth)
  • 4— STIX Two Math · OFL-1.1 · шрифт формул в комплекте

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

OS-10 Mail: календарь и безопасность

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

@Входящие — a.morozov@vektor.ru— MOffice Mail
🔍 Поиск в почте, календаре и контактах ⌘⇧P
↻ Получено 11:52АМ
ФайлГлавнаяОтправка и получениеПапкаВидСкрипты⌃ Развернуть ленту
✉ Создать📅 Встреча🗑 Удалить🗄 Архив↩ Ответить↩↩ Всем↪ Переслать🔐 Подписать и зашифровать ▾🏷 ТегиВсе учётные записи
▾a.morozov@vektor.ru
📥 Входящие12
📤 Отправленные
📝 Черновики2
🗄 Архив
⚠ Спам4
🗑 Корзина
▾Календари
Рабочий
Планёрки проекта
Праздники
+ Добавить учётную запись…
ВходящиеПо дате ▾
ОС
Олег Савин🔐 · 📎 2 · 11:40
Планёрка по проекту «Северсталь» — приглашение
Коллеги, переводим планёрки на регулярный график…
ИК
Ирина Климова📎 1 · 10:58
Договор поставки № 143 — подписан
Скан с подписями во вложении, оригиналы отправила курьером.
АП
Анна Петрова · Северсталь09:12
График отгрузок на ноябрь
Добрый день! Высылаем уточнённый график, просим подтвердить.
БТ
Банк · уведомления08:30
Поступление 640 000,00 ₽ от ООО «СтройПрофи»
Назначение: оплата по счёту № 88 от 28.09.2026
ДА
Дмитрий Ахметоввчера
Проект допсоглашения о переносе сроков
Направляю проект допсоглашения о переносе на 09.11…
M
MOffice Cloudвчера
Ирина поделилась папкой «Северсталь — 2026»
Права: редактирование · 14 файлов
БВ
Бухгалтерия «Вектор»2 окт
Акты за сентябрь — подпишите до 7 октября
Во вложении акты по договорам 143 и 151.

Планёрка по проекту «Северсталь» — приглашение

↩ Ответить↪ Переслать⋯
ОС
Олег Савин <o.savin@vektor.ru>
Кому: мне, Ирина Климова, Николай Беляев · Копия: Анна Петрова
сегодня, 11:40
📎 2 вложения
✓ Подписано (OpenPGP) ключ 9C4E 21A7 · Олег Савин · доверенный Отправитель подтверждён: DKIM ✓ SPF ✓ DMARC ✓
🛡Из письма удалены скрипты и внешние изображения-счётчики.Показать изображения

Коллеги, добрый день!

Переводим планёрки по проекту «Северсталь» на регулярный график — каждый второй вторник месяца, с 10:00 до 11:00. Повестку первой встречи прикладываю; первым пунктом — сроки поставки трансформаторов.

— Олег

📅
Планёрка по проекту «Северсталь»
Приглашение · организатор Олег Савин
✓ Конфликтов нет
Когдавторник, 13 октября 2026, 10:00–11:00 (МСК) Повторениекаждый 2-й вторник месяца до 31.12.2027 · 15 встреч Следующие10 ноября · 8 декабря · 12 января 2027 · 9 февраля · ещё 10 ГдеПереговорная «Ладога» · ссылка на видеовстречу в описании Участники6 · приняли 3 · ответа нет 3
✓ Принять? Под вопросом✕ ОтклонитьПредложить другое времяОтвет уйдёт организатору
📅
invite.ics2 КБ · календарь
W
Повестка — 13.10.mwx48 КБ · открыть в Write
Входящие: 148 писем, 12 непрочитанныхIMAP · imap.vektor.ru · подключеноОтправка: очередь пуста
Добавить учётную записьшаг 2 из 3 · автонастройка✕
Александр Морозов
a.morozov@vektor-group.ru
✓
Настройки домена vektor-group.ru
файл автонастройки почтового сервера
✓
Входящая почта · IMAP
imap.vektor-group.ru:993 · SSL/TLS · вход выполнен, 6 папок
✓
Исходящая почта · SMTP
smtp.vektor-group.ru:465 · SSL/TLS · проверено
✓
Календарь и контакты
dav.vektor-group.ru · CalDAV, CardDAV
🔑
Найден ключ OpenPGP для этого адреса
в каталоге ключей домена · импортировать для подписи писем?
Импорт
Синхронизировать:ПочтуКалендарьКонтактыЗадачи
🔒 Пароль сохраняется в связке ключей системы, а не в файлах MOffice
Настроить вручнуюНазадГотово
1 2 3 4 5 6 7 8 9
Легенда меток:
  • 1— mail-parser (+ mail-builder) · Apache-2.0 OR MIT · разбор MIME: вложения, кодировки, вложенные письма
  • 2— mail-auth · Apache-2.0 OR MIT · проверка DKIM, SPF, DMARC
  • 3— rpgp (крейт pgp) · MIT OR Apache-2.0 · проверка подписи и шифрование OpenPGP
  • 4— свой санитайзер на html5ever · MIT OR Apache-2.0 · очистка HTML письма от скриптов и счётчиков (ammonia не берём: тянет MPL-зависимости)
  • 5— calcard (Stalwart) · Apache-2.0 OR MIT · приглашения .ics и визитки .vcf: чтение, ответ организатору
  • 6— calcard (RRULE) + libdav (CalDAV) · Apache-2.0 OR MIT / ISC · правила повторения (RFC 5545): «каждый 2-й вторник до 31.12.2027» = 15 встреч
  • 7— async-imap · MIT OR Apache-2.0 · подключение и синхронизация IMAP
  • 8— mail-send / lettre · Apache-2.0 OR MIT / MIT · отправка по SMTP
  • 9— keyring · MIT OR Apache-2.0 · пароли и токены в связке ключей ОС

Импорт .pst в Mail — собственный код по спецификации [MS-PST] (libpff под LGPL не используется). Диктовка в редакторе письма — FlyType, как в OS-03.

OS-11 Hub: облака, обновления, отчёт о сбое

Hub → «Облако и подключения»: восемь хранилищ со статусами. Поверх — два диалога оболочки: «Доступно обновление 1.2» с дельта-пакетом 18 МБ и «Отправить отчёт о сбое» с перечнем того, что уйдёт на сервер.

MMOffice
🔍 Поиск файлов, шаблонов и команд ⌘⇧P
☁ СинхронизированоАМ
⌂Главная
🕘Недавние
★Избранное
☁Облако и подключения
👥Общие со мной3
ПРИЛОЖЕНИЯ
WWrite
SSheets
PSlides
PtPaint
PDFPDF
@Mail12
⚙Параметры
↑Обновление 1.2 готово

Облако и подключения

Файлы из хранилищ открываются как локальные; изменения синхронизируются в фоне
+ Подключить хранилище⟳ Синхронизировать всё
M
MOffice Cloud
cloud.vektor.local · свой сервер
● Синхронизировано 11:52
14,2 из 100 ГБ · 🔒 сквозное шифрование
O
OneDrive
a.morozov@vektor.ru
● Подключено
212 ГБ свободно
G
Google Диск
a.morozov.work@gmail.com
● Подключено · только чтение
9,1 из 15 ГБ
D
Dropbox
morozov.alex
● Нужен повторный вход
доступ истёк 02.10 · Войти
Я
Яндекс Диск
a-morozov@yandex.ru
⟳ Синхронизация · 64 %
38 из 50 ГБ
W
WebDAV
nas.vektor.local/dav/projects
● Подключено
локальная сеть
S3
S3-хранилище
s3.vektor.local · бакет backup-office
● Подключено
резервные копии · шифрование на устройстве
N
Nextcloud
не настроено
○ Не подключено
Подключить…
Безопасность подключенийТокены доступа хранятся в связке ключей системы. Ключи шифрования MOffice Cloud и резервных копий есть только на ваших устройствах — сервер видит зашифрованные данные.
MOffice 1.1.3 · macOSФоновая синхронизация: 2 задачи
↑Доступно обновление✕
MOffice 1.2
Сборка 2026.10.14-1412 · у вас 1.1.3 · канал «Стабильный»
Дельта-обновление: 18 МБполный пакет — 412 МБ✓ Подпись проверена
  • Sheets: 518 функций, данные из Parquet, поиск решения
  • Paint: 196 кистей, удаление фона без интернета
  • PDF: распознавание текста и преобразование в Write
Ставится без прав администратора; если что-то пойдёт не так — автоматический откат к 1.1.3
ПозжеПри выходеПерезапустить
⚠Отправить отчёт о сбое✕
MOffice Sheets неожиданно завершился сегодня в 11:46. Документы восстановлены из автосохранения.
✓
Минидамп процесса — 312 КБ
стек вызовов, модули, регистры — без содержимого документов
✓
Версия, сборка, ОС, процессор и видеокарта
✓
Журнал: последние 200 строк, без имён файлов
Приложить файл, с которым работали (не рекомендуется)
Обновлял сводную по модели данных из Parquet на 12 млн строк
Отчёт уйдёт на reports.meridian-office.ru · посмотреть содержимое отчёта
Отправлять без вопросаНе отправлятьОтправить отчёт
1 2 3 4 5 6
Легенда меток:
  • 1— OpenDAL + rclone · Apache-2.0 / MIT · подключение хранилищ: OneDrive, Google Диск, Dropbox, Яндекс Диск, WebDAV, S3, Nextcloud
  • 2— PasswordSafe sync · собственный код владельца · сквозное шифрование при синхронизации с MOffice Cloud, WebDAV и S3
  • 3— keyring · MIT OR Apache-2.0 · токены доступа в связке ключей ОС
  • 4— velopack (+ Sparkle на macOS) · MIT · дельта-обновления, установка без прав администратора, откат
  • 5— minidump-writer + crash-handler · MIT / MIT OR Apache-2.0 · перехват сбоя и запись минидампа
  • 6— rust-minidump + GlitchTip · MIT · разбор дампов и приём отчётов на нашем сервере (Sentry-сервер под FSL не используем)

Значки хранилищ — буквы в цветных квадратах, а не логотипы сервисов. Названия сервисов показаны, потому что это места хранения, к которым подключается пользователь, а не компоненты внутри продукта.

OS-12 MOffice ID и консоль администратора

Два окна браузера. Слева — вход на account.meridian-office.ru: ключ доступа (passkey) и SSO организации. Справа — консоль организации, раздел «Безопасность»: SSO по SAML 2.0 или OpenID Connect, обязательная двухфакторная проверка, ключи доступа, пароли, лицензии.

‹ › ⟳
🔒account.meridian-office.ru/login
Войти в MOffice ID
Один аккаунт для всех приложений, облака и лицензий
a.morozov@vektor.ru
🔑 Войти с ключом доступа
Ключ хранится на этом устройстве или в телефоне — пароль не нужен
или
🏢 Войти через SSO организации
Для vektor.ru вход идёт через корпоративный SSO
Войти по паролю и коду из приложения
Нет аккаунта? Создать
🔐
Вход с ключом доступа
account.meridian-office.ru · подтвердите отпечатком пальца или PIN-кодом устройства
Отмена
‹ › ⟳
🔒account.meridian-office.ru/org/vektor/security
АМ
MOffice IDКонсоль организацииООО «Вектор» · Business
▦ Обзор
👥 Пользователи97
▤ Группы8
🔑 Лицензии120
⚖ Политики
🔐 Безопасность
💻 Устройства214
📜 Аудит
🧾 Биллинг
⧉ Компоненты

Безопасность

Для доменов vektor.ru и vektor-group.ru · изменения применяются при следующем входе
🏢 Единый вход (SSO)
ПротоколSAML 2.0OpenID Connect
Поставщик (IdP)
adfs.vektor.ru · метаданные от 02.10.2026
Сертификат подписи
✓ проверен · действует до 14.08.2027
Сопоставление
email → e-mail · displayName → имя · groups → группы
Домены
vektor.ru ✓ · vektor-group.ru ✓ (запись TXT)
Новые сотрудники
создаются при первом входе · SCIM в 19:00
Проверить входМетаданные SP ↓
🛡 Двухфакторная проверка
Обязательна для всех
Код из приложения (6 цифр, 30 с)Ключи доступа и аппаратные ключиРезервные кодыSMS — отключено как ненадёжное
Настроили 94 из 97 · 3 в льготном периоде до 11.10
🔑 Ключи доступа (passkeys)
Вход без пароляПроверка: биометрия или PINТолько аппаратные ключи
Зарегистрировано 142 ключа у 81 сотрудника
🔒 Пароли
Хранение
Argon2id · 64 МБ · 3 прохода
Требования
от 12 символов, проверка по утечкам
Блокировка
10 попыток → 15 минут
🎫 Лицензии организацииBusiness
120 мест · занято 97 · 10 плавающих для подрядчиков
Ключи подписаны (Ed25519) · офлайн-активация разрешена
1 1 2 3 4 5 6 7
Легенда меток — вариант А, свой сервер MOffice ID:
  • 1— go-webauthn (порт) · MIT OR Apache-2.0 · ключи доступа WebAuthn; в карте v0 нет — взят из oss-overrides.tsv как замена webauthn-rs (MPL-2.0, класс 2)
  • 2— openidconnect + oauth2 · MIT / MIT OR Apache-2.0 · вход через OpenID Connect
  • 3— samael · MIT · SAML 2.0: метаданные, подпись, сопоставление атрибутов
  • 4— totp-rs · MIT · одноразовые коды (TOTP) для двухфакторной проверки
  • 5— argon2 (RustCrypto) · MIT OR Apache-2.0 · хранение паролей
  • 6— meridian-license (+ machine-uid, MIT) · собственный код владельца · места, подписанные ключи, офлайн-активация
  • 7— сервер MOffice ID · собственный код на axum (MIT): организации, роли, консоль

Вариант Б: Keycloak (Apache-2.0, класс 1) как готовый сервер SSO, OIDC/SAML и 2FA — тогда метки 1–5 и 7 заменяются одной «Keycloak», внешний вид не меняется: страницы входа оформлены темой MOffice. Zitadel (AGPL) не рассматривается. Лицензии (6) — свой код в обоих вариантах.

OS-13 Скрипты и SBOM

Слева — редактор MOffice Script в Sheets: TypeScript с подсветкой, автодополнение по API, консоль и ограничения песочницы. Справа — консоль администратора «Сторонние компоненты (SBOM)»: классы лицензий, статус соответствия и экспорт в CycloneDX.

SСкрипты — Платежи, контроль.msx— MOffice SheetsАМ
main.ts ●rates.tsribbon.jsonplugin.toml+
▶ Выполнить🐞 ОтладкаКонтекст: книга🛡 Песочница: память 64 МБ · время 5 с
1// Пересчёт сумм в рубли по курсу ЦБ / Convert sums to RUB
2import { sheets, ui, type Range } from "meridian";
3import { rates } from "./rates";   // плагин «Курсы ЦБ» (WASM)
4
5export async function convertToRub(range: Range = sheets.active.selection) {
6  const today = await rates.today(["USD", "EUR"]);
7  let n = 0;
8  for (const row of range.rows({ skipHeader: true })) {
9    const cur = row.cell("Валюта").value as string;
10    const sum = row.cell("Сумма").asNumber();
11    row.cell("Сумма, ₽").value = cur === "RUB" ? sum : sum * today[cur];
12    n++;
13  }
14  ui.
15  return n;
16}
ƒtoast(message: string, kind?)void
ƒalert(message: string)Promise
ƒconfirm(message: string)Promise<boolean>
ƒprogress(title: string)Progress
◇statusStatusBar
Всплывающее уведомление внизу окна. Не блокирует выполнение скрипта.
КонсольПроблемы 0Плагины⌫ Очистить
[11:52:03] TypeScript → JavaScript: main.ts, rates.ts · 14 мс
[11:52:03] › convertToRub(sheets.active.range("A1:F33"))
[11:52:04] плагин «Курсы ЦБ» (WASM): USD 92,48 · EUR 100,12
[11:52:04] ← 32 · 0,18 с · доступ только к текущей книге
› 
TypeScriptСтр. 14, стлб. 6● Без ошибокСеть: только плагин · Файлы: нет
‹ › ⟳
🔒account.meridian-office.ru/org/vektor/components
MOffice IDКонсоль организацииООО «Вектор» · Business

Сторонние компоненты (SBOM)

MOffice 1.2.0 · сборка 2026.10.14-1412 · Windows, macOS, Linux · 486 компонентов
✓
Соответствует политике лицензий — 0 нарушений
Проверка при сборке 14.10.2026, 03:10 · лицензии ✓ · запреты ✓ · уязвимости ✓ · источники ✓
Класс
Лицензии
Комп.
Обязательства
Статус
0 · без обязательств
CC0, Unlicense, 0BSD, PD
9
нет
✓
1 · атрибуция
MIT, Apache-2.0, BSD, ISC…
473
строка в NOTICE
✓ выполнено
2 · решение владельца
LGPL-3.0
4
дин. компоновка
✓ одобрено
3 · запрещено
GPL, AGPL, SSPL, BUSL…
0
—
✓ не найдено
собственный код, модули
EULA MOffice
12
—
—
УЯЗВИМОСТИ
0 критических
1 предупреждение: устаревшая версия без известных атак
ИСТОЧНИКИ
только официальный реестр
0 зависимостей из git
ДУБЛИ ВЕРСИЙ
6
предупреждение, не нарушение
⤓ Экспорт CycloneDXСкачать NOTICEИстория проверокПолитика лицензий
Полный список компонентов с текстами лицензий — в «О программе → Лицензии открытого ПО» каждого приложения.
1 2 3 4 5
Легенда меток:
  • 1— QuickJS-ng + rquickjs · MIT · выполнение скриптов; лимиты песочницы — память 64 МБ, время 5 с, доступ только к текущей книге
  • 2— oxc · MIT · разбор и преобразование TypeScript → JavaScript перед запуском
  • 3— tree-sitter · MIT · подсветка синтаксиса и структура кода для автодополнения
  • 4— wasmtime · Apache-2.0 WITH LLVM-exception · песочница плагинов WebAssembly («Курсы ЦБ» ходит в сеть только к разрешённому адресу)
  • 5— cargo-deny · MIT OR Apache-2.0 · проверка лицензий, запретов, уязвимостей и источников при каждой сборке по deny.toml; инструмент сборки, в поставку не входит и в карте v0 не указан

Числа SBOM совпадают с OS-02: 9 + 473 + 4 = 486. Класс 2 — четыре модуля Qt 6 под LGPL-3.0; если владелец выберет коммерческую лицензию Qt, строка обнулится. Названий компонентов на этой странице нет намеренно — они только в окне «Лицензии открытого ПО».