Skip to content

Commit a21dcfa

Browse files
committed
docs(readme): fix alignment, use binary releases, add openclaw start
1 parent 3afb2ab commit a21dcfa

1 file changed

Lines changed: 25 additions & 18 deletions

File tree

README.md

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ Container (Docker / Apple Container / macOS VM):
2121
tun2proxy -- routes all traffic to SOCKS5
2222
2323
Host:
24-
Sluice SOCKS5 Proxy -- policy + MITM + credential injection
25-
Sluice MCP Gateway -- tool-level policy + argument inspection
26-
Telegram Bot -- human approval for "ask" verdicts
24+
Sluice SOCKS5 Proxy -- policy + MITM + credential injection
25+
Sluice MCP Gateway -- tool-level policy + argument inspection
26+
Telegram Bot -- human approval for "ask" verdicts
2727
```
2828

2929
Every connection is evaluated against policy rules (allow / deny / ask). "Ask" verdicts send a Telegram notification with inline buttons. The agent blocks until the human responds. Credentials are managed via Telegram commands or CLI, stored encrypted with age, and hot-reloaded into the agent container without restarts.
@@ -39,11 +39,11 @@ The recommended setup for Linux. Three containers share a network namespace: slu
3939
git clone https://github.com/nnemirovsky/sluice.git && cd sluice
4040
cp examples/config.toml config.toml # edit policy rules
4141

42-
# 2. Set up credentials
43-
export TELEGRAM_BOT_TOKEN="your-bot-token"
44-
export TELEGRAM_CHAT_ID="your-chat-id"
42+
# 2. Set Telegram credentials in compose.yml (environment section of sluice service)
43+
# TELEGRAM_BOT_TOKEN: "your-bot-token"
44+
# TELEGRAM_CHAT_ID: "your-chat-id"
4545

46-
# 3. Start
46+
# 3. Start (sluice + tun2proxy + openclaw)
4747
docker compose up -d
4848

4949
# 4. Add API credentials (phantom tokens auto-generated, hot-reloaded to agent)
@@ -57,35 +57,42 @@ docker exec sluice sluice cred add anthropic_api_key \
5757
Native macOS micro-VMs via Virtualization.framework. Lightweight isolation with sub-second boot. Runs Linux guests.
5858

5959
```bash
60-
# 1. Build sluice
61-
go build -o sluice ./cmd/sluice/
60+
# 1. Download sluice binary (see Releases page for latest version)
61+
curl -L -o sluice https://github.com/nnemirovsky/sluice/releases/latest/download/sluice_darwin_arm64
62+
chmod +x sluice
6263

63-
# 2. Start with Apple Container runtime
64+
# 2. Start sluice with Apple Container runtime
6465
./sluice --runtime apple --container-name openclaw \
65-
--phantom-dir /tmp/sluice-phantoms
66+
--phantom-dir /tmp/sluice-phantoms \
67+
--config examples/config.toml
6668

6769
# 3. Network routing (requires root for pf rules)
6870
sudo ./scripts/apple-container-setup.sh
71+
72+
# 4. Start OpenClaw in Apple Container
73+
container run --name openclaw \
74+
-v /tmp/sluice-phantoms:/phantoms \
75+
ghcr.io/openclaw/openclaw:latest
6976
```
7077

7178
### macOS VM (via tart)
7279

7380
Full macOS guest VM with access to Apple frameworks (iMessage, EventKit, Keychain, Shortcuts). Use this when your agent needs to interact with Apple ecosystem services that are unavailable in Linux containers.
7481

7582
```bash
76-
# 1. Install tart
83+
# 1. Install tart and download sluice binary
7784
brew install cirruslabs/cli/tart
85+
curl -L -o sluice https://github.com/nnemirovsky/sluice/releases/latest/download/sluice_darwin_arm64
86+
chmod +x sluice
7887

79-
# 2. Build sluice
80-
go build -o sluice ./cmd/sluice/
81-
82-
# 3. Start with macOS VM runtime
88+
# 2. Start sluice with macOS VM runtime (clones and boots the VM)
8389
./sluice --runtime macos \
8490
--vm-image ghcr.io/cirruslabs/macos-sequoia-base:latest \
8591
--container-name openclaw \
86-
--phantom-dir /tmp/sluice-phantoms
92+
--phantom-dir /tmp/sluice-phantoms \
93+
--config examples/config.toml
8794

88-
# 4. Host network routing (requires root for pf rules)
95+
# 3. Host network routing (requires root for pf rules)
8996
sudo ./scripts/macos-vm-setup.sh
9097
```
9198

0 commit comments

Comments
 (0)