77467311f10e9d351c0368ee1a5748bb284ef42c
* fix(ci): pass target architecture to beforeBuildCommand Set TAURI_ENV_TARGET_TRIPLE environment variable before running build commands to ensure sidecar binary matches target architecture. Problem: - CI builds both arm64 and x86_64 targets in parallel on arm64 runner - beforeBuildCommand executes before Tauri sets TAURI_ENV_TARGET_TRIPLE - build-sidecar.mjs fallbacks to process.arch (arm64 on CI runner) - Both parallel tasks build arm64 sidecars, second task overwrites first - Result: x86_64 releases contain arm64 sidecar → startup failure on Intel Macs Solution: - Explicitly set TAURI_ENV_TARGET_TRIPLE in CI workflow - Add architecture verification step to detect mismatches early Evidence: - Official DMG OpenChamber_1.8.5_darwin-x86_64.dmg contains arm64 sidecar - Local build with explicit env var produces correct x86_64 sidecar - /Applications/OpenChamber.app/Contents/MacOS/openchamber-server: arm64 - packages/desktop/src-tauri/sidecars/...: x86_64 (with env var) Fixes startup failure on Intel Macs where official x86_64 DMG contains arm64 sidecar binary, causing indefinite loading screen. * fix(ci): normalize architecture names in verification step Fix architecture mismatch where macOS 'file' command reports ARM binaries as 'arm64' but verification expects 'aarch64', causing false negatives in ARM builds. Changes: - Update grep pattern to include 'arm64' in extraction - Add normalize_arch() function to map arm64 -> aarch64 - Improve debug output to show raw and normalized architectures - Update error messages to show both raw and normalized values This fixes the issue reported by @btriapitsyn where ARM builds would fail verification even with correct artifacts, because: - macOS file command reports: 'Mach-O 64-bit executable arm64' - Old grep pattern only matched: 'x86_64|aarch64' - Result: empty string != 'aarch64' → false failure The normalization ensures consistency between: - macOS file output (arm64/x86_64) - Rust/Cargo naming (aarch64/x86_64) - Tauri target triples (aarch64-apple-darwin/x86_64-apple-darwin) Fixes architecture verification for both ARM and Intel builds.

OpenChamber
OpenCode, everywhere. Desktop. Browser. Phone.
A rich interface for OpenCode. Review diffs, manage agents, run dev servers, and keep the big picture while your AI codes.
Highlights
- Use it from anywhere - Cloudflare tunnel with QR code onboarding. Scan, connect, code from your couch.
- Branchable chat timeline - Undo, redo, fork from any turn. Explore different approaches without losing your place.
- GitHub-native workflows - Start sessions from issues and PRs with context already attached. Review checks, merge - all in-app.
- Project Actions - Run dev servers, configure SSH port forwarding, open remote URLs locally. Your project commands, one click away.
- Connect to remote machines - Desktop app connects to remote OpenChamber instances over SSH, with dedicated lifecycle and UX flows.
Quick Start
Prerequisite: OpenCode CLI installed.
Desktop (macOS)
Download from Releases.
VS Code
Install from Marketplace or search "OpenChamber" in Extensions.
CLI (Web + PWA)
requires Node.js 20+
curl -fsSL https://raw.githubusercontent.com/btriapitsyn/openchamber/main/scripts/install.sh | bash
openchamber --ui-password be-creative-here --daemon
Advanced CLI options
openchamber --port 8080 # Custom port
openchamber --daemon # Background mode
openchamber --ui-password secret # Password-protect UI
openchamber --try-cf-tunnel # Cloudflare Quick Tunnel
openchamber --try-cf-tunnel --tunnel-qr # + QR code
openchamber --try-cf-tunnel --tunnel-password-url # + password in URL
openchamber stop # Stop server
openchamber update # Update to latest
Connect to an existing OpenCode server:
OPENCODE_PORT=4096 OPENCODE_SKIP_START=true openchamber
OPENCODE_HOST=https://myhost:4096 OPENCODE_SKIP_START=true openchamber
Docker
docker compose up -d
Available at http://localhost:3000.
UI Password:
environment:
UI_PASSWORD: your_secure_password
Cloudflare Tunnel:
environment:
CF_TUNNEL: "true" # Options: true, qr, password
| Value | Description |
|---|---|
true |
Enable tunnel only |
qr |
Enable tunnel + QR code |
password |
Enable tunnel + password in URL |
Data directory permissions: The data/ directory is mounted for persistent storage. Before running:
mkdir -p data/openchamber data/opencode/share data/opencode/config data/ssh
chown -R 1000:1000 data/
SSH/Git: If git push/pull fails, run ssh -T git@github.com in terminal.
Named Cloudflare Tunnel (persistent hostname)
For reliable long-lived access with a custom hostname from your Cloudflare account:
- Configure in-app at Settings > OpenChamber > Tunnel, switch to Named mode.
- Requires a domain in your Cloudflare account.
- Cloudflare setup guide
- CLI
--tunnel <config.yml>support is coming very soon.
Features
Chat & Interaction
- Branchable chat timeline with
/undo,/redo, and one-click forks from any turn - Multi-agent runs from one prompt with isolated worktrees for safe side-by-side comparisons
- Voice mode with speech input and read-aloud responses for hands-free workflows
- Plan/Build mode with a dedicated plan view for drafting and iterating steps
- Inline comment drafts on diffs, files, and plans - send feedback back to the agent
- Shell mode via leading
!with inline output - Share messages as images
- Mermaid diagrams render inline with copy/download actions
- Smart tool UIs for diffs, file operations, permissions, and task progress
Git & GitHub
- Full Git sidebar with staging, commits, push/pull, branch management, and rebase/merge flows
- PR creation with AI-generated descriptions, status checks, and merge actions
- Start sessions from GitHub issues and pull requests with context baked in
- Multi-remote push and fork-aware PR creation
- Worktree integration: isolated sessions per branch, merge back with conflict handling
- Git identities, gitmoji support, and multi-account GitHub auth
Files, Diff & Terminal
- Workspace file browser with inline editing, syntax highlighting, and markdown preview
- Beautiful diff viewer with stacked/inline modes, lazy loading for large changesets
- Integrated terminal with per-directory sessions, tabbed interface, and stable heavy-output performance
- Clickable file paths in messages - jump to exact line locations
- File-type icons across all views for faster visual scanning
Web / PWA
- Cloudflare tunnel with Quick and Named modes, secure one-time connect links, and QR onboarding
- Mobile-first: optimized chat controls, keyboard-safe layouts, drag-to-reorder projects
- Background notifications and cross-tab session tracking
- Self-update + restart flow that keeps your server settings intact
- Installable as PWA with project-aware naming
Desktop (macOS)
- Connect to remote OpenChamber instances over SSH with dedicated lifecycle flows
- Project Actions: run dev servers, SSH port forwarding, open remote URLs locally
- Multi-window support for parallel project workflows
- "Open In" shortcuts for Finder, Terminal, and your preferred editor
- Fast switching between local and remote instances
- Native macOS menu, deep-link handling, and polished startup
VS Code Extension
- Editor-native: open files from tool output, keep sessions beside your code
- Agent Manager for parallel multi-model runs from a single prompt
- Right-click actions: add context, explain selections, improve code in-place
- Session editor panel, responsive layout, and theme mapping to your editor
- Edit-style tool results open directly in focused diff views
Customization
- 18+ built-in themes with light/dark variants
- Custom themes via JSON files in
~/.config/openchamber/themes/- hot reload, no restart - Configurable keyboard shortcuts for chat, panels, and services
- Font size, spacing, corner radius, and layout controls
- Customizable project icons with upload and automatic favicon discovery
- Skills catalog and local skill management for reusable automation
Context & Productivity
- Token usage, cost breakdowns, and raw message inspection panel
- Usage quota tracking across multiple providers with pace/prediction indicators
- Favorite model cycling via keyboard shortcuts
- Session folders and subfolders with drag-to-reorder
- Persistent project notes and todos per project
- Draft persistence per session with expanded focus mode for longer prompts
Roadmap
Active development. Here's what's being worked on or planned:
- Windows and Linux desktop apps
- Mobile app with remote instance and laptop connectivity
- More built-in tunneling options
- Kanban board for multi-agent management - keeping the human in the loop and in control
- Custom OpenCode plugins/tools built-in catalog
- Linear integration
- Built-in browser for running dev apps with agent integration
Acknowledgments
Independent project, not affiliated with the 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.
- Ghostty-web - Great implementation of a Ghostty web renderer.
- David Hill - Who inspired me to release this without overthinking.
- My wife, who - with zero AI background - sat down with the app for the first time and built the firework celebration that plays on every successful push.
- Every contributor who shaped this project with their PRs, ideas, and attention to detail.
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
MIT
Languages
TypeScript
74.8%
JavaScript
19.8%
MDX
4.7%
CSS
0.4%
HTML
0.1%
Other
0.1%







