https://github.com/officecli/officedex
OfficeDex is the first Al-Native VibeOfficing platform for documents, slides, and spreadsheets
https://github.com/officecli/officedex
ai desktop-app document-generation docx golang notion office officedex pptx react typescript wails xlsx
Last synced: 2 days ago
JSON representation
OfficeDex is the first Al-Native VibeOfficing platform for documents, slides, and spreadsheets
- Host: GitHub
- URL: https://github.com/officecli/officedex
- Owner: officecli
- License: gpl-3.0
- Created: 2026-05-18T03:04:37.000Z (26 days ago)
- Default Branch: main
- Last Pushed: 2026-06-08T05:55:25.000Z (4 days ago)
- Last Synced: 2026-06-08T07:25:56.171Z (4 days ago)
- Topics: ai, desktop-app, document-generation, docx, golang, notion, office, officedex, pptx, react, typescript, wails, xlsx
- Language: Go
- Homepage: https://officecli.io
- Size: 57.1 MB
- Stars: 283
- Watchers: 12
- Forks: 42
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Notice: NOTICE
Awesome Lists containing this project
README

### The First AI-Native VibeOfficing Platform
**VibeCoding writes code. VibeOfficing writes documents. Powered by OfficeDex.**
---
## ๐ก VibeOfficing
Developers already **VibeCode** โ describe intent, AI writes the program.
**VibeOfficing** is the same paradigm for documents.
> Say what you need โ OfficeDex produces native `.docx` / `.pptx` / `.xlsx` directly.
- **Understands OOXML** formats, templates, and layout conventions โ the same way coding AI understands languages, frameworks, and design patterns
- **No intermediate HTML.** No copy-paste. No manual formatting.
- The output **is** the final file.

| Coding World | Office World | What AI Learns |
| ------------------------------------ | ---------------------------------------------------------------- | --------------------- |
| Languages (Python / Go / TS) | Formats (OOXML: .docx / .pptx / .xlsx) | **Syntax** |
| Frameworks (React / Django / Spring) | Templates (quarterly reports, pitch decks, competitive analysis) | **Structure** |
| Design patterns (MVC / Observer) | Layout habits (heading hierarchy, color schemes, chart styles) | **Style conventions** |
### Memory ยท Format ยท Agent
OfficeDex is not just "one prompt โ one file." It's a **document workspace with memory**.
- **Memory** โ Remembers your style and design language across sessions. Your 50th report inherits the same polish as your 1st.
- **Format** โ Handles OOXML natively. No HTML rendering, no export-and-pray.
- **Agent** โ Multiple AI agents collaborate: one plans structure, one writes content, one handles formatting.
> **OfficeDex remembers how your documents look โ not just what they say.** Digitize your style into OfficeDex โ never start from scratch again.

---
## โก OfficeDex in 30 Seconds
**Input**
> "Write a Q3 sales analysis report focused on the eastern region, include YoY and QoQ charts, target audience is the CFO."
**Output**
๐ `Q3-East-Sales.docx` (12 pages)
๐ 4 data charts + 3 trend analyses
โฑ Typical generation: 45โ90s
๐ One-click inline preview โ no need to open Word

โ From one sentence to a finished Word doc in under a minute.
---
## ๐ Table of Contents
- [โก 30-Second Overview](#-officedex-in-30-seconds)
- [๐ฏ What is OfficeDex](#-what-is-officedex)
- [๐ก VibeOfficing](#-vibeofficing)
- [๐ฅ Why OfficeDex](#-why-officedex)
- [โจ Core Capabilities](#-core-capabilities)
- [๐ Quick Start](#-quick-start)
- [๐ฆ Build & Release](#-build--release)
- [๐งฉ Architecture](#-architecture)
- [๐จ Design Language](#-design-language)
- [๐บ Roadmap](#-roadmap)
- [โ FAQ](#-faq)
- [๐ Documentation](#-documentation)
- [๐ค Feedback & Contributing](#-feedback--contributing)
---
## ๐ฏ What is OfficeDex
In one sentence: **Tell it what you want โ it generates Word / PPT / Excel for you.**
- ๐ **Natural language to documents** โ Type "write a Q3 sales analysis report" and get structure, sections, illustrations, and charts automatically
- ๐จ **Slides in one shot** โ Project kickoffs, product launches, industry briefings: built-in templates plus custom prompts
- ๐ **Spreadsheets & analysis** โ Competitive matrices, financial models, survey results โ Excel ready out of the box
- ๐ผ๏ธ **Image input supported** โ Paste screenshots or upload reference images; the AI understands visual context
- โ๏ธ **Run locally or hosted** โ Bring your own LLM (OpenAI / Claude / self-hosted) or use the OfficeCLI hosted runtime

---
## ๐ฅ Why OfficeDex
| Dimension | Web AI assistants | CLI tools | **OfficeDex** |
| ----------------------- | :----------------: | :------------: | :--------------------------------------------: |
| ๐ฅ Native desktop feel | In-browser | Terminal | โ
Wails native window |
| ๐ Local-first files | Manual download | โ
Direct save | โ
Direct save + one-click open |
| ๐ Inline preview | Open Office needed | None | โ
DOCX/PPTX/XLSX rendered inline |
| ๐ Custom LLM | Vendor-locked | โ
Any | โ
Any + GUI config |
| ๐จ UI & interaction | Generic | Plain text | โ
Notion design system |
| ๐ Data sovereignty | Cloud-first | โ
Local | โ
Local (hosted optional) |
| ๐ฌ Mid-task interaction | Single-turn chat | None | โ
AI asks back in real time, streaming status |
> In a phrase: **Stop formatting. Start VibeOfficing.**
---
## โจ Core Capabilities
### 1. Conversational generation โ write docs like chatting
- Built-in scenarios (quarterly reports / kickoff slides / competitive analysis)
- Free-form prompts: control length, tone, target audience
- Continuous context: keep asking โ "now add a page on risk assessment"
### 2. Live task stream โ watch every step
- Streaming events โ see what the AI is thinking and doing
- Mid-flight interaction: when the AI is unsure, it asks you to decide
- Cancel any time, restart any time
### 3. Inline preview โ no need to open Office

Word document
Spreadsheet
Powered by `docx-preview` / `pdfjs-dist` / `xlsx` for inline rendering. DOCX / PPTX / XLSX / PDF all preview-able โ **no Office install required**.
### 4. Configurable from Settings โ no CLI required

- Custom LLM: OpenAI / Anthropic / Azure / self-hosted vLLM
- Custom OfficeCLI binary path (for developers)
- One-click runtime check & upgrade; works offline with a local binary
---
## ๐ Quick Start
### Users: download the installer
| Platform | Installer | Notes |
| -------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------- |
| ๐ macOS (Apple Silicon / Intel) | `OfficeDex-x.y.z-arm64.dmg` / `-x64.dmg` | Double-click `.dmg` โ drag to Applications |
| ๐ช Windows 10/11 | `OfficeDex-Setup-x.y.z.exe` | Double-click to install. First launch auto-downloads the OfficeCLI runtime. |
Latest Release: **[github.com/officecli/officedex/releases/latest](https://github.com/officecli/officedex/releases/latest)**
> [!IMPORTANT]
>
> ### ๐ macOS users โ "OfficeDex.app" cannot be opened?
>
> Because the app is not yet Apple-notarized, Gatekeeper will block the first launch with a **"Apple could not verify..."** dialog.
>
> **Fix**: run the following command once in Terminal to strip the quarantine attribute, then you can double-click to open as usual:
>
> ```bash
> xattr -dr com.apple.quarantine /Applications/OfficeDex.app
> ```
>
> If the app lives elsewhere (e.g. `~/Downloads/OfficeDex.app`), substitute the actual path. This is a one-time operation and won't recur.
### Developers: run from source
```bash
# 1. Clone & install
git clone
cd officedex
npm install
# 2. Start dev mode (auto-prefetch OfficeCLI binary)
npm run dev
# 3. Type-check / unit tests / E2E
npm run lint
npx vitest run
npm run test:e2e
```
In dev mode, OfficeDex resolves the CLI in this order:
1. `OFFICECLI_DESKTOP_BINARY` env var
2. `officecli` on your `PATH`
3. Auto-download from GitHub Releases (default source: `officecli/officecli`)
---
## ๐ฆ Build & Release
```bash
npm run dist:mac # macOS (auto-codesigns bundled officecli)
npm run dist:win # Windows
```
Build artifacts land in `build/bin/`. CI (`.github/workflows/release.yml`) produces `.dmg / .zip / .exe` and publishes a GitHub Release on every `v*` tag.
---
## ๐งฉ Architecture
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ OfficeDex (this repo) โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ React 19 + Antd โ โโ โ Wails Go runtime โ โ
โ โ Notion-styled โ โ (main.go/app.go) โ โ
โ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโฌโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ JSON-RPC stdio
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ officecli agent-bridgeโ
โ (Go binary, sep. repo)โ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
```
- **Frontend**: React 19 + Ant Design 6 + custom Notion design tokens
- **Desktop shell**: Wails v2 (Go backend + system WebView frontend) โ compact bundle size (build output < 30MB)
- **Generation engine**: decoupled `officecli` subprocess, communicating via JSON-RPC
- **Preview**: `docx-preview` / `pdfjs-dist` / `xlsx` inline rendering โ no Office install required
---
## ๐จ Design Language
OfficeDex fully adopts the Notion design system:
- **Primary color** Notion Purple `#5645d4`
- **Typography** DM Serif Display (headings) + Plus Jakarta Sans (body)
- **Shape** 8px buttons / 12px cards / 9999px pills
- **Vibe** Warm neutrals, deep navy hero bands, pastel feature cards
Full spec: [`DESIGN.md`](DESIGN.md).
---
## ๐ OfficeCLI Runtime Management
On first launch, OfficeDex pulls the matching `officecli` binary from GitHub Releases:
- Default source: `officecli/officecli` (override via `OFFICECLI_RELEASE_REPO`)
- Cache directory: `~/Library/Application Support/OfficeDex/runtime/` (macOS)
- Asset naming: `officecli-{darwin|win32|linux}-{arm64|x64}{.exe}`
From **Settings โ OfficeCLI Runtime** you can: check for updates / switch versions / specify a local binary / revert to auto-downloaded.
---
## ๐บ Roadmap
What's on the way (in priority order):
| Status | Capability | Notes |
| :------------: | ---------------------------------- | ----------------------------------- |
| โ
Shipped | Document / PPT / Excel generation | Three core formats |
| โ
Shipped | Inline preview panel | DOCX / PPTX / XLSX / PDF |
| โ
Shipped | Image input (visual understanding) | Paste or upload reference images |
| โ
Shipped | Notion-style UI | Customizable design tokens |
| ๐ง In progress | Multilingual UI (EN / ๆฅๆฌ่ช) | Translation in preparation |
| ๐ง In progress | Template marketplace | Community-shared prompts and styles |
| ๐ Planned | Collaborative mode | Multi-user editing on the same task |
| ๐ Planned | Plugin system | Third-party generators |
| ๐ Planned | Official Linux installers | AppImage / deb |
| ๐ญ Exploring | Mobile companion app | iOS / Android: view and trigger |
---
## โ FAQ
How does OfficeDex relate to OfficeCLI?
OfficeCLI is the underlying command-line tool (a separate Go repo) that handles actual document generation, LLM calls, and file output. OfficeDex is its desktop GUI shell: a React UI wrapped in Wails, talking to the `officecli agent-bridge` subprocess via JSON-RPC. They release in **lockstep**: OfficeDex auto-downloads and manages a matching OfficeCLI binary at startup.
Is my data uploaded to the cloud?
By default, fully local:
- Document generation runs on your machine
- LLM calls go directly to the provider you configured (OpenAI / Anthropic / self-hosted) โ OfficeDex never proxies them
- Generated files and document context live in a local workspace (default: `~/Library/Application Support/OfficeDex/workspace`; optionally choose another folder in Settings)
If you opt into "Hosted Runtime" (**Hosted Runtime** = OfficeCLI's official hosted proxy, so you don't have to configure your own LLM key), some calls route through the official proxy โ the app displays a clear notice in that case.
Can I use my own OpenAI / Claude API key?
Yes. In **Settings โ LLM Provider**, fill in `baseUrl` / `apiKey` / `model`. Supported:
- OpenAI official + compatible protocols (DeepSeek / Moonshot / self-hosted vLLM, etc.)
- Anthropic Claude
- Azure OpenAI
Which operating systems are supported?
- โ
**macOS 12+** (Apple Silicon and Intel)
- โ
**Windows 10 / 11** (x64)
- ๐ง **Linux** โ binaries are built, but no official installer yet; run from source via `npm run dev`
Where are generated files stored?
Default workspace:
- macOS: `~/Library/Application Support/OfficeDex/workspace`
- Windows: `%APPDATA%/OfficeDex/workspace`
Leave the workspace setting empty to use the default app-data workspace, or choose another folder via **Settings โ Workspace**. After each generation, click "Show in Folder" to jump straight there.
Which document formats are supported?
| Input | Output | Preview |
| -------------------------------------------------- | ------------------------------------ | ------------------------- |
| Natural-language prompt | `.docx` / `.pptx` / `.xlsx` / `.pdf` | โ
All inline-previewable |
| Upload `.docx` / `.pdf` / `.md` as source material | Same | โ
|
| Paste / upload images as reference | Same | โ
|
Can I use it offline?
The desktop shell and preview panel are **fully offline**. Document generation needs an LLM, so:
- Cloud APIs: requires internet
- Local models (Ollama / vLLM / LM Studio): fully offline โ point `baseUrl` at e.g. `http://localhost:11434/v1`
The OfficeCLI runtime also supports a manually specified local path โ no downloads required.
How do I report a bug?
In the app, click **"Report Issue"** in the top-right corner. It automatically collects:
- App version + platform info
- Recent OfficeCLI logs (sanitized)
- Current task state snapshot
Copy the generated markdown and paste it into a GitHub Issue.
---
## ๐ Documentation
- [`DESIGN.md`](DESIGN.md) โ Full design spec
- [`CLAUDE.md`](CLAUDE.md) โ Project conventions & collaboration guidelines
- [`docs/README.zh-CN.md`](docs/README.zh-CN.md) โ ็ฎไฝไธญๆ็
---
## ๐ค Feedback & Contributing
- ๐ Bugs / suggestions: click "Report Issue" in-app โ diagnostics are bundled automatically
- ๐ฌ Discussion: PRs and issues welcome
- โญ Like it? A star is the best encouragement for the team
Made with ๐ by the OfficeDex team ยท Runs natively on macOS / Windows
## Star History