본문으로 건너뛰기

로컬 LLM을 연결하는 오픈소스 AI 오피스

GenOffice fork가 클라우드 계정 없이 로컬 LLM과 OpenRouter를 연결하고 Office 파일을 원본 바이트 중심으로 편집합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

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 자체는 미리 빌드된 설치 파일을 제공하지 않아 소스에서 직접 빌드해야 합니다.

섹션별 상세

01
GenOffice는 Microsoft Office의 클라우드 대안이 아니라 AI 편집을 기본 작업 흐름으로 배치한 무료 오픈소스 데스크톱 오피스 제품입니다. Electron 기반의 하나의 엔진 계층 위에서 Docs, Sheets, Slides, PDF, Markdown 편집기를 제공하며 macOS·Windows·Linux에서 실행됩니다. .docx·.xlsx·.pptx를 열고 저장하고 PDF와 Markdown까지 다루기 때문에 문서 편집과 AI 작업을 한 애플리케이션 묶음 안에서 처리할 수 있다는 점이 핵심입니다.
02
이 저장소의 fork는 GenOffice의 클라우드 계정 요구를 제거하고 OpenAI-compatible endpoint를 직접 연결하도록 기본 provider를 바꿨습니다. 새 설치에서는 base URL·model·key가 모두 비어 있는 Local / Custom provider가 선택되며, Ollama·LM Studio·vLLM·llama.cpp server·text-generation-webui 같은 로컬 서버나 OpenRouter 같은 호스팅 API를 설정 화면에서 지정한 뒤 연결을 시험합니다. 문서의 열기·편집·저장은 완전히 로컬에서 처리되고, AI 요청만 사용자가 선택한 로컬 또는 클라우드 엔드포인트로 전송됩니다.
text
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-byte

DOCX 원본을 해시로 보관한 뒤 블록 트리로 변환하고, 수정된 블록만 OOXML 조각으로 만들어 원본 ZIP에 다시 결합합니다.

03
GenOffice Docs는 원본 DOCX를 해시로 보관하고 word/document.xml의 최상위 요소를 docxIndex와 원본 XML 조각에 연결한 블록 트리로 변환합니다. 사용자가 직접 편집하거나 AI가 블록을 수정하면 dirty 상태인 단락만 기존 스타일을 참조하는 OOXML 조각으로 재생성하고, 수정하지 않은 요소와 ZIP 항목은 바이트 단위로 그대로 복사해 문서에 다시 결합합니다. 이 구조는 Word에서 열었을 때 레이아웃이 깨지는 문제를 줄이고 tracked changes·comments·styles·equations·ink와 원래 페이지 구성을 보존하려는 설계입니다.
bash
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 기반 개발 서버 실행을 차례로 수행합니다.

bash
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 + rpm

macOS용 DMG, Windows용 NSIS 설치 파일, Linux용 AppImage·deb·rpm 패키지를 생성합니다.

text
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 키를 지정하는 예시입니다.

04
나머지 편집기는 형식별 엔진을 사용해 파일 호환성과 AI 조작을 함께 처리합니다. Sheets는 Univer UI와 Rust 기반 .xlsx sidecar, 자체 차트·pivot table·slicer를 사용하고, Slides는 masters·layouts·smart guides·비파괴 crop을 지원하며, PDF는 pdf.js·pdf-lib·PDFium wasm을 조합해 원래 폰트를 유지한 텍스트와 이미지 편집을 수행합니다. 모든 앱의 AI 패널은 Docs에서 블록 단위 snapshot과 diff를 남기고 다른 앱에서는 workbook·slide·PDF 상태를 읽는 tool-calling agent로 작동하므로, 단순 채팅보다 파일 구조에 직접 연결된 편집이 가능합니다.

용어 해설

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 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 18.수집 2026. 08. 18.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.