Iri Gutegurwa · Open Source · Modified MIT
Ikikapu cyabantu n'abagenti.
Injeniya y'ikikapu open source yakozwe muri Rust. Amatsinda akora neza, imbonerahamwe, XLOOKUP — hamwe na SDK za Python na Node.js zakozwe ku AI.
Ama SDK azatangazwa igihe bigotangira. Kurikira kugira ngo ubone amakuru
Ikikabu gikora ku baho mu gupanga kwawe binyuze kuri WebAssembly — si ifoto.
Aho Bikoreshwa
Yakozwe ku bagenzi ba code n'abagenti
Ishyire mu porogaramu yawe
Shyira ikikapu cyuzuye muri porogaramu iyo ari yo yose ya web biciye kuri komponente imwe ya React. Amatsinda akora neza, imbonerahamwe, n'imirimo 582 muri bo.
Koresheje kuri seriveri
Kora inyandiko za XLSX, suzuma formulas, no gukora raporo kuri seriveri biciye kuri Node.js cyangwa Python SDK. Ntukeneye gupanga.
Fasha abagenti ba AI
Ha LLMs inzira iteguye yo gukora ibikorwa by'ikikapu. API iteguye ya SDK yakozwe kuri tool-use — nta gusoma ibibonyeho cyangwa gutunga prompt.
Impamvu ya Mog
Injeniya y'ikikapu yuzuye, tari komponente y'UI gusa.
Yakozwe ku bantu no ku bagenti
API iteguye neza LLM ishobora guhamagara directly. SDK za Python na Node.js zakozwe ku nzira z'abagenti ba AI — nta gusoma ibibonyeho cyangwa amayeri make.
- Python SDK binyuze kuri PyO3 ku nzira z'abagenti ba AI
- Node.js SDK binyuze kuri N-API n'imikorere y'ibanze
- Seriveri itareba screen ku gukoraho ibintu byinshi
- API iteguye kuri tool-use (input/output iteguye)
Guhuza neza na Excel, yakozwe muri Rust
Imirimo 582, amatsinda akora neza, imbonerahamwe, XLOOKUP, imiterere y'ifitinesi, n'inkomoko ziteguye. Si igice — ni ikimwe nyacyo.
- Imirimo 582 ihuye na Excel
- Amatsinda akora neza, XLOOKUP, LAMBDA
- Imbonerahamwe, imiterere y'ifitinesi, kugenzura amakuru
- Gusoma no kwandika XLSX (spec yuzuye ya OOXML)
Igihe nyacyo, ikora nta interineti, nta makemwa
Gukorana gushingiye kuri CRDT bikozwe na Yrs. Bikora nta interineti, bihuza igihe bisubiye, ntibigwa makuru. Nta gutera ubunini bwa operational transform.
- Gukorana kwa CRDT binyuze kuri Yrs (Rust)
- Imiterere y'indangamuntu ya selile kuri formulas nta makemwa
- Ikora nta interineti ihuza iyisubiye
- Gushushanya kuri canvas kuri 60fps binyuze kuri protokoli binary
Imiterere
Injeniya imwe ya Rust, kuri buri platform
Yanditswe rimwe muri Rust, ikubakwa ku ntica eshatu. Code imwe mu gupanga, kuri seriveri, no mu ikaye ya Python.
Gupanga
WebAssembly
Ikora muri Web Worker. Nta gusubira kuri seriveri mu kubara.
Node.js
N-API
Binaries z'ibanze kuri macOS, Linux, na Windows. Nta WASM overhead.
Python
PyO3
Bindings z'ibanze za Python. Koresheje formulas z'ikikapu hamwe na pandas.
Inkomoko ya Rust yo kubara
Formulas, graph y'imitegekere, imbonerahamwe, imiterere y'ifitinesi, na parser ya XLSX — byose muri Rust. API imwe yashyizweho amateka ikora bindings kuri buri ntica.
compute-core
parser, functions, graph, formats,
schema, stats, charts, cf, pivot,
table, fill, solver, collab, wire
Protokoli y'ubufatanye binary
Amakuru y'imbonerahamwe nk'ibufori binary bihuye, nta JSON. Nta gushyiraho ibintu ku kaze kuri buri selile. 60fps kuri ibibupa binini.
Viewport buffer
36B header + N × 32B cell records
+ string pool + format palette
Mutation patches
Spliced directly into the viewport
buffer — no deserialization step
SDK
Inzira yuzuye yo gukora ibintu byose
Injeniya imwe ya Rust, buri SDK. API imwe muri Python na 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"]]);
});Yakozwe na Mog
Iteguye umushinga wawe
Kuva ku bagenti ba AI kugeza ku bicuruzwa bya SaaS no ku nzira z'amakuru. Banziriza gutunga Mog.
Abagenti ba AI
API y'ikikapu iteguye kuri LLM. Nta gusoma ibibonyeho.
Ibicuruzwa bya SaaS
Ikikapu cyuzuye mu komponente imwe ya React. Amatsinda akora neza n'ibindi byose.
Inzira z'amakuru
Kora XLSX kuri seriveri muri Python cyangwa Node.js. Ntukeneye Excel.
Ibibazo bikunze kubazwa
Mog ni iki?
Mog ni injeniya y'ikikapu open source yakozwe kuva ku ntangiriro muri Rust. Itanga runtime yuzuye y'ikikapu — gusuzuma formulas, gukurikirana imitegekere, gusoma XLSX, gushushanya kuri canvas, no gukorana igihe nyacyo — ushobora kuishyira mu porogaramu za web, kuyikoresha kuri seriveri, cyangwa muri Python na Node.js.
Ni iki gituma bakoresheje Rust?
Rust iduha imikorere y'ibanze, umutekano w'imbonerahamwe, n'ubushobozi bwo kubaka kuri WebAssembly (gupanga), N-API (Node.js), na PyO3 (Python) kuva kuri codebase imwe. Injeniya imwe, kuri buri platform, nta guhagarika kwa garbage collection.
Mog irabwa?
Oya. Mog ni open source munsi ya lisansi ya Modified MIT. Uyikoresheje mu bikorwa bya buri munsi, ibicuruzwa by'ubucuruzi, cyangwa ama platform ya SaaS.
Mog igereranywa ate n'izindi libraries z'ikikapu?
Ubusanzwe libraries z'ikikapu zikora ku gushushanya UI cyangwa gusoma inyandiko gusa. Mog itanga stack yuzuye: injeniya ya Rust yo kubara n'imirimo 582, gushushanya kuri canvas, gukorana kwa CRDT, na SDK z'ibanze. Reba paji yo kugeranya kugira ngo ubone imbonerahamwe y'ibintu byose.
Mog iteguye gukoreshwa mu bikorwa nyacyo?
Mog iracyakozwa. Injeniya y'inkomoko (formulas, gushushanya, gukorana, XLSX) ikora kandi irimo gugeragezwa. Turimo gukorana kugira ngo idutangire open source — durikire kugira ngo ubone amakuru yo gutangira.
Ufite ibibazo byinshi? Soma byinshi kuri Mog
Ushaka kubaka na Mog?
Mog izaba open source munsi ya lisansi ya Modified MIT.
Get notified when Mog launches