90 lines
5.6 KiB
Markdown
90 lines
5.6 KiB
Markdown
|
|
# <picture><source media="(prefers-color-scheme: dark)" srcset="https://github.com/btriapitsyn/openchamber/raw/HEAD/docs/references/badges/openchamber-logo-dark.svg"><img src="https://github.com/btriapitsyn/openchamber/raw/HEAD/docs/references/badges/openchamber-logo-light.svg" width="32" height="32" align="absmiddle" /></picture> @openchamber/web
|
||
|
|
|
||
|
|
[](https://github.com/btriapitsyn/openchamber/stargazers)
|
||
|
|
[](https://github.com/btriapitsyn/openchamber/releases/latest)
|
||
|
|
[](https://discord.gg/ZYRSdnwwKA)
|
||
|
|
|
||
|
|
Run [OpenCode](https://opencode.ai) in your browser. Install the CLI, open `localhost:3000`, done. Works on desktop browsers, tablets, and phones as a PWA.
|
||
|
|
|
||
|
|
Full project overview, screenshots, and all features: [github.com/btriapitsyn/openchamber](https://github.com/btriapitsyn/openchamber)
|
||
|
|
|
||
|
|
## Install
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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).
|
||
|
|
|
||
|
|
> **Prerequisites:** [OpenCode CLI](https://opencode.ai) installed, Node.js 20+.
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
```bash
|
||
|
|
openchamber # Start on port 3000
|
||
|
|
openchamber --port 8080 # Custom port
|
||
|
|
openchamber --ui-password secret # Password-protect
|
||
|
|
openchamber stop # Stop server
|
||
|
|
openchamber update # Update to latest
|
||
|
|
```
|
||
|
|
|
||
|
|
<details>
|
||
|
|
<summary>Connect to external OpenCode server</summary>
|
||
|
|
|
||
|
|
```bash
|
||
|
|
OPENCODE_PORT=4096 OPENCODE_SKIP_START=true openchamber
|
||
|
|
OPENCODE_HOST=https://myhost:4096 OPENCODE_SKIP_START=true openchamber
|
||
|
|
```
|
||
|
|
|
||
|
|
| Variable | Description |
|
||
|
|
|----------|-------------|
|
||
|
|
| `OPENCODE_HOST` | Full base URL of external server (overrides `OPENCODE_PORT`) |
|
||
|
|
| `OPENCODE_PORT` | Port of external server |
|
||
|
|
| `OPENCODE_SKIP_START` | Skip starting embedded OpenCode server |
|
||
|
|
|
||
|
|
</details>
|
||
|
|
|
||
|
|
<details>
|
||
|
|
<summary>Docker</summary>
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker compose up -d # Available at http://localhost:3000
|
||
|
|
```
|
||
|
|
|
||
|
|
**Optional env vars:**
|
||
|
|
```yaml
|
||
|
|
environment:
|
||
|
|
UI_PASSWORD: your_secure_password
|
||
|
|
```
|
||
|
|
|
||
|
|
**Data directory:** mount `data/` for persistent storage. Ensure permissions:
|
||
|
|
```bash
|
||
|
|
mkdir -p data/openchamber data/opencode/share data/opencode/config data/ssh
|
||
|
|
chown -R 1000:1000 data/
|
||
|
|
```
|
||
|
|
|
||
|
|
</details>
|
||
|
|
|
||
|
|
<details>
|
||
|
|
<summary>Background & daemon mode</summary>
|
||
|
|
|
||
|
|
```bash
|
||
|
|
openchamber --daemon # Run in background
|
||
|
|
openchamber stop # Stop background server
|
||
|
|
```
|
||
|
|
|
||
|
|
</details>
|
||
|
|
|
||
|
|
## What makes the web version special
|
||
|
|
|
||
|
|
- **Mobile-first PWA** - optimized chat controls, keyboard-safe layouts, drag-to-reorder projects
|
||
|
|
- **Background notifications** - know when your agent finishes, even from another tab
|
||
|
|
- **Self-update** - update and restart from the UI, server settings stay intact
|
||
|
|
- **Cross-tab tracking** - session activity stays in sync across browser tabs
|
||
|
|
|
||
|
|
Plus everything from the shared OpenChamber UI: branchable timeline, Git sidebar, terminal, voice mode, and more.
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
MIT
|