https://github.com/btriapitsyn/openchamber
Desktop and web interface for OpenCode AI agent
https://github.com/btriapitsyn/openchamber
ai opencode opencode-ai opencode-app opencode-ui opencode-web
Last synced: 3 months ago
JSON representation
Desktop and web interface for OpenCode AI agent
- Host: GitHub
- URL: https://github.com/btriapitsyn/openchamber
- Owner: btriapitsyn
- License: mit
- Created: 2025-09-11T10:34:59.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-03-02T00:46:10.000Z (3 months ago)
- Last Synced: 2026-03-02T03:44:34.589Z (3 months ago)
- Topics: ai, opencode, opencode-ai, opencode-app, opencode-ui, opencode-web
- Language: TypeScript
- Homepage:
- Size: 24.2 MB
- Stars: 1,194
- Watchers: 10
- Forks: 153
- Open Issues: 80
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
Awesome Lists containing this project
- awesome-agent-desktop - OpenChamber - Desktop and web interface for OpenCode AI agent (Uncategorized / Uncategorized)
README
#
OpenChamber
[](https://github.com/btriapitsyn/openchamber/stargazers)
[](https://github.com/btriapitsyn/openchamber/network/members)
[](https://github.com/btriapitsyn/openchamber/releases/latest)
[](https://opencode.ai)
[](https://zread.ai/btriapitsyn/openchamber)
[](https://discord.gg/ZYRSdnwwKA)
[](https://ko-fi.com/G2G41SAWNS)
Web and desktop interface for the [OpenCode](https://opencode.ai) 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
- Git workflows in-app: identities, commits, PR creation, checks, and merge actions
- GitHub-native workflows: start sessions from issues and pull requests with context already attached
- Plan/Build mode with a dedicated plan view for drafting and iterating implementation steps
- Inline comment drafts on diffs, files, and plans that can be sent back to the agent
- Context visibility tools (token/cost breakdowns, raw message inspection, and activity summaries)
- Integrated terminal with per-directory sessions and stable performance on heavy output
- Built-in skills catalog and local skill management for reusable automation workflows
### Web / PWA
- Cloudflare Quick Tunnel for instant remote access (`--try-cf-tunnel`)
- One-scan onboarding with tunnel QR + password URL helpers
- Mobile-first experience: optimized chat controls, keyboard-safe layouts, and attachment-friendly UI
- Background notifications plus reliable cross-tab session activity tracking
- Built-in self-update + restart flow that keeps your server settings intact
### Desktop (macOS)
- Native macOS menu integration with polished app actions and deep-link handling
- Multi-window support for parallel project/session workflows
- "Open In" shortcuts for Finder, Terminal, and your preferred editor
- Fast switching between local and remote instances
- Workspace-first startup flow with directory picker and steadier window restore behavior
### VS Code Extension
- Editor-native workflow: open files directly from tool output and keep sessions beside your code
- Agent Manager for parallel multi-model runs from a single prompt
- Right-click actions to add context, explain selections, and improve code in-place
- In-extension settings, responsive layout, and theme mapping that matches your editor
- Hardened runtime lifecycle and health checks for faster startup and fewer stuck reconnect states
### Custom Themes
Create your own color schemes by dropping JSON files into `~/.config/openchamber/themes/`. Hot reload supported — no restart needed.
[**Read the Guide: Custom Themes**](docs/CUSTOM_THEMES.md)
## Installation
### VS Code Extension
Install from [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=fedaykindev.openchamber) / [Open VSX Registry](https://open-vsx.org/extension/FedaykinDev/openchamber) or search "OpenChamber" in Extensions.
### CLI (Web Server)
```bash
# 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
```
```bash
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-login
OPENCODE_PORT=4096 OPENCODE_SKIP_START=true openchamber # Connect to external OpenCode server
OPENCODE_HOST=https://myhost:4096 OPENCODE_SKIP_START=true openchamber # Connect via custom host/HTTPS
openchamber stop # Stop server
openchamber update # Update to latest version
```
### Desktop App (macOS)
Download from [Releases](https://github.com/btriapitsyn/openchamber/releases).
### Docker Compose
```bash
docker compose up -d
```
The service will be available at `http://localhost:3000`.
**UI Password (optional):** To enable password-protected access, uncomment and set the `UI_PASSWORD` environment variable in `docker-compose.yml`:
```yaml
environment:
UI_PASSWORD: your_secure_password
```
Or pass it via command line:
```bash
UI_PASSWORD=secret docker compose up -d
```
**Cloudflare Tunnel (optional):** To enable Cloudflare Quick Tunnel for remote access, set the `CF_TUNNEL` environment variable:
```yaml
environment:
CF_TUNNEL: "true" # Options: true, qr, password, full
```
| Value | Description |
| ---------- | ------------------------------- |
| `true` | Enable tunnel only |
| `qr` | Enable tunnel + QR code |
| `password` | Enable tunnel + password in URL |
**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:
```bash
# Create data directories with correct ownership
mkdir -p data/openchamber data/opencode/share data/opencode/config data/ssh
# 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.
**SSH/Git Authentication Note:** If git pull/push fails. Run `ssh -T git@github.com` in terminal.
## Prerequisites
- [OpenCode CLI](https://opencode.ai) installed
- Node.js 20+ (for web version)
- [cloudflared](https://github.com/cloudflare/cloudflared/releases) (required for `--try-cf-tunnel`)
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
## Tech Stack
### Frontend




### State & UI


### Backend & Desktop



## Acknowledgments
Independent project, not affiliated with OpenCode team.
**Special thanks to:**
- [OpenCode](https://opencode.ai) - For the excellent API and extensible architecture.
- [Flexoki](https://github.com/kepano/flexoki) - Beautiful color scheme by [Steph Ango](https://stephango.com/flexoki).
- [Pierre](https://pierrejs-docs.vercel.app/) - Fast, beautiful diff viewer with syntax highlighting.
- [Tauri](https://github.com/tauri-apps/tauri) - Desktop application framework.
- [Ghossty-web](https://github.com/coder/ghostty-web) - for a great implementeation of a Ghostty web renderer.
- [David Hill](https://x.com/iamdavidhill) - who inspired me to release this without [overthinking](https://x.com/iamdavidhill/status/1993648326450020746?s=20).
- My wife, who created a beautiful firework animation for the app while testing it for the first time.
## License
MIT