Replace AnimatedTabs with lightweight text toggle in mobile usage view
to improve visual hierarchy between navigation tabs and filter options.
The new design uses text buttons with underline indicator instead of
card-style tabs, making the two tab levels more distinguishable.
Co-authored-by: Jovines <jovines@qq.com>
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.
More screenshots
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
Core (all app versions)
Branchable chat timeline with /undo, /redo, and one-click forks from earlier turns
Smart tool UIs for diffs, file operations, permissions, and long-running task progress
Voice mode with speech input and read-aloud responses for hands-free workflows
Multi-agent runs from one prompt with isolated worktrees for safe side-by-side comparisons
# Quick install (auto-detects your package manager)
curl -fsSL https://raw.githubusercontent.com/btriapitsyn/openchamber/main/scripts/install.sh | bash
# Or install manually
bun add -g @openchamber/web # or npm, pnpm, yarn
openchamber # Start on port 3000
openchamber --port 8080# Custom port
openchamber --daemon # Background mode
openchamber --ui-password secret # Password-protect UI
openchamber --try-cf-tunnel # Create a Cloudflare Quick Tunnel for remote access
openchamber --try-cf-tunnel --tunnel-qr # Show QR code for easy mobile access
openchamber --try-cf-tunnel --tunnel-password-url # Include password in URL for auto-loginOPENCODE_PORT=4096OPENCODE_SKIP_START=true openchamber # Connect to external OpenCode serverOPENCODE_HOST=https://myhost:4096 OPENCODE_SKIP_START=true openchamber # Connect via custom host/HTTPS
openchamber stop # Stop server
openchamber update # Update to latest version
The service will be available at http://localhost:3000.
Data Directory Permission Note: The data/ directory is mounted into the container for persistent storage (config, sessions, SSH keys, workspaces). Before running, ensure the directory exists and has proper permissions:
# Create data directories with correct ownership
mkdir -p data/openchamber data/opencode/share data/opencode/config data/ssh data/workspaces
# Fix permissions (replace $USER with your username)
chown -R 1000:1000 data/
Without proper permissions, the container may fail to start or encounter permission denied errors when writing to these directories.