@romiluz/clawmongo 2026.3.22 → 2026.3.23
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 +154 -692
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/docs/design/clawmongo-onboarding-flow.md +213 -0
- package/docs/plans/2026-03-22-clawmongo-presentation-plan.md +630 -0
- package/docs/reference/clawmongo-vs-default-memory.md +112 -0
- package/docs/reference/mongodb-capabilities.md +548 -0
- package/docs/research/2026-03-22-openclaw-ecosystem-github.md +306 -0
- package/docs/research/2026-03-22-openclaw-positioning-web.md +353 -0
- package/docs/start/clawmongo-getting-started.md +287 -0
- package/package.json +25 -4
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# Getting Started with ClawMongo
|
|
2
|
+
|
|
3
|
+
ClawMongo is the MongoDB edition of OpenClaw. This guide gets you from zero to a working personal AI assistant with MongoDB-native memory in about 10 minutes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
### Required
|
|
10
|
+
|
|
11
|
+
- **Node.js 22+** (24 recommended)
|
|
12
|
+
- **MongoDB 7.0+** with mongot (MongoDB Community Search)
|
|
13
|
+
- **Voyage AI API key** (for automated embeddings via mongot)
|
|
14
|
+
- **LLM API key** (Anthropic Claude recommended, or OpenAI, Google, Mistral, etc.)
|
|
15
|
+
|
|
16
|
+
### MongoDB Setup Options
|
|
17
|
+
|
|
18
|
+
#### Option A: Docker (Quickest)
|
|
19
|
+
|
|
20
|
+
Use the MongoDB Community image with mongot. Create a `docker-compose.yml`:
|
|
21
|
+
|
|
22
|
+
```yaml
|
|
23
|
+
version: "3.8"
|
|
24
|
+
services:
|
|
25
|
+
mongodb:
|
|
26
|
+
image: mongodb/mongodb-community-server:latest
|
|
27
|
+
ports:
|
|
28
|
+
- "27017:27017"
|
|
29
|
+
volumes:
|
|
30
|
+
- mongodb_data:/data/db
|
|
31
|
+
command: ["--replSet", "rs0", "--bind_ip_all"]
|
|
32
|
+
environment:
|
|
33
|
+
- MONGODB_INIT_REPLICA_SET=true
|
|
34
|
+
|
|
35
|
+
mongot:
|
|
36
|
+
image: mongodb/mongodb-atlas-search:latest
|
|
37
|
+
depends_on:
|
|
38
|
+
- mongodb
|
|
39
|
+
environment:
|
|
40
|
+
- MONGOD_HOST=mongodb
|
|
41
|
+
- MONGOD_PORT=27017
|
|
42
|
+
- VOYAGE_API_KEY=${VOYAGE_API_KEY}
|
|
43
|
+
|
|
44
|
+
volumes:
|
|
45
|
+
mongodb_data:
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Start the services:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
export VOYAGE_API_KEY="your-voyage-ai-key"
|
|
52
|
+
docker compose up -d
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Initialize the replica set (required for change streams):
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
docker exec -it $(docker compose ps -q mongodb) mongosh --eval "rs.initiate()"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### Option B: Local Install (macOS/Linux)
|
|
62
|
+
|
|
63
|
+
Install MongoDB Community and mongot using Homebrew (macOS) or your package manager:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# macOS
|
|
67
|
+
brew tap mongodb/brew
|
|
68
|
+
brew install mongodb-community
|
|
69
|
+
brew install mongodb-atlas-cli
|
|
70
|
+
|
|
71
|
+
# Start as a replica set (required for change streams)
|
|
72
|
+
mongod --replSet rs0 --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongod.log --fork
|
|
73
|
+
mongosh --eval "rs.initiate()"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Install and configure mongot separately. See [MongoDB Community Search documentation](https://www.mongodb.com/docs/atlas/atlas-search/) for platform-specific instructions.
|
|
77
|
+
|
|
78
|
+
#### Option C: MongoDB Atlas
|
|
79
|
+
|
|
80
|
+
Create a free or paid cluster on [MongoDB Atlas](https://www.mongodb.com/atlas):
|
|
81
|
+
|
|
82
|
+
1. Create a cluster (M0 free tier works for development)
|
|
83
|
+
2. Enable Atlas Search on the cluster
|
|
84
|
+
3. Configure the Voyage AI integration in Atlas Search settings
|
|
85
|
+
4. Get the connection string from the Atlas dashboard
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### Voyage AI Setup
|
|
90
|
+
|
|
91
|
+
1. Sign up at [voyageai.com](https://www.voyageai.com)
|
|
92
|
+
2. Generate an API key from the dashboard
|
|
93
|
+
3. Configure the key in your mongot deployment (Docker env var, Atlas Search settings, or local config)
|
|
94
|
+
|
|
95
|
+
ClawMongo uses `voyage-4-large` (1024 dimensions) for all embeddings. This is configured in the search index definitions, not in application code.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Install ClawMongo
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm install -g @romiluz/clawmongo@latest
|
|
103
|
+
# or
|
|
104
|
+
pnpm add -g @romiluz/clawmongo@latest
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Verify installation:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
clawmongo --version
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
The `openclaw` command is also available as an alias for compatibility.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Configure MongoDB Connection
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Set the MongoDB connection URI
|
|
121
|
+
clawmongo config set memory.mongodb.uri "mongodb://localhost:27017/clawmongo?replicaSet=rs0"
|
|
122
|
+
|
|
123
|
+
# Enable automated embeddings via mongot
|
|
124
|
+
clawmongo config set memory.mongodb.embeddingMode "automated"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
For Atlas, use the full connection string:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
clawmongo config set memory.mongodb.uri "mongodb+srv://user:password@cluster.mongodb.net/clawmongo"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Run Onboarding
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
clawmongo onboard --install-daemon
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
The onboarding wizard walks you through:
|
|
142
|
+
|
|
143
|
+
1. **Model provider selection** -- choose Anthropic, OpenAI, Google, or another supported provider
|
|
144
|
+
2. **API key entry** -- enter your LLM provider API key
|
|
145
|
+
3. **Gateway setup** -- configures the gateway daemon on port 18789
|
|
146
|
+
4. **Collection bootstrap** -- creates all 20 MongoDB collections and 53 standard indexes
|
|
147
|
+
5. **Search index creation** -- creates text and vector search indexes (requires mongot)
|
|
148
|
+
|
|
149
|
+
The `--install-daemon` flag installs the gateway as a system service (launchd on macOS, systemd on Linux) so it stays running.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Verify the Setup
|
|
154
|
+
|
|
155
|
+
### Check gateway status
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
clawmongo gateway status
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Check channel connectivity
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
clawmongo channels status --probe
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Check MongoDB connection and memory health
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
clawmongo doctor
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The doctor command verifies MongoDB connectivity, collection existence, index counts, and mongot availability.
|
|
174
|
+
|
|
175
|
+
### Send a test message
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
clawmongo agent --message "Hello, remember that my name is Alice" --thinking low
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Then verify memory was written:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
clawmongo agent --message "What is my name?" --thinking low
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Connect a Channel (Optional)
|
|
190
|
+
|
|
191
|
+
Telegram is the quickest channel to set up:
|
|
192
|
+
|
|
193
|
+
1. Create a bot via [@BotFather](https://t.me/BotFather) on Telegram
|
|
194
|
+
2. Copy the bot token
|
|
195
|
+
3. Configure it:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
clawmongo config set channels.telegram.botToken "YOUR_BOT_TOKEN"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
4. Restart the gateway:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
clawmongo gateway restart
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
5. Send a message to your bot on Telegram
|
|
208
|
+
|
|
209
|
+
For other channels (WhatsApp, Slack, Discord, etc.), see the [channel setup guides](https://docs.openclaw.ai/channels).
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Configuration Reference
|
|
214
|
+
|
|
215
|
+
Minimal `~/.openclaw/openclaw.json` for ClawMongo:
|
|
216
|
+
|
|
217
|
+
```json5
|
|
218
|
+
{
|
|
219
|
+
agent: {
|
|
220
|
+
model: "anthropic/claude-opus-4-6"
|
|
221
|
+
},
|
|
222
|
+
memory: {
|
|
223
|
+
mongodb: {
|
|
224
|
+
uri: "mongodb://localhost:27017/clawmongo?replicaSet=rs0",
|
|
225
|
+
embeddingMode: "automated"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
For the full configuration reference: [docs.openclaw.ai/gateway/configuration](https://docs.openclaw.ai/gateway/configuration)
|
|
232
|
+
|
|
233
|
+
For MongoDB-specific memory configuration: [docs/reference/memory-config.md](../reference/memory-config.md)
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Next Steps
|
|
238
|
+
|
|
239
|
+
- **Import knowledge base documents**: Use `clawmongo kb import` to add reference material
|
|
240
|
+
- **Configure structured memory**: The agent writes structured facts automatically during conversations
|
|
241
|
+
- **Read the MongoDB capability deep-dive**: [docs/reference/mongodb-capabilities.md](../reference/mongodb-capabilities.md)
|
|
242
|
+
- **Understand the architecture**: [docs/reference/heart-brain-boundary.md](../reference/heart-brain-boundary.md)
|
|
243
|
+
- **Compare with default memory**: [docs/reference/clawmongo-vs-default-memory.md](../reference/clawmongo-vs-default-memory.md)
|
|
244
|
+
- **Set up additional channels**: [docs.openclaw.ai/channels](https://docs.openclaw.ai/channels)
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Troubleshooting
|
|
249
|
+
|
|
250
|
+
### MongoDB connection refused
|
|
251
|
+
|
|
252
|
+
Verify MongoDB is running and accessible:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
mongosh "mongodb://localhost:27017" --eval "db.runCommand({ ping: 1 })"
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Replica set not initialized
|
|
259
|
+
|
|
260
|
+
Change streams require a replica set. Initialize it:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
mongosh --eval "rs.initiate()"
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### mongot not available
|
|
267
|
+
|
|
268
|
+
If search index creation fails, verify mongot is running and connected to your MongoDB instance. ClawMongo falls back to BSON `$text` indexes when mongot is unavailable, but vector search requires mongot.
|
|
269
|
+
|
|
270
|
+
### Voyage AI embedding errors
|
|
271
|
+
|
|
272
|
+
Verify your Voyage AI API key is correctly configured in mongot. Test embedding generation:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
curl -X POST "https://api.voyageai.com/v1/embeddings" \
|
|
276
|
+
-H "Authorization: Bearer YOUR_VOYAGE_KEY" \
|
|
277
|
+
-H "Content-Type: application/json" \
|
|
278
|
+
-d '{"input": "test", "model": "voyage-4-large"}'
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Run the doctor
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
clawmongo doctor
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
The doctor command checks for common configuration issues and provides actionable fix suggestions.
|
package/package.json
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@romiluz/clawmongo",
|
|
3
|
-
"version": "2026.3.
|
|
4
|
-
"description": "MongoDB-
|
|
5
|
-
"keywords": [
|
|
3
|
+
"version": "2026.3.23",
|
|
4
|
+
"description": "The MongoDB edition of OpenClaw - personal AI assistant with production-grade MongoDB memory, 22 channels, knowledge graph, episode materialization, and Voyage AI vector search",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"mongodb",
|
|
7
|
+
"ai-assistant",
|
|
8
|
+
"personal-ai",
|
|
9
|
+
"openclaw",
|
|
10
|
+
"agent-memory",
|
|
11
|
+
"vector-search",
|
|
12
|
+
"knowledge-graph",
|
|
13
|
+
"voyage-ai",
|
|
14
|
+
"multi-channel",
|
|
15
|
+
"whatsapp",
|
|
16
|
+
"telegram",
|
|
17
|
+
"discord",
|
|
18
|
+
"slack",
|
|
19
|
+
"event-sourcing",
|
|
20
|
+
"graphlookup",
|
|
21
|
+
"mongot",
|
|
22
|
+
"hybrid-search",
|
|
23
|
+
"episode-materialization",
|
|
24
|
+
"retrieval-planner",
|
|
25
|
+
"typescript"
|
|
26
|
+
],
|
|
6
27
|
"homepage": "https://github.com/romiluz13/ClawMongo#readme",
|
|
7
28
|
"bugs": {
|
|
8
29
|
"url": "https://github.com/romiluz13/ClawMongo/issues"
|
|
9
30
|
},
|
|
10
31
|
"license": "MIT",
|
|
11
|
-
"author": "",
|
|
32
|
+
"author": "Rom Iluz <rom@openclaw.ai>",
|
|
12
33
|
"repository": {
|
|
13
34
|
"type": "git",
|
|
14
35
|
"url": "git+https://github.com/romiluz13/ClawMongo.git"
|