Codexia zen
December 16, 2025 · View on GitHub
a minimalist design Tauri GUI for OpenAI Codex CLI

Related project
- Codexia - A powerful GUI and Toolkit for OpenAI Codex CLI + Claude Code
- Codexsm - Codex cli session manager
✨ Features
- Cross platform Tauri GUI - Super fast
- Ask Codex to do anything
- Use your own OpenAI subscription or api
Flexible Configuration
- Multiple AI providers (OpenAI, Ollama, Gemini, openrouter, xAI, Custom)
- One Click change mode Plan or Agent or Agent(full)
- Sandbox and Approval Policy
- Reasoning Effort
Download
prebuild MacOS dmg
Build from source Prerequisites
- Tauri prerequisites: https://v2.tauri.app/start/prerequisites/
Installation
Clone and install dependencies:
git clone https://github.com/milisp/codexia-zen
cd codexia-zen
bun install
Generate codex ts bindings
codex app-server generate-ts -o src/bindings
Run development build:
bun tauri dev
Build for production:
bun tauri build
Quick Start
Prerequisites
- Codex CLI: Install from github Codex
- run
codexat terminal ensure codex work
launch
If you use OpenAI subscription, Just launch codexia-zen then start prompt for plan or agent
Custom other models
create a file ~/.codex/profile.json
{
"openai": ["gpt-5.2", "gpt-5.1-codex-max", "gpt-5.1-codex", "gpt-5.1", "gpt-5.1-codex-mini"],
"openrouter": ["openai/gpt-oss-20b:free"],
"ollama": ["qwen2.5-coder"],
"google": ["gemini-2.5-pro"]
}
config model_providers at ~/.codex/config.toml
[model_providers.openrouter]
name = "OpenRouter"
base_url = "https://openrouter.ai/api/v1"
# env_key = "OPENROUTER_API_KEY" # use api key at `~/.codex/auth.json` instead
wire_api = "responses" # 👆 when use responses api, don't use env_key
requires_openai_auth = true # must set requires_openai_auth for openrouter
[model_providers.google]
name = "Google"
base_url = "https://generativelanguage.googleapis.com/v1beta/openai"
env_key = "GEMINI_API_KEY" # set env or export GEMINI_API_KEY=your-api-key
for OpenRouter or any OpenAI models ~/.codex/auth.json
{
"OPENAI_API_KEY": "sk-mock-api-key"
}