The window to your code.
Win-Dex is a polished, Windows-native GUI wrapper for the OpenAI Codex CLI. Built with Tauri v2 + React + Rust for blazing performance at under 12 MB installed size and < 40 MB RAM idle.
The official Codex CLI works great... on macOS. On Windows? It's a different story. Terminal encoding issues, broken Unicode, no GUI, and that nagging feeling that you're a second-class citizen in the AI coding revolution.
Win-Dex fixes all of that — with style, spray bottles, and squeegee animations.
- Full Codex CLI integration — exec mode with streaming JSON output, model selection, sandbox control
- Multi-tab chat UI — open multiple conversations, each with full history
- Real-time streaming — watch responses arrive character by character with typing cursor
- Process tree cancellation — reliable
taskkill /F /T /PIDfor clean process cleanup on Windows
- Edit & resend — click edit on any user message to modify and re-send (deletes subsequent messages)
- Regenerate response — one-click retry on the last assistant response
- Fork conversation — duplicate any chat tab to explore alternate paths
- Markdown export — full conversation export to
.mdfiles - JSON export — structured export to
.jsonfor programmatic use - Copy as Tweet — one-click formatted tweet text for sharing on X
- Clipboard button — paste code from clipboard and auto-send it for cleaning/review
- Token estimate — live character-based token count in the input area
- "Thinking..." becomes "Streak-checking..."
- Thinking levels: Mist / Wipe / Industrial Squeegee
- "Squeegeed Clean" badges on code blocks
- Spray particle animations on send
- Full-screen
/squeegeeeaster egg animation
- Windex Blue glassmorphism theme — light and dark mode
- Sound effects — Web Audio API tones for send, complete, error, and squeegee
- Pinned Notes —
.windex/memory.mdper workspace for persistent context - System tray — icon with live status tooltip updates
- Error boundary — graceful crash recovery with one-click reload
- Debug logging — toggle console logging and raw content inspection in settings
- Settings panel — model, approval mode, sandbox, parody, sound, debug, recent directories
| Shortcut | Action |
|---|---|
Ctrl+K |
New chat tab |
Ctrl+F |
Search messages |
Ctrl+, |
Open settings |
Enter |
Send message |
Shift+Enter |
New line in input |
Escape |
Close overlays / Cancel run |
| Chat UI | Settings | Parody Mode |
|---|---|---|
![]() |
![]() |
![]() |
- Node.js 20+
- Rust 1.70+
- Codex CLI:
npm install -g @openai/codex
# Install dependencies
npm install
# Run in development mode (hot reload)
npm run tauri dev
# Build for production
npm run tauri buildDownload the latest .msi or portable .exe from Releases.
| Component | Technology |
|---|---|
| Framework | Tauri v2 |
| Backend | Rust (tokio, serde, chrono) |
| Frontend | React 19 + TypeScript |
| Bundler | Vite |
| Styling | Tailwind CSS |
| State | Zustand |
| Markdown | react-markdown + remark-gfm |
| Icons | Lucide React |
| Audio | Web Audio API (no external files) |
See Architecture.md for the full system overview.
Win-Dex/
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── main.rs # Entry point
│ │ ├── lib.rs # Tauri commands + app setup
│ │ ├── windex_service.rs # Windex (Codex) CLI detection + arg builder
│ │ ├── command_manager.rs # PID tracking + process tree kill
│ │ ├── settings.rs # Settings persistence (%APPDATA%)
│ │ └── types.rs # Shared types
│ ├── Cargo.toml
│ └── tauri.conf.json
├── src/ # React frontend
│ ├── components/
│ │ ├── Toolbar.tsx # Top bar with actions
│ │ ├── TabBar.tsx # Multi-tab chat tabs
│ │ ├── ChatArea.tsx # Message list with smart scroll
│ │ ├── ChatInput.tsx # Input area with token meter
│ │ ├── MessageBubble.tsx # Message rendering with actions
│ │ ├── SprayParticles.tsx # Send animation particles
│ │ ├── SqueegeeOverlay.tsx # Full-screen easter egg
│ │ ├── SettingsPanel.tsx # Settings modal
│ │ ├── SearchOverlay.tsx # Message search
│ │ ├── MemoryPanel.tsx # Workspace pinned notes
│ │ ├── StatusBar.tsx # Bottom status bar
│ │ └── ErrorBoundary.tsx # Crash recovery
│ ├── hooks/
│ │ └── useWindex.ts # Windex IPC + stream handling
│ ├── store/
│ │ └── appStore.ts # Zustand state management
│ └── lib/
│ ├── types.ts # TypeScript types
│ ├── utils.ts # Utilities + parody text
│ ├── sounds.ts # Web Audio API sound effects
│ └── logger.ts # Debug logging system
├── scripts/ # Build/dev scripts
├── .github/workflows/ # CI
└── docs/
PRs welcome! See TODO.md for the current feature roadmap.
MIT



