The Problem
Developers and power‑users who rely on multiple command‑line AI assistants (Gemini CLI, Claude Code, Codex, Qwen Code, Goose CLI, Auggie, etc.) must switch terminals, remember different flags, and manually copy output files into other tools. This fragmented workflow wastes time and introduces errors, especially when dealing with file‑heavy tasks such as document generation, image creation, or batch renaming.
What This Does
AionUi supplies a local, Electron‑based graphical front‑end that automatically discovers installed AI CLI tools and presents a unified interface. The UI is built with React (see src/ under the webpack config config/webpack/webpack.renderer.config.ts) and bundles assets via Webpack (config/webpack/webpack.config.ts).
Key functional areas are organized under assistant/ and skills/: Multi‑Agent Mode – detection logic lives in assistant/cowork/ (e.g., cowork.md documents the UI flow). Smart File Management – Python scripts in skills/docx/, skills/pdf/, and skills/pptx/ implement batch rename, merge, and conversion utilities that the UI invokes via child processes. Preview Panel – the renderer loads PDFs, Word docs, Markdown, code diffs, etc., using the webview defined in public/index.html.
The repository also ships with a set of example data (assistant/ui-ux-pro-max/data/) and a comprehensive WEBUIGUIDE.md that describes the UI layout and available actions.
How To Use It
Prerequisites – Install Node ≥ 18 and Python 3.9+. Ensure the target AI CLIs (Gemini, Claude, etc.) are on the system PATH. Install dependencies
npm ci # uses package-lock.json for reproducible install pip install -r requirements.txt # optional, for the Python skill scripts Build the Electron app (the repo uses electron‑builder):
npm run build # invokes scripts/build-with-builder.js via webpack
The build output is packaged according to electron-builder.yml and forge.config.ts. Run locally
npm start # launches the Electron window; entry point defined in package.json
The UI will scan $PATH for known CLI executables (see assistant/cowork/cowork-skills.md) and list them on the left pane. Configuration – No central config file is required; per‑skill parameters are defined in the markdown templates under assistant/.../templates/ (e.g., taskplan.md). Advanced users can edit config/webpack/webpack.plugins.ts to add custom loaders or enable hot‑reloading.
Real‑World Use
A product team uses AionUi to prototype documentation automatically: a developer runs gemini-cli generate --output spec.md; AionUi detects the new spec.md, renders it side‑by‑side with a live HTML preview, and lets the same window invoke the pdf skill (skills/pdf/scripts/convertpdftoimages.py) to generate a PDF preview instantly. The entire workflow stays inside the UI, avoiding context switches between terminal, editor, and PDF viewer.
Code Health & Issues
Low – Mixed language stack – React (JS/TS) and Python skill scripts coexist without a unified build pipeline; CI only runs Node tests (jest.config.js). Python scripts lack CI coverage. Medium – Limited automated testing – Only six test files are present (mostly for Python utilities). UI components are not unit‑tested, increasing risk of regressions after UI changes. Low – No explicit runtime security controls – The UI spawns child processes for each detected CLI tool. No sandboxing or validation of CLI arguments is evident, which could be exploited if a malicious CLI is placed on the system path. Low – Documentation fragmented – Core usage is described in WEBUIGUIDE.md and several markdown files, but there is no single “quick‑start” script or npm run dev guide; new contributors may need to piece together steps. Low – Dependency hygiene – package-lock.json is present, but there is no npm audit step in the GitHub Actions workflows. Updating vulnerable Node packages will require manual intervention.
Overall, the repository shows a coherent structure, proper linting (.eslintrc.json), formatting (.prettierrc.json), and CI for Node builds. The presence of electron-builder.yml and a fully defined webpack config indicates a production‑ready build pipeline for the UI layer.
The Bottom Line
AionUi delivers a functional Electron front‑end that consolidates multiple AI CLI tools and adds useful file‑management and preview capabilities. It is suitable for individual developers or small teams that already use the supported CLIs and need a local, no‑cloud UI. However, the mixed Node/Python stack, sparse automated testing, and lack of sandboxing mean that larger organizations should audit the process‑spawning code and consider adding CI for the Python components before adopting it at scale.