theblazehen 235f80643e feat: add UI customization and model management features (#60)
* feat: add UI customization and model management features

Add comprehensive UI customization options and enhanced model selection:

- **Favorite & Recent Models**: Star models for quick access, track 5 most recent
  - Add favorite/recent sections to model dropdowns
  - Persist preferences in local storage
  - Works in ModelControls and ModelSelector components

- **Tool Call Expansion Settings**: Control default expansion state for tool outputs
  - Three modes: collapsed, activity (summary), detailed
  - Applies to activity groups and individual tool calls
  - Configurable in Appearance Settings

- **Font Size & Spacing Controls**: Adjustable typography and layout density
  - Font size: 50-200% scaling of all semantic typography
  - Spacing/padding: 50-200% scaling of margins, gaps, line heights
  - Real-time preview with reset buttons
  - Settings in Appearance Settings

- **VSCode Extension Settings View**: Full settings access in VSCode extension
  - Add settings navigation and view type
  - Settings button in header
  - Navigate between sessions, chat, and settings

Technical changes:
- Enhanced useUIStore with new state management
- Dynamic CSS variable scaling for typography and spacing
- Typography helper functions for variable access
- ThemeProvider integration for auto-applying scales

* fix: hide theme mode in VSCode and fix detailed tool expansion

- Hide "Theme Mode" setting in VSCode extension settings as VSCode
  dynamically applies its own theme to the extension
- Fix bug where tools from subsequent messages in a turn weren't
  expanded when "Detailed" mode was selected
- Now correctly aggregates all tool IDs from turnGroupingContext when
  calculating effective expanded tools for progressive groups
2025-12-15 18:11:38 +02:00
2025-12-07 19:32:53 +02:00
2025-12-13 16:34:17 +02:00
2025-12-07 19:32:53 +02:00
2025-12-15 14:34:17 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00
2025-12-15 14:34:17 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00
2025-12-07 19:32:53 +02:00

OpenChamber

Web and desktop interface for the OpenCode AI coding agent. Works alongside the OpenCode TUI.

The OpenCode team is actively working on their own desktop app. I still decided to release this project as a fan-made alternative.

It was entirely built with OpenCode tool - first with the TUI version, then with the first usable version of OpenChamber, which I then used to build the rest.

The whole project was built entirely with AI coding agents under my supervision. It started as a hobby project and proof of concept that AI agents can create genuinely usable software.

OpenChamber Chat

More screenshots

Tool Output Settings Web Version Diff View VS Code Extension

PWA Chat PWA Terminal

Why use OpenChamber?

  • Cross-device continuity: Start in TUI, continue on tablet/phone, return to terminal - same session
  • Remote access: Use OpenCode from anywhere via browser
  • Familiarity: A visual alternative for developers who prefer GUI workflows

Features

  • Integrated terminal
  • Git operations with identity management and AI commit message generation
  • Beautiful themes (Flexoki Light/Dark) with dynamic CSS variable system
  • Mobile-optimized with edge-swipe gestures, terminal control and optimizations all around
  • Git worktrees operations with isolating sessions within them
  • Memory optimizations with LRU eviction
  • Rich permission cards with syntax-highlighted operation previews
  • Smart tool visualization (inline diffs, file trees, results highlighting)
  • Per-agent permission mode control (ask, allow, full) adjustable per-session
  • Beautiful diff viewer with syntax highlighting, line wrap, and responsive layout
  • Built-in OpenCode agent/command management

Installation

VS Code Extension

Install from VS Code Marketplace or search "OpenChamber" in Extensions.

CLI (Web Server)

pnpm add -g openchamber

openchamber                          # Start on port 3000
openchamber --port 8080              # Custom port
openchamber --daemon                 # Background mode
openchamber --ui-password secret     # Password-protect UI
openchamber stop                     # Stop server

Desktop App (macOS)

Download from Releases.

Prerequisites

  • OpenCode CLI installed and running (opencode serve)
  • Node.js 20+

Development

git clone https://github.com/btriapitsyn/openchamber.git
cd openchamber
pnpm install

# Web development
pnpm run dev:web:full

# Desktop app (Tauri)
pnpm desktop:dev

# VS Code extension
pnpm vscode:build && code --extensionDevelopmentPath="$(pwd)/packages/vscode"

# Production build
pnpm run build

See CONTRIBUTING.md for guidelines.

Tech Stack

React 19, TypeScript, Vite 7, Tailwind CSS v4, Zustand, Radix UI, @opencode-ai/sdk, Express, Tauri (desktop)

Acknowledgments

Independent project, not affiliated with OpenCode team.

Special thanks to:

  • OpenCode - For the excellent API and extensible architecture
  • Flexoki - Beautiful color scheme by Steph Ango
  • Pierre - Fast, beautiful diff viewer with syntax highlighting
  • Tauri - Desktop application framework
  • David Hill - who inspired me to release this without overthinking
  • My wife, who created a beautiful firework animation for the app while testing it for the first time

License

MIT

S
Description
No description provided
Readme MIT
82 MiB
Languages
TypeScript 74.8%
JavaScript 19.8%
MDX 4.7%
CSS 0.4%
HTML 0.1%
Other 0.1%