* feat: track and prune open files in FilesView
Add openFiles state to manage currently opened file tabs
Prune open files when a file is renamed or deleted to keep in sync
Reset openFiles on refresh and clear file content when selection changes
* style: improve file dropdown layout and truncation
Adjust button layout to allow long file names to truncate correctly
Keep dropdown arrow visible while resizing by preventing shrink
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 apps versions)
Integrated terminal
Git operations with identity management and AI commit message generation
# 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 server
openchamber stop # Stop server
openchamber update # Update to latest version