Хутка · Адкрыты зыходны код · Modified MIT
Табліцы для людзей і агентаў.
Рухавік табліц з адкрытым кодам, перапісаны на Rust. Дынамічныя масівы, зводныя табліцы, XLOOKUP — з Python і Node.js SDK, створанымі для AI.
Пакеты SDK будуць апублікаваны пры запуску. Сачыць за навінамі
Жывая табліца ў вашым браўзеры праз WebAssembly — не скрыншот.
Выпадкі выкарыстання
Створана для распрацоўшчыкаў і агентаў
Убудаваць у праграму
Дадайце паўнавартасную табліцу ў любы вебдадатак адным React-кампанентам. Дынамічныя масівы, зводныя табліцы і 582 функцыі з каробкі.
Запусціць на серверы
Апрацоўвайце XLSX-файлы, вылічвайце формулы і генеруйце справаздачы на серверы праз Node.js або Python SDK. Браўзер не патрэбны.
Харчаваць AI-агентаў
Дайце LLM структураваны доступ да аперацый з табліцамі. Тыпізаваны API SDK створаны для выкарыстання як інструмент — без скрэйпінгу і prompt engineering.
Чаму Mog
Паўнавартасны рухавік табліц, не проста UI-кампанент.
Для людзей і агентаў
Структураваны API, які LLM могуць выклікаць напрамую. Python і Node.js SDK, распрацаваныя для AI-агентных воркфлоў — без скрэйпінгу экрана і хакаў з макрасамі.
- Python SDK праз PyO3 для AI-агентных воркфлоў
- Node.js SDK праз N-API з натыўнай прадукцыйнасцю
- Headless-сервер для пакетнай апрацоўкі
- API, гатовы для выкарыстання як інструмент (структураваны ўваход/выхад)
Поўная сумяшчальнасць з Excel, перапісаная на Rust
582 функцыі, дынамічныя масівы, зводныя табліцы, XLOOKUP, умоўнае фарматаванне і структураваныя спасылкі. Не падмноства — сапраўднае рэчыва.
- 582 функцыі, сумяшчальныя з Excel
- Дынамічныя масівы, XLOOKUP, LAMBDA
- Зводныя табліцы, умоўнае фарматаванне, праверка дадзеных
- Натыўны парсінг і запіс XLSX (поўная спецыфікацыя OOXML)
Рэальны час, 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
Бінарны пратакол перадачы дадзеных
Дадзеныя 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-рухавік — усе 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 — рухавік табліц з адкрытым кодам, перапісаны з нуля на Rust. Ён забяспечвае паўнавартасны рэнтайм табліц — вылічэнне формул, адсочванне залежнасцей, парсінг XLSX, canvas-рэндэрынг і рэальначасовую калабарацыю — і можа быць убудаваны ў вебдадаткі, запушчаны на серверах або выкарыстаны з Python і Node.js.
Чаму Rust?
Rust дае нам натыўную прадукцыйнасць, бяспеку памяці і магчымасць кампіляваць у WebAssembly (браўзер), N-API (Node.js) і PyO3 (Python) з адной кодавай базы. Адзін рухавік, усе платформы, нуль паўз зборшчыка смецця.
Mog бясплатны?
Так. Mog — адкрыты пад ліцэнзіяй Modified MIT. Выкарыстоўвайце яго ў асабістых праектах, камерцыйных прадуктах або SaaS-платформах.
Як Mog параўноўваецца з існуючымі бібліятэкамі табліц?
Большасць бібліятэк табліц сканцэнтраваны або на UI-рэндэрынгу, або на парсінгу файлаў. Mog прадастаўляе поўны стэк: Rust-рухавік з 582 функцыямі, canvas-рэндэрынг, CRDT-калабарацыю і натыўныя SDK. Глядзіце старонку параўнання для падрабязнай матрыцы функцый.
Ці гатовы Mog да вытворчага выкарыстання?
Mog знаходзіцца ў актыўнай распрацоўцы. Асноўны рухавік (формулы, рэндэрынг, калабарацыя, XLSX) функцыянальны і праходзіць тэставанне. Мы працуем над адкрытым рэлізам — сачыце за навінамі запуску.
Ёсць яшчэ пытанні? Даведацца больш пра Mog
Хочаце будаваць з Mog?
Mog будзе адкрытым пад ліцэнзіяй Modified MIT.
Get notified when Mog launches