მალე · ღია კოდი · Modified MIT
ცხრილები ადამიანებისთვის და AI აგენტებისთვის.
Rust-ზე გადაწერილი ღია კოდის ცხრილების ძრავა. დინამიური მასივები, pivot tables, XLOOKUP — Python და Node.js SDK-ებით, AI-სთვის განკუთვნილი.
SDK პაკეტები გამოქვეყნდება გაშვებისთანავე. გამოიწერე სიახლეები
ცოცხალი ცხრილი, რომელიც პირდაპირ ბრაუზერში მუშაობს WebAssembly-ის მეშვეობით — სკრინშოტი კი არა.
გამოყენების შემთხვევები
შექმნილია დეველოპერებისა და AI აგენტებისთვის
ჩასვი შენს აპლიკაციაში
სრული ცხრილი ნებისმიერ ვებ-აპლიკაციაში ერთი React კომპონენტით. დინამიური მასივები, pivot tables და 582 ფუნქცია — ყველაფერი მზადაა.
გაუშვი სერვერზე
XLSX ფაილების დამუშავება, ფორმულების გამოთვლა და ანგარიშების გენერირება სერვერზე Node.js ან Python SDK-ით. ბრაუზერი საჭირო არ არის.
AI აგენტების გაძლიერება
მიეცი LLM-ებს სტრუქტურირებული წვდომა ცხრილების ოპერაციებზე. SDK-ის ტიპიზირებული API შექმნილია tool-use-ისთვის — screen scraping-ი ან prompt engineering-ი საჭირო არ არის.
რატომ Mog
სრულფასოვანი ცხრილების ძრავა, არა მხოლოდ UI კომპონენტი.
შექმნილია ადამიანებისა და AI აგენტებისთვის
სტრუქტურირებული API, რომელსაც LLM-ები პირდაპირ იძახებენ. Python და Node.js SDK-ები, განკუთვნილი AI აგენტების workflow-ებისთვის — screen scraping-ი ან macro-ების ხრიკები საჭირო არ არის.
- Python SDK PyO3-ის მეშვეობით AI აგენტების workflow-ებისთვის
- Node.js SDK N-API-ის მეშვეობით ნეიტიური სიჩქარით
- Headless სერვერი batch დამუშავებისთვის
- Tool-use-ისთვის მზა API (სტრუქტურირებული შეყვანა/გამოყვანა)
Excel-თან სრული თავსებადობა, Rust-ზე გადაწერილი
582 ფუნქცია, დინამიური მასივები, pivot tables, XLOOKUP, პირობითი ფორმატირება და სტრუქტურირებული მითითებები. არა ქვეჯგუფი — სრული ფუნქციონალი.
- 582 Excel-თავსებადი ფუნქცია
- დინამიური მასივები, XLOOKUP, LAMBDA
- Pivot tables, პირობითი ფორმატირება, მონაცემთა ვალიდაცია
- ნეიტიური XLSX წაკითხვა და ჩაწერა (სრული OOXML spec)
რეალურ დროში, ოფლაინ-ფირსტ, კონფლიქტების გარეშე
CRDT-ზე დაფუძნებული კოლაბორაცია Yrs-ის მეშვეობით. მუშაობს ოფლაინშიც, სინქრონიზდება კავშირისთანავე, მონაცემებს არ კარგავს. operational transform-ის სირთულე არ არის.
- CRDT კოლაბორაცია Yrs-ის (Rust) მეშვეობით
- უჯრის იდენტობის მოდელი კონფლიქტების გარეშე ფორმულებისთვის
- Offline-first ავტომატური სინქრონიზაციით
- Canvas რენდერინგი 60fps-ზე ორობითი wire protocol-ის მეშვეობით
არქიტექტურა
ერთი Rust ძრავა — ყველა პლატფორმა
ერთხელ დაწერილი Rust-ში, სამ სამიზნეზე კომპილირებული. ერთი და იგივე კოდი ბრაუზერში, სერვერზე და Python notebook-ში.
ბრაუზერი
WebAssembly
მუშაობს Web Worker-ში. გამოთვლებისთვის სერვერზე მიმართვა საჭირო არ არის.
Node.js
N-API
ნეიტიური ბინარები macOS, Linux და Windows-ისთვის. WASM-ის ზედმეტი ხარჯი არ არის.
Python
PyO3
ნეიტიური Python bindings. გამოიყენე ცხრილების ფორმულები pandas-თან ერთად.
Rust-ის გამოთვლის ბირთვი
ფორმულები, დამოკიდებულებათა გრაფი, pivot tables, პირობითი ფორმატირება და XLSX parser — ყველაფერი Rust-ში. ერთი ანოტირებული API გენერირებს bindings-ებს ყველა სამიზნისთვის.
compute-core
parser, functions, graph, formats,
schema, stats, charts, cf, pivot,
table, fill, solver, collab, wire
ორობითი wire protocol
Viewport მონაცემები კომპაქტური ორობითი ბუფერების სახით, JSON-ის მაგივრად. ნულოვანი allocation თითო უჯრაზე. 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 პროდუქტებამდე და მონაცემთა pipeline-ებამდე. იყავი პირველთა შორის, ვინც Mog-ით ააშენებს.
AI აგენტები
სტრუქტურირებული ცხრილების API LLM-ების tool-use-ისთვის. Screen scraping-ი საჭირო არ არის.
SaaS პროდუქტები
სრული ცხრილი ერთ React კომპონენტში. დინამიური მასივებით და ყველაფრით.
მონაცემთა pipeline-ები
XLSX ფაილების დამუშავება სერვერზე Python-ით ან Node.js-ით. Excel საჭირო არ არის.
ხშირად დასმული კითხვები
რა არის Mog?
Mog არის ღია კოდის ცხრილების ძრავა, სრულად Rust-ზე გადაწერილი. ის უზრუნველყოფს სრულ ცხრილების runtime-ს — ფორმულების გამოთვლას, დამოკიდებულებათა თვალყურს, XLSX parsing-ს, canvas რენდერინგს და რეალურ დროში კოლაბორაციას — შეგიძლია ჩასვა ვებ-აპლიკაციებში, გაუშვა სერვერებზე ან გამოიყენო Python-ითა და Node.js-ით.
რატომ Rust?
Rust გვაძლევს ნეიტიურ სიჩქარეს, მეხსიერების უსაფრთხოებას და ერთი კოდის ბაზიდან WebAssembly-ზე (ბრაუზერი), N-API-ზე (Node.js) და PyO3-ზე (Python) კომპილაციის შესაძლებლობას. ერთი ძრავა, ყველა პლატფორმა, garbage collection-ის პაუზები ნულია.
Mog უფასოა?
დიახ. Mog ღია კოდია Modified MIT ლიცენზიით. გამოიყენე პირადი პროექტებში, კომერციულ პროდუქტებში ან SaaS პლატფორმებში.
როგორ შედარდება Mog არსებულ ცხრილების ბიბლიოთეკებს?
ბიბლიოთეკების უმეტესობა ფოკუსირდება ან UI რენდერინგზე, ან ფაილების parsing-ზე. Mog იძლევა სრულ სტეკს: Rust-ის გამოთვლის ძრავა 582 ფუნქციით, canvas რენდერინგი, CRDT კოლაბორაცია და ნეიტიური SDK-ები. დეტალური შედარებისთვის იხილე შედარების გვერდი.
Mog production-ისთვის მზადაა?
Mog აქტიურ განვითარებაშია. ძირითადი ძრავა (ფორმულები, რენდერინგი, კოლაბორაცია, XLSX) ფუნქციონირებს და ტესტირების პროცესშია. ვმუშაობთ ღია კოდად გამოქვეყნებისთვის — გამოიწერე გაშვების სიახლეები.
კიდევ გაქვს კითხვები? წაიკითხე მეტი Mog-ის შესახებ
გინდა Mog-ით ააშენო?
Mog იქნება ღია კოდი Modified MIT ლიცენზიით.
Get notified when Mog launches