Skip to content

UI Plugins

Lyuben Kikov edited this page Jul 20, 2026 · 2 revisions

UI Plugins

The Aperio web UI is built as a single-page application with index.html, index.js, and CSS in public/.
You can customize or extend the UI directly.


Built-in customization

Themes

4 themes are available and selectable from the header:

  • Light — clean, light background
  • Dark — dark background, reduced eye strain
  • Aurora — indigo-pink accent theme
  • System — follows OS preference

Themes are persisted in localStorage.

Settings overlay

The sidebar Config button opens a full-screen settings overlay with:

  • Search across all settings
  • Simple ↔ Advanced toggle
  • Typed controls (toggle / select / number / text / chips / secret)
  • Category-based navigation

i18n

26 languages are built in. Switch with the language selector or /lang <code>.


Customizing the UI

The web UI lives in public/:

public/
├── index.html          # SPA shell
├── index.js            # Main client script
├── setup.html          # Bootstrap wizard
├── help.html           # Help page
├── assets/             # Icons, images
├── locales/            # Translation files (26 languages)
├── scripts/            # UI modules (settings, memory cards, etc.)
└── styles/             # CSS (themes, sidebar, cards)

Add a new theme

Edit public/styles/ and add your theme CSS variables.
Register it in public/index.js.

Customize the chat layout

The chat interface is driven by public/index.js. Modify message rendering, add custom components, or change the layout.

Build a standalone client

The MCP server (mcp/index.js) provides all tools via stdio. You can build:

  • A VS Code extension
  • A Raycast plugin
  • A mobile app
  • A custom CLI
  • An Obsidian plugin

All using the same MCP tool set.


Settings overlay modules

The Settings overlay is extensible. Current panels:

Panel What it configures
AI Provider Model selection, API keys
Embeddings Local vs Voyage AI
Features Code graph, doc graph, shell, round-table
Allowed Folders Read/write path permissions
Database Connections External DB connection CRUD
GitHub Triage Issue triage configuration
Advanced Port, debug, performance tuning

Clone this wiki locally