An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

OfficeDex

### The First AI-Native VibeOfficing Platform

**VibeCoding writes code. VibeOfficing writes documents. Powered by OfficeDex.**



Platform
Version
Stack
License


Website
GitHub officecli
Discord
X

---

## ๐Ÿ’ก 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.

![VibeCoding = VibeOfficing](docs/screenshots/vibeofficing-analogy.png)

| 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 Engine](docs/screenshots/vibeofficing-engine.png)

---

## โšก 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

![30-second demo](docs/screenshots/quick-demo.gif)

โ†‘ 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

![Feature matrix](docs/screenshots/features-grid.png)

---

## ๐Ÿ”ฅ 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

DOCX preview
XLSX preview

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

![Settings page](docs/screenshots/settings-overview.png)

- 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





Star History Chart