* feat(ui): add dynamic titles and sprite-based project/file icons * feat(files): add viewer syntax fallback and tab file icons * fix(files): restore file viewer highlighting and add diff file icons * feat(git): add file icons and async file-viewer syntax fallback * fix(files): force codemirror token colors in file viewer * feat(files): add shiki view mode for file viewer * fix(files): force codemirror parse after programmatic content updates * feat(files): support markdown frontmatter preview * feat(chat): use pierre diffs for tool previews * feat(chat): add configurable beautiful-mermaid rendering * feat(perf): virtualize chat rendering and add react-scan toggle * feat(build): enable React Compiler in Vite React apps * fix(chat): reduce rerenders from tooltips and streamed activity * fix(ui): make MessageList React Compiler safe * chore(ui): batch commit remaining pending ui updates * fix: polish chat and diff preview rendering - Keep Mermaid action buttons fixed while diagram content scrolls - Align Diff All Files headers and match Git-style path truncation - Default chat tool diffs to unified view with lightweight indicators disabled * fix: preserve file tree expansion and delay git action label collapse * fix: refine project icon controls in settings --------- Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>

@openchamber/web
Web/PWA interface for the OpenCode AI coding agent.
This package installs the openchamber CLI that runs a local web server. For the full project overview and screenshots, see the main repo:
https://github.com/btriapitsyn/openchamber
Installation
# 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
Usage
openchamber # Start on port 3000
openchamber --port 8080 # Custom port
openchamber --daemon # Background mode
openchamber --ui-password secret # Password-protect UI
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
Environment Variables
OPENCODE_HOST- Full base URL of external OpenCode server, e.g.http://hostname:4096orhttps://hostname:4096(overridesOPENCODE_PORT)OPENCODE_PORT- Port of external OpenCode server to connect to (instead of starting embedded server)OPENCODE_SKIP_START- Skip starting embedded OpenCode server (use withOPENCODE_HOSTorOPENCODE_PORTto connect to external instance)
Prerequisites
- OpenCode CLI installed (
opencode) - Node.js 20+
Features
Core UI
- 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
- Multi-agent runs from one prompt with isolated worktrees for safe comparisons
- Git workflows in-app: identities, commits, PR creation, checks, and merge actions
- Context visibility tools (token/cost breakdowns, raw message inspection, and activity summaries)
- Integrated terminal with per-directory sessions and stable performance on heavy output
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
License
MIT