Очаквайте скоро · Отворен код · Modified MIT
Таблицата за хора и агенти.
Spreadsheet engine с отворен код, преизграден в Rust. Динамични масиви, обобщени таблици, XLOOKUP — с Python и Node.js SDK, създадени за AI.
SDK пакетите ще бъдат публикувани при стартирането. Следи за новини
Жива електронна таблица, работеща в браузъра ти чрез WebAssembly — не е снимка на екрана.
Случаи на употреба
Създаден за разработчици и агенти
Вгради в приложението си
Добави пълноценна електронна таблица в произволно уеб приложение с един React компонент. Динамични масиви, обобщени таблици и 582 функции веднага.
Пусни на сървър
Обработвай XLSX файлове, изчислявай формули и генерирай отчети на сървъра с Node.js или Python SDK. Браузър не е нужен.
Задвижи AI агенти
Дай на LLM-овете структуриран достъп до операции с електронни таблици. Типизираният API на SDK е проектиран за tool-use — без screen scraping или prompt engineering.
Защо Mog
Пълноценен spreadsheet engine, не просто UI компонент.
Създаден за хора и агенти
Структуриран API, който LLM-овете могат да извикват директно. Python и Node.js SDK, проектирани за AI agent workflow-и — без screen scraping или хакове с макроси.
- Python SDK чрез PyO3 за AI agent workflow-и
- Node.js SDK чрез N-API с нативна производителност
- Headless сървър за batch обработка
- API, готов за tool-use (структурирано вход/изход)
Пълна съвместимост с Excel, преизграден в Rust
582 функции, динамични масиви, обобщени таблици, XLOOKUP, условно форматиране и структурирани референции. Не подмножество — пълноценното нещо.
- 582 функции, съвместими с Excel
- Динамични масиви, XLOOKUP, LAMBDA
- Обобщени таблици, условно форматиране, валидация на данни
- Нативно четене и запис на XLSX (пълна OOXML спецификация)
В реално време, offline-first, без конфликти
Колаборация базирана на CRDT, задвижена от Yrs. Работи офлайн, синхронизира при свързване, никога не губи данни. Без сложността на operational transform.
- CRDT колаборация чрез Yrs (Rust)
- Модел на идентичност на клетките за формули без конфликти
- Offline-first с автоматична синхронизация
- Canvas рендериране при 60fps чрез бинарен wire протокол
Архитектура
Един Rust engine, всяка платформа
Написан веднъж в Rust, компилиран за три таргета. Един и същи код в браузъра, на сървър и в Python notebook.
Браузър
WebAssembly
Работи в Web Worker. Нула заявки до сървъра при изчисления.
Node.js
N-API
Нативни бинарни файлове за macOS, Linux и Windows. Без WASM overhead.
Python
PyO3
Нативни Python bindings. Използвай spreadsheet формули заедно с pandas.
Rust compute core
Формули, граф на зависимости, обобщени таблици, условно форматиране и XLSX parser — всичко в Rust. Един анотиран API генерира bindings за всеки таргет.
compute-core
parser, functions, graph, formats,
schema, stats, charts, cf, pivot,
table, fill, solver, collab, wire
Бинарен wire протокол
Данните за viewport като компактни бинарни буфери, не 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 engine, всеки 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 продукти и data pipeline-и. Бъди сред първите, които строят с Mog.
AI агенти
Структуриран spreadsheet API за LLM tool-use. Без screen scraping.
SaaS продукти
Пълна електронна таблица в един React компонент. С динамични масиви и всичко останало.
Data pipeline-и
Обработвай XLSX файлове на сървъра с Python или Node.js. Excel не е нужен.
Често задавани въпроси
Какво е Mog?
Mog е spreadsheet engine с отворен код, преизграден от нулата в Rust. Предоставя пълноценен spreadsheet runtime — изчисляване на формули, проследяване на зависимости, XLSX парсване, canvas рендериране и колаборация в реално време — който можеш да вградиш в уеб приложения, да пуснеш на сървъри или да използваш от Python и Node.js.
Защо Rust?
Rust ни дава нативна производителност, безопасна памет и възможност да компилираме до WebAssembly (браузър), N-API (Node.js) и PyO3 (Python) от една кодова база. Един engine, всяка платформа, нула паузи от garbage collection.
Mog безплатен ли е?
Да. Mog е с отворен код под Modified MIT лиценз. Използвай го в лични проекти, търговски продукти или SaaS платформи.
Как Mog се сравнява с останалите spreadsheet библиотеки?
Повечето spreadsheet библиотеки се фокусират или върху UI рендериране, или върху парсване на файлове. Mog предоставя пълния стек: Rust compute engine с 582 функции, canvas рендериране, CRDT колаборация и нативни SDK-та. Виж страницата за сравнение за подробна матрица на функционалностите.
Готов ли е Mog за production?
Mog е в активна разработка. Основният engine (формули, рендериране, колаборация, XLSX) е функционален и се тества. Работим към публично пускане с отворен код — следи ни за новини при стартирането.
Имаш още въпроси? Прочети повече за Mog
Искаш ли да строиш с Mog?
Mog ще бъде с отворен код под лиценз Modified MIT.
Get notified when Mog launches