limbo-ai 1.18.3 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Limbo
2
2
 
3
- A personal memory agent. Captures ideas, remembers things, and connects knowledge across time — running quietly in a Docker container, accessible via Telegram or the OpenClaw gateway.
3
+ A personal memory agent. Captures ideas, remembers things, and connects knowledge across time — running quietly in a Docker container, accessible via Telegram or the ZeroClaw gateway.
4
4
 
5
5
  ## What it is
6
6
 
@@ -88,9 +88,9 @@ npx limbo-ai start --reconfigure
88
88
 
89
89
  Message your bot and Limbo will respond — full agent with personality, memory logic, and vault tools.
90
90
 
91
- #### OpenClaw client
91
+ #### ZeroClaw client
92
92
 
93
- Any [OpenClaw](https://openclaw.dev)-compatible chat client can connect to:
93
+ Any ZeroClaw-compatible chat client can connect via WebSocket to:
94
94
 
95
95
  ```
96
96
  ws://localhost:18789
@@ -131,9 +131,8 @@ Managed automatically by `npx limbo-ai start`, stored in `~/.limbo/.env`.
131
131
  | `TELEGRAM_ENABLED` | no | `false` | Enable Telegram bot integration |
132
132
  | `TELEGRAM_BOT_TOKEN` | no | — | Telegram bot token (required if `TELEGRAM_ENABLED=true`) |
133
133
  | `TELEGRAM_AUTO_PAIR_FIRST_DM` | no | `false` | Auto-approves the first Telegram DM sender and persists access (must opt-in explicitly) |
134
- | `OPENCLAW_GATEWAY_TOKEN` | no | generated | Stable gateway token for OpenClaw-compatible clients |
135
134
 
136
- > \* API keys are required only for `AUTH_MODE=api-key`. Subscription auth uses OpenClaw auth profiles instead.
135
+ > \* API keys are required only for `AUTH_MODE=api-key`. Subscription auth uses ZeroClaw auth profiles instead.
137
136
 
138
137
  ---
139
138
 
@@ -159,7 +158,7 @@ Full tool specs in `workspace/TOOLS.md`.
159
158
  │ Docker Container │
160
159
  │ │
161
160
  │ ┌─────────────┐ ┌────────────────┐ │
162
- │ │ OpenClaw │◄──►│ LLM (Claude │ │
161
+ │ │ ZeroClaw │◄──►│ LLM (Claude │ │
163
162
  │ │ Gateway │ │ or OpenAI) │ │
164
163
  │ │ :18789 │ └────────┬───────┘ │
165
164
  │ └──────┬──────┘ │ │
@@ -174,7 +173,7 @@ Full tool specs in `workspace/TOOLS.md`.
174
173
  └─────────────────────────────────────────┘
175
174
  ```
176
175
 
177
- - **OpenClaw** — gateway that handles client connections, routes to the LLM, and integrates MCP tools
176
+ - **ZeroClaw** — lightweight Rust gateway that handles client connections, routes to the LLM, and integrates MCP tools
178
177
  - **MCP server** — Node.js server providing vault read/write tools
179
178
  - **Vault** — plain markdown files with YAML frontmatter, persisted in a named Docker volume
180
179
  - **Migrations** — lightweight Node.js migration runner for vault schema changes
package/SECURITY.md CHANGED
@@ -10,14 +10,14 @@ Limbo runs inside a Docker container with the following hardening:
10
10
  - **Capabilities dropped**: All Linux capabilities are dropped (`cap_drop: ALL`)
11
11
  - **Process limit**: PID limit of 200 prevents fork bombs
12
12
  - **Loopback binding**: Gateway only listens on `127.0.0.1` — not exposed to LAN
13
- - **Writable paths**: Only `/data` (volume), `/home/limbo/.openclaw` (volume), `/tmp` (tmpfs), and `/home/limbo/.npm` (tmpfs) are writable
13
+ - **Writable paths**: Only `/data` (volume), `/home/limbo/.zeroclaw` (volume), `/tmp` (tmpfs), and `/home/limbo/.npm` (tmpfs) are writable
14
14
 
15
15
  ## What Agents Can Access
16
16
 
17
17
  Inside the container, the AI agent can:
18
18
 
19
19
  - Read and write vault notes in `/data/vault/` (via MCP tools only)
20
- - Execute MCP tools registered through mcporter (vault_search, vault_read, vault_write_note, vault_update_map)
20
+ - Execute MCP tools registered through ZeroClaw native MCP (vault_search, vault_read, vault_write_note, vault_update_map)
21
21
  - Search the web and fetch URLs (`web_search`, `web_fetch` — enabled for recommendations, link previews, etc.)
22
22
  - Respond to Telegram messages (if enabled, with pairing required)
23
23
  - Make network requests to AI provider APIs (Anthropic, OpenAI, OpenRouter)
@@ -36,9 +36,9 @@ Inside the container, the AI agent can:
36
36
  - **Access host filesystem**: Only the bind-mounted vault directory is accessible
37
37
  - **Spawn unlimited processes**: PID limit of 200
38
38
 
39
- ## OpenClaw Tool Policy
39
+ ## ZeroClaw Tool Policy
40
40
 
41
- The agent runs with `tools.profile: "messaging"` — the most restrictive built-in profile. On top of that:
41
+ The agent runs with the most restrictive tool profile. On top of that:
42
42
 
43
43
  - **Allowed**: `web_search`, `web_fetch` (for link previews, shopping recommendations, general web queries)
44
44
  - **Denied**: `exec`, `browser`, `canvas`, `nodes`, `cron`, `gateway`, `sessions_spawn`, `sessions_send`, `process`, `image`, `group:automation`, `group:runtime`, `group:fs`
@@ -57,19 +57,18 @@ API keys are stored as Docker Compose secrets:
57
57
  - **Not in environment**: Secrets are scrubbed from the process environment before the gateway starts
58
58
  - **Not in `docker inspect`**: Docker secrets don't appear in container inspect output
59
59
  - **`.env` file**: Only contains non-sensitive configuration (model provider, model name, language, etc.)
60
- - **Exception**: `OPENCLAW_GATEWAY_TOKEN` remains in the process environment because the gateway process needs it to validate incoming WebSocket connections. All other secrets (API keys, bot tokens) are scrubbed before exec
60
+ - **Gateway auth**: ZeroClaw manages its own gateway authentication internally. All secrets (API keys, bot tokens) are scrubbed from the process environment before the daemon starts
61
61
 
62
- ## OpenClaw Security
62
+ ## ZeroClaw Security
63
63
 
64
- Limbo uses OpenClaw in a **personal assistant trust model** (one trusted operator per gateway). Key settings:
64
+ Limbo uses ZeroClaw in a **personal assistant trust model** (one trusted operator per gateway). Key settings in `config.toml`:
65
65
 
66
- - `gateway.mode: "local"` — local operation only
67
- - `gateway.bind: "loopback"` — no network exposure
68
- - `gateway.auth.mode: "token"` — all WebSocket clients must authenticate
69
- - `session.dmScope: "per-channel-peer"` — DM sessions are isolated per sender (when using Telegram)
70
- - `dmPolicy: "pairing"` — unknown Telegram senders must be explicitly approved
71
-
72
- For more on OpenClaw's security model: https://docs.openclaw.ai/security
66
+ - `[gateway] host = "127.0.0.1"` — loopback only, no LAN exposure
67
+ - `[gateway] allow_public_bind = false` — prevents binding to all interfaces
68
+ - `[gateway.auth] mode = "token"` — all WebSocket clients must present a valid token
69
+ - `[gateway.auth] token_file = "/run/secrets/gateway_token"` — reads auth token from Docker secret
70
+ - `[session] dm_scope = "per-channel-peer"` — DM sessions are isolated per sender (when using Telegram)
71
+ - `[channels.telegram] dm_policy = "pairing"` — unknown Telegram senders must be explicitly approved
73
72
 
74
73
  ## Network Access
75
74
 
@@ -106,4 +105,4 @@ If you discover a security vulnerability in Limbo:
106
105
  3. Include: description, reproduction steps, affected version, and impact assessment
107
106
  4. We will acknowledge within 48 hours and work on a fix
108
107
 
109
- For vulnerabilities in OpenClaw itself, follow their responsible disclosure process at https://docs.openclaw.ai/security
108
+ For vulnerabilities in ZeroClaw itself, follow their responsible disclosure process at https://github.com/zeroclaw-labs/zeroclaw/security