TL;DR
GenOffice는 macOS·Windows·Linux에서 .docx·.xlsx·.pptx·PDF·Markdown을 편집하는 Apache-2.0 기반 오픈소스 AI 오피스 제품입니다. 이 fork는 Genspark 클라우드 계정 대신 Ollama, LM Studio, vLLM, llama.cpp server, OpenRouter 등 OpenAI-compatible endpoint를 사용하도록 provider 기본값을 바꿔 로컬 서버를 연결할 수 있게 했습니다. DOCX는 원본 XML과 파일 바이트를 보관하고 수정된 블록만 패치하며, Sheets·Slides·PDF도 형식별 엔진으로 좁은 범위의 편집을 적용합니다. AI 패널은 Docs에서 snapshot과 diff를 남기고 다른 편집기에서는 문서 상태에 접근하는 tool-calling agent로 작동하지만, fork 자체는 미리 빌드된 설치 파일을 제공하지 않아 소스에서 직접 빌드해야 합니다.
섹션별 상세
open docx ─► archive original by hash (never touched) ─► docx-engine parses word/document.xml top-level elements (w:p / w:tbl / …) ─► Block tree, each block anchored by docxIndex + original XML slice ─► Tiptap streaming editor (manual + AI editing, dirty tracking) save ─► dirty blocks → OOXML fragments (referencing existing styles only) ─► splice into original document.xml (untouched blocks keep original bytes) ─► repack zip; all other entries copied byte-for-byteDOCX 원본을 해시로 보관한 뒤 블록 트리로 변환하고, 수정된 블록만 OOXML 조각으로 만들어 원본 ZIP에 다시 결합합니다.
npm install
npm run fixtures # generate test .docx fixtures
npm test # engine + app unit tests (docs/sheets/slides need no display)
npm run typecheck # tsc --noEmit across every workspace
npm run dev # all five editors + shell against Vite dev servers의존성을 설치하고 테스트용 문서 fixture 생성, 전체 테스트, TypeScript 검사, Vite 기반 개발 서버 실행을 차례로 수행합니다.
npm run dist:mac # package macOS dmg (regenerates third-party notices)
npm run dist:win # package Windows nsis installer
npm run dist:linux # package Linux AppImage + deb + rpmmacOS용 DMG, Windows용 NSIS 설치 파일, Linux용 AppImage·deb·rpm 패키지를 생성합니다.
Server Base URL Model API key Ollama http://localhost:11434/v1 e.g. llama3.1 leave blank LM Studio http://localhost:1234/v1 the model loaded in-app leave blank OpenRouter https://openrouter.ai/api/v1 e.g. openai/gpt-4o-mini your OpenRouter key설정 화면에서 Ollama, LM Studio, OpenRouter의 서버 주소와 모델 및 API 키를 지정하는 예시입니다.
용어 해설
- OpenAI 호환 엔드포인트(OpenAI-compatible endpoint)
- — OpenAI의 chat/completions 통신 규격을 따르는 서버 주소입니다. GenOffice는 이 규격에 맞는 로컬 서버나 호스팅 API에 요청을 보내므로 특정 클라우드 계정에 종속되지 않고 모델과 API 키를 직접 지정할 수 있습니다.
- OOXML
- — Microsoft Office 문서 형식을 구성하는 XML 기반 표준입니다. GenOffice는 기존 문서의 XML 조각을 읽고 수정된 부분만 다시 생성해 .docx, .xlsx, .pptx 파일의 나머지 데이터를 보존합니다.
- 바이트 보존 편집(Byte-preserving editing)
- — 파일에서 실제로 수정한 부분만 다시 쓰고 나머지 바이트는 원본 그대로 유지하는 편집 방식입니다. GenOffice는 문서 레이아웃과 Microsoft Office 호환성을 유지하기 위해 원본 파일을 기준으로 좁은 범위의 패치를 적용합니다.
- 문서 인식 에이전트(Document-aware agent)
- — 문서 구조와 편집 상태를 파악한 뒤 블록 단위 작업을 수행하는 AI 에이전트입니다. GenOffice는 문서·스프레드시트·프레젠테이션·PDF의 상태를 에이전트 도구에 연결하고 스냅샷과 diff를 남깁니다.
- PDFium
- — PDF 페이지의 콘텐츠 스트림을 처리하는 엔진입니다. GenOffice는 PDFium wasm과 부분 삽입 폰트를 사용해 가림막 주석이 아니라 기존 텍스트와 이미지가 포함된 페이지 콘텐츠 자체를 다시 작성합니다.
기술
- GenOffice
- Electron
- Ollama
- LM Studio
- vLLM
- llama.cpp server
- text-generation-webui
- OpenRouter
- Univer
- Rust
- calamine
- IronCalc
- Konva
- PDFium wasm
- pdf.js
- pdf-lib
- Tiptap
- ProseMirror
- HarfBuzz
- Playwright
- Vite
활용 사례
- Ollama나 LM Studio를 연결한 오프라인 문서 작성과 AI 편집
- 기존 .docx 파일의 일부 단락만 수정하고 Word 호환 레이아웃 유지
- .xlsx 스프레드시트의 차트·pivot table·slicer 편집
- PDF의 기존 텍스트와 이미지 수정 및 페이지 작업
- Markdown 파일을 편집하고 OOXML 엔진으로 Word 문서로 변환
- OpenRouter 또는 자체 OpenAI-compatible 서버를 이용한 문서·슬라이드·PDF 작업 자동화
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.