nandi/oripublic Fork 0
76d62ac0da1600e1c208017584c3fa22e54feaa3
Commits
Clone
git clone https://git.rickub.com/nandi/ori.git
git clone ssh://git@rickub.com/nandi/ori.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

forked from bots-garden/ori

quickstart.md · 71 lines · 3.2 KBmarkdown Blame HistoryRaw
✨ Workspace panel, selectors, previews, desktop app, sandbox template, resizable file tree, light/dark theme 76d62ac k33g yesterday1# Ori — quickstart
2
3Launch a Docker sandbox running [Ori](README.md): Claude Code plus its web UI (chat panel, file tree, Monaco editor, terminal), in your browser.
4
5## Prerequisites
6
7- Docker Desktop with the `sbx` CLI, and your Anthropic credentials configured for sandboxes (`sbx secret set anthropic …` or an OAuth login — whatever you already use for `sbx run claude`).
8- The ori kit: clone this repository (only `kits/ori/` is needed).
9
10## Create the sandbox
11
12From the directory where the kit lives, pointing at the project you want the agent to work on:
13
14```bash
15sbx run -d claude ~/path/to/your/project \
16 --template k33g/ori:0.0.0 \
17 --kit ./kits/ori \
18 --name ori \
19 -p 8888:8888
20```
21
22Then open **http://localhost:8888** — the panel connects to a Claude Code session already running in the sandbox, no login needed.
23
24> **Why `sbx run -d` and not `sbx create`?** sbx stops a sandbox 30 seconds after the last CLI session on it closes — browser traffic does not count. `sbx create` holds such a session only while it runs, so a sandbox created that way goes `stopped` half a minute after the prompt returns. `-d` (`--detached`) marks the sandbox as detached at creation, which exempts it from that auto-stop for good; it then runs until you `sbx stop` or `sbx rm` it. The flag only exists on `sbx run`, and the mode cannot be changed afterwards: a sandbox created with `sbx create` must be removed and recreated.
25
26Without `-p`, the kit still publishes an ephemeral port; the command output prints it:
27
28```
29 Published web: localhost:54321 -> 8888/tcp
30```
31
32## Everyday commands
33
34| Action | Command |
35| --- | --- |
36| Use another host port (e.g. http://localhost:5555) | `-p 5555:8888` at creation, or `sbx ports ori --publish 5555:8888/tcp` |
37| Change the internal port | `--kit-arg ori.port=9000` (then `-p 9000:9000`) |
38| Publish / unpublish a port later | `sbx ports ori --publish 8888:8888/tcp` / `--unpublish 8888:8888/tcp` |
39| Follow the server log | `sbx exec ori tail -f /home/agent/.ori.log` |
40| Inspect why the kit's startup ran or failed | `sbx exec ori cat /var/log/sbx-kit-startup.log` |
41| Open a shell in the sandbox | `sbx exec -it ori bash` |
42| Attach the terminal Claude session (starts a stopped sandbox) | `sbx attach ori` |
43| Restart a stopped sandbox without attaching | `sbx run -d --name ori` |
44| Stop / remove | `sbx stop ori` · `sbx rm ori` |
45| Demo without Claude usage | `sbx exec ori sh -c 'pkill -x ori; nohup ori --addr :8888 --agent-cmd ori-mock-agent --cwd /home/agent/workspace >> /home/agent/.ori.log 2>&1 &'` |
46
47## Building the image yourself
48
49Only needed if you maintain the template: `./template/build.sh` builds and pushes `k33g/ori:0.0.0` + `:latest` (multi-arch). For a never-pushed local image: `make template && docker save k33g/ori -o /tmp/ori.tar && sbx template load /tmp/ori.tar`.
50
51Full guide: [docs/en/how-to/run-in-a-sandbox.md](docs/en/how-to/run-in-a-sandbox.md) · [docs/fr/how-to/run-in-a-sandbox.md](docs/fr/how-to/run-in-a-sandbox.md)
52
53
54
55```
56sbx run -d claude . \
57 --template k33g/ori:0.0.0 \
58 --kit ./kits/ori \
59 --name ori \
60 -p 8888:8888
61
62sbx run -d claude . \
63 --template k33g/ori:0.0.0 \
64 --kit ./kits/ori \
65 --name ori2 \
66 -p 5555:8888
67```
68
69cd ori-desktop
70wails build
71 xattr -cr build/bin/ori-desktop.app