Skip to content

Commit 563c7f8

Browse files
committed
docs(readme): make OpenClaw-centric
1 parent 6f7e9d5 commit 563c7f8

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
# Sluice
22

3-
Credential-injecting approval proxy for AI agents. Sluice sits between your AI agent and the internet, ensuring every outbound connection and tool call is governed by policy, approved by a human when needed, and never exposes real credentials to the agent.
3+
Governance and credential injection proxy for [OpenClaw](https://github.com/nnemirovsky/openclaw). Sluice sits between OpenClaw and the internet, ensuring every outbound connection and MCP tool call is governed by policy, approved by a human when needed, and never exposes real credentials to the agent.
44

55
## Why Sluice
66

7-
AI agents need API keys, database credentials, and service tokens to do useful work. Giving them real credentials is risky. They can leak secrets in tool outputs, exfiltrate data to unexpected endpoints, or make destructive API calls without oversight.
7+
OpenClaw needs API keys, database credentials, and service tokens to do useful work. Giving it real credentials is risky. It can leak secrets in tool outputs, exfiltrate data to unexpected endpoints, or make destructive API calls without oversight.
88

99
Sluice solves this with two layers of governance:
1010

11-
- **MCP Gateway** -- intercepts tool calls between the agent and MCP servers. Sees tool names, arguments, and responses. Blocks dangerous operations (file writes, exec, deletions) and redacts secrets from responses. Governs local tools that never touch the network.
12-
- **SOCKS5 Proxy** -- intercepts every TCP and UDP connection from the agent's container. Supports HTTP, HTTPS, WebSocket, gRPC, SSH, IMAP, SMTP, DNS, and QUIC/HTTP3. Injects real credentials at the network level via MITM so the agent never sees them.
11+
- **MCP Gateway** -- intercepts tool calls between OpenClaw and MCP servers. Sees tool names, arguments, and responses. Blocks dangerous operations (file writes, exec, deletions) and redacts secrets from responses. Governs local tools that never touch the network.
12+
- **SOCKS5 Proxy** -- intercepts every TCP and UDP connection from OpenClaw's container. Supports HTTP, HTTPS, WebSocket, gRPC, SSH, IMAP, SMTP, DNS, and QUIC/HTTP3. Injects real credentials at the network level via MITM so OpenClaw never sees them.
1313

14-
The agent gets phantom tokens (random strings that look like real API keys). Sluice swaps them for real credentials in-flight. If the agent leaks a phantom token, it's useless outside the proxy.
14+
OpenClaw gets phantom tokens (random strings that look like real API keys). Sluice swaps them for real credentials in-flight. If OpenClaw leaks a phantom token, it's useless outside the proxy.
1515

1616
## How It Works
1717

1818
```
1919
Container (Docker / Apple Container / macOS VM):
20-
AI Agent (OpenClaw) -- uses phantom tokens, thinks they're real
20+
OpenClaw -- uses phantom tokens, thinks they're real
2121
tun2proxy -- routes all traffic to SOCKS5
2222
2323
Host:
@@ -26,13 +26,13 @@ Host:
2626
Telegram Bot -- human approval for "ask" verdicts
2727
```
2828

29-
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.
29+
Every connection is evaluated against policy rules (allow / deny / ask). "Ask" verdicts send a Telegram notification with inline buttons. OpenClaw blocks until the human responds. Credentials are managed via Telegram commands or CLI, stored encrypted with age, and hot-reloaded into OpenClaw without restarts.
3030

3131
## Quick Start
3232

3333
### Docker (Linux)
3434

35-
The recommended setup for Linux. Three containers share a network namespace: sluice (proxy), tun2proxy (routes all traffic through SOCKS5), and your AI agent.
35+
The recommended setup for Linux. Three containers share a network namespace: sluice (proxy), tun2proxy (routes all traffic through SOCKS5), and OpenClaw.
3636

3737
```bash
3838
# 1. Clone and configure
@@ -46,15 +46,15 @@ cp examples/config.toml config.toml # edit policy rules
4646
# 3. Start (sluice + tun2proxy + openclaw)
4747
docker compose up -d
4848

49-
# 4. Add API credentials (phantom tokens auto-generated, hot-reloaded to agent)
49+
# 4. Add API credentials (phantom tokens auto-generated, hot-reloaded to OpenClaw)
5050
docker exec sluice sluice cred add anthropic_api_key \
5151
--destination api.anthropic.com --ports 443 \
5252
--header x-api-key
5353
```
5454

5555
### Apple Container (macOS)
5656

57-
Native macOS micro-VMs via Virtualization.framework. Lightweight isolation with sub-second boot. Runs Linux guests.
57+
Native macOS micro-VMs via Virtualization.framework. Lightweight isolation with sub-second boot. Runs Linux guests. OpenClaw runs inside the micro-VM with all traffic routed through sluice.
5858

5959
```bash
6060
# 1. Download sluice binary (see Releases page for latest version)
@@ -77,7 +77,7 @@ container run --name openclaw \
7777

7878
### macOS VM (via tart)
7979

80-
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.
80+
Full macOS guest VM with access to Apple frameworks (iMessage, EventKit, Keychain, Shortcuts). Use this when OpenClaw needs to interact with Apple ecosystem services that are unavailable in Linux containers. Sluice manages the VM lifecycle and routes all traffic through the proxy.
8181

8282
```bash
8383
# 1. Install tart and download sluice binary
@@ -100,7 +100,7 @@ Requires macOS with Apple Silicon (M1+). The macOS EULA allows up to 2 additiona
100100

101101
### Standalone (binary)
102102

103-
Download a pre-built binary from [Releases](https://github.com/nnemirovsky/sluice/releases) and run sluice as a standalone proxy. No container runtime needed. Configure your application to route through sluice manually.
103+
Download a pre-built binary from [Releases](https://github.com/nnemirovsky/sluice/releases) and run sluice as a standalone proxy. No container runtime needed. Point OpenClaw at sluice manually.
104104

105105
Available binaries: `linux/amd64`, `linux/arm64`, `darwin/amd64`, `darwin/arm64`.
106106

@@ -112,8 +112,8 @@ chmod +x sluice
112112
# Run standalone
113113
./sluice --runtime none --listen 127.0.0.1:1080 --config examples/config.toml
114114

115-
# Point your application at the proxy
116-
export ALL_PROXY=socks5://localhost:1080
115+
# Point OpenClaw at the proxy
116+
ALL_PROXY=socks5://localhost:1080 openclaw
117117
```
118118

119119
Credential injection (MITM) and MCP gateway work normally. Only container lifecycle management (hot-reload, restart) is disabled.
@@ -184,7 +184,7 @@ Manage sluice from your phone. Approve connections, add credentials, update poli
184184
| `/policy allow <dest>` | Add allow rule |
185185
| `/policy deny <dest>` | Add deny rule |
186186
| `/cred add <name>` | Add credential (value sent as next message, auto-deleted) |
187-
| `/cred rotate <name>` | Replace credential, hot-reload agent |
187+
| `/cred rotate <name>` | Replace credential, hot-reload OpenClaw |
188188
| `/status` | Proxy stats and pending approvals |
189189
| `/audit recent [N]` | Last N audit entries |
190190

0 commit comments

Comments
 (0)