Незабаром · Open Source · Modified MIT
Таблиці для людей і для агентів.
Open-source рушій для таблиць, переписаний на Rust. Динамічні масиви, зведені таблиці, XLOOKUP — із Python та Node.js SDK, створеними для AI.
SDK-пакети будуть опубліковані на момент запуску. Стежте за оновленнями
Таблиця працює у вашому браузері через WebAssembly — не скріншот.
Сценарії використання
Створено для розробників та агентів
Вбудуйте у свій застосунок
Додайте повноцінну таблицю до будь-якого вебзастосунку одним React-компонентом. Динамічні масиви, зведені таблиці та 582 функції з коробки.
Запустіть на сервері
Обробляйте XLSX-файли, обчислюйте формули та генеруйте звіти на сервері за допомогою Node.js або Python SDK. Браузер не потрібен.
Живіть AI-агентів
Надайте LLM структурований доступ до операцій із таблицями. Типізований API SDK створено для tool-use — без парсингу екрана та prompt engineering.
Чому Mog
Повноцінний рушій для таблиць, не просто UI-компонент.
Для людей і для агентів
Структурований API, який LLM можуть викликати напряму. Python та Node.js SDK, розроблені для воркфлоу AI-агентів — без парсингу екрана та макро-хаків.
- Python SDK через PyO3 для воркфлоу AI-агентів
- Node.js SDK через N-API з нативною продуктивністю
- Headless-сервер для пакетної обробки
- API, готовий для tool-use (структурований ввід/вивід)
Повна сумісність із Excel, переписана на Rust
582 функції, динамічні масиви, зведені таблиці, XLOOKUP, умовне форматування та структуровані посилання. Не підмножина — повноцінна реалізація.
- 582 функції, сумісні з Excel
- Динамічні масиви, XLOOKUP, LAMBDA
- Зведені таблиці, умовне форматування, валідація даних
- Нативне читання та запис XLSX (повна специфікація OOXML)
Real-time, offline-first, без конфліктів
Колаборація на основі CRDT через Yrs. Працює офлайн, синхронізується при підключенні, ніколи не втрачає дані. Без складнощів операційних перетворень.
- CRDT-колаборація через Yrs (Rust)
- Модель ідентичності клітинок для формул без конфліктів
- Offline-first з автоматичною синхронізацією
- Canvas-рендеринг на 60fps через бінарний протокол
Архітектура
Один Rust-рушій — будь-яка платформа
Написано один раз на Rust, скомпільовано під три цілі. Той самий код — у браузері, на сервері та в Python-ноутбуці.
Браузер
WebAssembly
Працює у Web Worker. Жодних зайвих запитів до сервера під час обчислень.
Node.js
N-API
Нативні бінарники для macOS, Linux та Windows. Без накладних витрат WASM.
Python
PyO3
Нативні Python-прив'язки. Використовуйте формули таблиць поруч із pandas.
Обчислювальне ядро на Rust
Формули, граф залежностей, зведені таблиці, умовне форматування та парсер XLSX — усе на Rust. Один анотований API генерує прив'язки для кожної цілі.
compute-core
parser, functions, graph, formats,
schema, stats, charts, cf, pivot,
table, fill, solver, collab, wire
Бінарний протокол передачі даних
Дані вьюпорту як компактні бінарні буфери, а не JSON. Нуль алокацій на клітинку. 60fps на великих таблицях.
Viewport buffer
36B header + N × 32B cell records
+ string pool + format palette
Mutation patches
Spliced directly into the viewport
buffer — no deserialization step
SDK
Програмний доступ до всього
Один Rust-рушій — для кожного SDK. Однаковий API в Python і TypeScript.
Python
import mog
wb = mog.create_workbook()
ws = wb.active_sheet()
# Set values and formulas
ws.set_cell("A1", "Revenue")
ws.set_cell("A2", 150000)
ws.set_cell("A3", "=A2 * 1.15")
# Dynamic arrays just work
ws.set_cell("B1", '=FILTER(A1:A3, A1:A3>100000)')
# Convert to pandas DataFrame
wb.calculate()
df = ws.to_dataframe()
wb.save("forecast.xlsx")Node.js
import { createWorkbook } from "@mog-sdk/node";
const wb = await createWorkbook();
const ws = wb.getActiveSheet();
// Set values and formulas
await ws.setCell("A1", "Revenue");
await ws.setCell("A2", 150000);
await ws.setCell("A3", "=A2 * 1.15");
// Structured table references
await ws.tables.add({ range: "A1:A3", name: "Forecast" });
await ws.setCell("B1", "=Forecast[@Revenue]");
// Batch operations into a single undo step
await wb.batch(async () => {
await ws.setRange("C1:C3", [["Q2"], [170000], ["=C2*1.15"]]);
});Побудовано з Mog
Готово для вашого проєкту
Від AI-агентів до SaaS-продуктів і пайплайнів даних. Будьте серед перших, хто будує з Mog.
AI-агенти
Структурований API таблиць для інструментів LLM. Без парсингу екрана.
SaaS-продукти
Повноцінна таблиця в одному React-компоненті. З динамічними масивами та всім іншим.
Пайплайни даних
Обробляйте XLSX на сервері за допомогою Python або Node.js. Excel не потрібен.
Поширені запитання
Що таке Mog?
Mog — це open-source рушій для таблиць, переписаний із нуля на Rust. Він надає повноцінне середовище виконання таблиць — обчислення формул, відстеження залежностей, парсинг XLSX, canvas-рендеринг та real-time колаборацію — яке можна вбудувати у вебзастосунки, запускати на серверах або використовувати з Python і Node.js.
Чому Rust?
Rust забезпечує нативну продуктивність, безпеку пам'яті та можливість компілювати у WebAssembly (браузер), N-API (Node.js) і PyO3 (Python) з єдиної кодової бази. Один рушій — будь-яка платформа, жодних пауз на збирання сміття.
Mog безкоштовний?
Так. Mog є open source під ліцензією Modified MIT. Використовуйте у особистих проєктах, комерційних продуктах або SaaS-платформах.
Як Mog порівнюється з існуючими бібліотеками для таблиць?
Більшість бібліотек для таблиць зосереджені або на UI-рендерингу, або на парсингу файлів. Mog надає повний стек: Rust-рушій із 582 функціями, canvas-рендеринг, CRDT-колаборацію та нативні SDK. Детальну матрицю функцій дивіться на сторінці порівняння.
Mog готовий до продакшену?
Mog перебуває в активній розробці. Основне ядро (формули, рендеринг, колаборація, XLSX) є функціональним і проходить тестування. Ми рухаємося до open-source релізу — стежте за нами, щоб не пропустити запуск.
Є ще запитання? Дізнатися більше про Mog
Хочете будувати з Mog?
Mog буде open source під ліцензією Modified MIT.
Get notified when Mog launches