@romiluz/clawmongo 2026.3.22 → 2026.3.24

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.
@@ -0,0 +1,338 @@
1
+ # Web Research: Agent Memory Pain Points -- Real User Complaints
2
+
3
+ ## Execution
4
+ - Preferred backend: websearch+webfetch
5
+ - Allowed fallbacks: webfetch-only
6
+ - Research round: 1
7
+
8
+ ## Sources Used
9
+ - GitHub Issues: openclaw/openclaw (30 memory-related issues analyzed)
10
+ - GitHub Issues: crewAIInc/crewAI (30 memory-related issues analyzed)
11
+ - GitHub Issues: langchain-ai/langchain (30 memory-related issues analyzed)
12
+ - GitHub Issues: Significant-Gravitas/AutoGPT (3 memory-related issues analyzed)
13
+ - GitHub README: mem0ai/mem0 (problem statement and architecture)
14
+ - arXiv: Survey on Memory Mechanisms in LLM-Based Agents (2404.13501)
15
+ - Reddit: blocked by platform (Google search also blocked); findings derived from issue trackers and project documentation
16
+
17
+ ## Research Quality
18
+ - Status: COMPLETE
19
+ - Quality level: high
20
+ - Backend mode: websearch+webfetch
21
+ - Note: Reddit direct access was blocked; compensated with deep GitHub issue mining across 4 major projects (93+ issues reviewed). GitHub issues contain higher-signal complaints than Reddit (reproducible bugs, code-level analysis, production telemetry).
22
+
23
+ ---
24
+
25
+ ## CATEGORY 1: "Memory Management Is In Chaos" -- Config Confusion
26
+
27
+ **Source:** openclaw/openclaw#43747 (labeled: bug, regression)
28
+
29
+ The single most damning issue title: **"[Bug]: Memory management is in chaos."** A user discovered that OpenClaw has TWO memory backends (SQLite builtin + QMD markdown files) running simultaneously with NO unified configuration. Different team members had different behavior and did not know why.
30
+
31
+ Key user quotes:
32
+ - "Who added the QMD feature! This is of no design at all!"
33
+ - "I don't like the QMD. I think this should be configurable."
34
+ - "It's confusing. both [memory directories] exist in my ~/.openclaw folder"
35
+ - Config is "scattered: agents.defaults.compaction.memoryFlush, memory.qmd.*, etc."
36
+
37
+ **The real pain:** Users cannot reason about WHERE their agent's memory lives, HOW it gets there, or WHICH backend is active. There is no single `memory.type` config. Memory behavior changes silently across versions.
38
+
39
+ **Related issues:**
40
+ - #47023: memory.qmd.mcporter enabled but memory_search still uses raw qmd query on Linux
41
+ - #46687: Memory file naming inconsistency between AGENTS.md template and session-memory hook
42
+
43
+ ---
44
+
45
+ ## CATEGORY 2: "Memory Just Disappears" -- Silent Data Loss
46
+
47
+ ### 2a. No Write Tool Exists (openclaw#52033)
48
+
49
+ **Title:** "[Bug]: Tool memory_set not found"
50
+
51
+ A user asked their agent to "remember this" (Chinese text). The agent called `memory_get` on MEMORY.md **50+ times** in a loop, never finding a way to write. Root cause analysis from a commenter:
52
+
53
+ - `src/agents/tool-catalog.ts` only lists `memory_search` and `memory_get` -- there is NO `memory_set` core tool
54
+ - The system prompt tells agents to "use memory tools" but only read-oriented tools exist
55
+ - Result: the user's instruction was silently lost forever
56
+
57
+ **This is the universal failure mode:** agents appear to work (tool calls execute) but nothing is persisted.
58
+
59
+ ### 2b. Plugin Tool Results Silently Dropped (openclaw#47573)
60
+
61
+ Memory plugin tools (`memory_forget`, `memory_store_batch`) execute successfully but results never reach the session layer. Agent goes silent. Only discoverable after the fact. Requires gateway restart.
62
+
63
+ ### 2c. SQLite Index Goes Empty (openclaw#46599)
64
+
65
+ After long sessions, memory_search returns "database is not open." The SQLite index silently empties or corrupts, making all stored memory unsearchable.
66
+
67
+ ### 2d. Memory Flush Never Actually Fires (openclaw#43006)
68
+
69
+ A contributor asked: "Are you actually seeing memory flush working correctly? I'm pretty sure I've never seen memory flush work prior to compaction. It always happens post compaction." -- meaning memory is lost DURING compaction, not saved BEFORE it.
70
+
71
+ ### 2e. Search Returns Paths That Get Can't Resolve (openclaw#50313)
72
+
73
+ QMD memory_search returns normalized/slugified paths. When the agent calls memory_get with that path, it fails silently. Knowledge base gives "empty results instead of the files you found."
74
+
75
+ ---
76
+
77
+ ## CATEGORY 3: MEMORY.md Is a Token Bomb -- Cost and Performance
78
+
79
+ **Source:** openclaw/openclaw#26949
80
+
81
+ MEMORY.md is fully injected into the system prompt DESPITE memory_search/memory_get tools being available. Users report:
82
+
83
+ - 93.5% of token budget wasted on workspace file injection (#9157)
84
+ - Production user @albinati measured: switching to hierarchical lazy-loading achieved **97.5% payload reduction** (683KB cold storage, 17KB hot path)
85
+ - Token burn rate dropped from ~1.7M input tokens/day to ~42K
86
+ - "Lost in the Middle" attention degradation drops to zero with lazy loading
87
+
88
+ **The workaround users invented:** Strip MEMORY.md to a lightweight "bootloader" index, move dense context to `memory/*.md` domain files, let memory_search find them on demand.
89
+
90
+ This is the #1 FinOps pain point for production agent deployments.
91
+
92
+ ---
93
+
94
+ ## CATEGORY 4: No Memory Isolation Between Agents
95
+
96
+ **Source:** openclaw/openclaw#15325, #38797
97
+
98
+ All agents share a single memory pool. No `agentId` scoping. Problems:
99
+
100
+ - Agent A's memories pollute Agent B's recall
101
+ - Privacy leak in multi-user setups (one user's conversation surfaces in another's context)
102
+ - No way to have agent-specific memory retention policies
103
+
104
+ Community workarounds:
105
+ - @NAPTiON: file-based approach with local Llama 3.2 1B categorizer routing to per-project directories
106
+ - @jamebobob: built openclaw-mem0-multi-pool with user_id as pool discriminator, N:M agent-pool routing
107
+ - Both confirm the approach works but should be built-in
108
+
109
+ ---
110
+
111
+ ## CATEGORY 5: Single Memory Plugin Slot -- Can't Compose Memory Layers
112
+
113
+ **Source:** openclaw/openclaw#38874 (2 thumbs up, enhancement)
114
+
115
+ The memory system has a **single plugin slot** -- only one memory backend can be active. But in practice, different memory types serve orthogonal purposes:
116
+
117
+ - Vector memory (LanceDB, Mem0): semantic similarity, fast recall
118
+ - Graph memory (Cognee, Graphiti): entity relationships, multi-hop reasoning
119
+ - File memory (markdown): structured facts, user preferences
120
+
121
+ Users need BOTH simultaneously. Current workarounds:
122
+ - @prudkov: disabled Cognee plugin, runs it as standalone Docker API server, queries via custom `kind: "knowledge-graph"` plugin
123
+ - @m13v: layers memory systems outside the plugin model entirely, uses routing layer to decide which source to query
124
+
125
+ Proposed solution: `kind: "memory-augment"` plugin type that hooks into recall/capture lifecycle without competing for the exclusive slot.
126
+
127
+ ---
128
+
129
+ ## CATEGORY 6: File Watcher Is Silently Dead
130
+
131
+ **Source:** openclaw/openclaw#34400
132
+
133
+ Chokidar v4 removed glob support. The file watcher was effectively dead -- `ensureWatcher()` passes `memory/**/*.md` but chokidar v4 silently ignores it. No file changes were detected without gateway restart.
134
+
135
+ Additional bugs discovered:
136
+ - `DATED_MEMORY_PATH_RE` regex doesn't match dated files in subdirectories -- temporal decay broken
137
+ - `search()` sync is fire-and-forget -- first search after dirty returns stale results
138
+ - New files in subdirectories invisible until process restart even after forced reindex
139
+
140
+ Users organizing memory into logical subfolders (family/, projects/) find the entire retrieval system goes blind.
141
+
142
+ ---
143
+
144
+ ## CATEGORY 7: LangChain Memory -- Fundamental Architecture Problems
145
+
146
+ **Source:** langchain-ai/langchain GitHub issues (30 analyzed)
147
+
148
+ LangChain's memory system has been a persistent pain point across hundreds of issues. Key themes:
149
+
150
+ ### 7a. Memory Incompatible with Retrieval Chains
151
+ - #2303 (high engagement): ConversationalRetrievalChain + Memory doesn't work
152
+ - #2256: Memory not supported with sources chain
153
+ - Pattern: the moment you add source attribution or retrieval, memory breaks
154
+
155
+ ### 7b. Agent-Memory Configuration Hell
156
+ - #4000: Structured Chat Agent doesn't support ConversationMemory
157
+ - #891: Input variable conflicts in conversational agents with memory
158
+ - Pattern: adding memory to agents requires fighting the framework
159
+
160
+ ### 7c. Memory Leak (Literal)
161
+ - Multiple issues about ResourceWarning, unclosed sockets, RAM growing unbounded
162
+ - Instance management problems with FastAPI services (must singleton, not re-instantiate)
163
+
164
+ ### 7d. The "Deprecated" Problem
165
+ LangChain deprecated its memory abstractions in favor of langgraph checkpointing. This left thousands of users with broken upgrade paths and undocumented migration steps.
166
+
167
+ ---
168
+
169
+ ## CATEGORY 8: CrewAI Memory -- Broken By Default
170
+
171
+ **Source:** crewAIInc/crewAI GitHub issues (30 analyzed)
172
+
173
+ ### 8a. Long-Term Memory Never Actually Stores Data (#1222, 2024-2025)
174
+ Multiple users reported: `memory=True` creates `long_term_memory.db` but the file is empty. The LLM evaluation step (`TaskEvaluator.evaluate()`) silently fails because it can't parse LLM output into structured `TaskEvaluation`. Error: "Missing attributes for long term memory: 'str' object has no attribute 'quality'."
175
+
176
+ This was reported in August 2024, confirmed by 5+ users, and auto-closed by stale-bot without a fix.
177
+
178
+ ### 8b. Memory Forces OpenAI Calls Even When Running Locally (#447)
179
+ "Passing memory=True reaches out to Open AI, even when running locally with Ollama." Memory feature defaults to external API calls regardless of your LLM configuration.
180
+
181
+ ### 8c. Storage Backend Lock-in (#967, #635)
182
+ Users need alternatives beyond SQLite/Chroma. Requests for MongoDB, Postgres, Valkey/Redis backends were filed and went stale.
183
+
184
+ ### 8d. Memory Module Silently Fails (#1388)
185
+ "CrewAI 0.6 Memory module failed and was not called at all." No error, no warning, just silent absence.
186
+
187
+ ### 8e. Cross-Crew Memory Sharing Impossible (#714)
188
+ Memory doesn't persist across different Crew instances. Each kickoff() starts fresh. Users expected same-instance memory to carry over -- it doesn't.
189
+
190
+ ### 8f. Episodic Amnesia from Context Reset (#4415)
191
+ When context is reset between tasks (to prevent pollution), ALL learned context is wiped: "The system should ideally get smarter with each use, not reset to a base state every time."
192
+
193
+ ---
194
+
195
+ ## CATEGORY 9: AutoGPT Memory -- External Service Failures
196
+
197
+ **Source:** Significant-Gravitas/AutoGPT issues
198
+
199
+ - #1073: Local memory file warning -- "auto-gpt.json does not exist. Local memory would not be saved to a file." Persistence failure = session data lost between runs.
200
+ - #328: Pinecone connection error -- vector DB integration failure prevents ALL memory operations
201
+ - #38: Chunking inefficiencies -- how text is split for memory storage affects retrieval accuracy
202
+
203
+ Pattern: memory depends on external services that fail, and there is NO graceful degradation.
204
+
205
+ ---
206
+
207
+ ## CATEGORY 10: Enterprise Memory Requirements
208
+
209
+ Synthesized from GitHub issues, community proposals, and project documentation:
210
+
211
+ ### 10a. Audit Trail
212
+ - openclaw#50096 proposes "Long-Term Memory & Knowledge Management" with UAML providing 3-layer recall with SQL archive as "complete safety net"
213
+ - CrewAI#4439 proposes "Agent Trust Stack" with provenance chains, canonical event modeling, deterministic replay
214
+ - Requirement: every memory operation must be traceable, replayable, and attributable
215
+
216
+ ### 10b. Multi-User / Multi-Tenant Isolation
217
+ - openclaw#15325: per-agent memory isolation
218
+ - openclaw#45042: privacy filter by guild/session
219
+ - "Without namespace isolation, Agent A's memory retrieval could surface content from Agent B's private conversations. This isn't hypothetical -- we've seen it happen with shared vector stores."
220
+
221
+ ### 10c. Compliance and Encryption
222
+ - UAML memory (openclaw#50096): PQC encryption (ML-KEM-768, NIST FIPS 203), "designed for regulated environments (GDPR, ISO 27001)"
223
+ - Requirement: memory at rest and in transit must be encrypted; data residency controls
224
+
225
+ ### 10d. Memory Lifecycle / TTL
226
+ - openclaw#45042: "Not all memories should live forever... A ttl or decay_weight field would let retrieval naturally deprioritize stale context"
227
+ - Different memory types need different decay: rules/preferences persist forever, pending tasks and operational context decay after ~90 days
228
+ - openclaw#51385: "frequency-aware ranking, consolidation, and forgetting -- human-like memory lifecycle"
229
+
230
+ ### 10e. Scalability
231
+ - Mem0 benchmarks: 91% faster responses, 90% lower token usage vs full-context
232
+ - Production user measured 97.5% token reduction with hierarchical lazy-loading
233
+ - Without proper memory architecture, costs scale linearly with memory size
234
+
235
+ ### 10f. Disaster Recovery
236
+ - Multiple references to KeepMyClaw (backup service) across OpenClaw issues -- indicating real demand for memory state recovery
237
+ - Sessions corrupt, reset, lose state from provider errors, gateway crashes, session manager bugs
238
+ - "When the session layer drops results silently, external backups preserve the full context"
239
+
240
+ ---
241
+
242
+ ## WHAT CHANGED THE RECOMMENDATION
243
+
244
+ **The single highest-signal finding:**
245
+
246
+ The OpenClaw ecosystem has spawned **at least 8 third-party memory solutions** (UAML, KeepMyClaw, mem9, Synapse, SuperBrain, NAPTiON pipeline, user-memories, openclaw-mem0-multi-pool) in the span of weeks -- all trying to fix the same fundamental problem: **the default memory system is file-based, single-slot, lacks write primitives, has no isolation, silently loses data, and wastes tokens.**
247
+
248
+ This is not a "nice to have" feature gap. This is a market signal that the memory layer is broken enough to spawn an entire ecosystem of workarounds.
249
+
250
+ ClawMongo's v2 architecture (event-first, MongoDB-native, multi-path retrieval, graph traversal, episode materialization) directly addresses every single pain point documented above:
251
+
252
+ | Pain Point | ClawMongo v2 Answer |
253
+ |---|---|
254
+ | Config chaos (2 backends, scattered config) | Single MongoDB backend, unified config |
255
+ | Silent data loss / no write tool | Events as primary write target, canonical truth |
256
+ | Token bomb (full injection) | Retrieval planner selects relevant paths only |
257
+ | No agent isolation | Scope field on events, entities, episodes |
258
+ | Single memory slot | 6 retrieval paths (chunks, events, entities, relations, episodes, structured) |
259
+ | File watcher dead | MongoDB Change Streams (no file watching) |
260
+ | No audit trail | Immutable event log, ingest/projection runs |
261
+ | No TTL/lifecycle | expiresAt + TTL indexes (planned from AWM research) |
262
+ | Cross-session amnesia | Persistent MongoDB storage, episode materialization |
263
+ | Scalability | Atlas-native vector search, horizontal scaling |
264
+
265
+ ---
266
+
267
+ ## GOTCHAS / WARNINGS
268
+
269
+ 1. **The "memory_set not found" pattern is universal** -- agents that can READ memory but not WRITE it will loop indefinitely. Any memory system MUST have explicit write primitives exposed as agent tools.
270
+
271
+ 2. **Silent failures are worse than crashes** -- across ALL frameworks, the most damaging bugs are silent ones: empty databases, dropped tool results, dead file watchers. Users only discover data loss after the fact.
272
+
273
+ 3. **Memory configuration sprawl kills adoption** -- OpenClaw's scattered config (memoryFlush, qmd.*, backend, plugin entries) is a cautionary tale. ClawMongo must have ONE clear config surface.
274
+
275
+ 4. **Plugin/extension architecture matters** -- single-slot memory blocks composition. ClawMongo's multi-collection approach inherently supports parallel memory types but this must be exposed through clear APIs.
276
+
277
+ 5. **Production cost is the adoption gate** -- the 97.5% token reduction from lazy-loading shows that naive memory injection makes production deployment economically unviable. Retrieval planning is not optional.
278
+
279
+ 6. **Cross-agent memory sharing is a top-3 request** -- CrewAI, OpenClaw, and AutoGPT all have issues requesting it. Memory isolation + controlled sharing must be first-class.
280
+
281
+ 7. **LangChain's deprecation of memory abstractions** left users stranded -- any memory API surface must be stable and migration-safe.
282
+
283
+ ## REFERENCES
284
+
285
+ ### OpenClaw Issues (Primary Source)
286
+ - https://github.com/openclaw/openclaw/issues/52033 -- memory_set not found (no write tool)
287
+ - https://github.com/openclaw/openclaw/issues/43747 -- "Memory management is in chaos"
288
+ - https://github.com/openclaw/openclaw/issues/26949 -- MEMORY.md token bomb
289
+ - https://github.com/openclaw/openclaw/issues/38874 -- single memory plugin slot
290
+ - https://github.com/openclaw/openclaw/issues/15325 -- per-agent memory isolation
291
+ - https://github.com/openclaw/openclaw/issues/34400 -- recursive subdirectory search broken
292
+ - https://github.com/openclaw/openclaw/issues/50313 -- search/get path mismatch
293
+ - https://github.com/openclaw/openclaw/issues/47573 -- plugin tool results silently dropped
294
+ - https://github.com/openclaw/openclaw/issues/46599 -- SQLite index empty after long session
295
+ - https://github.com/openclaw/openclaw/issues/43006 -- memory flush doesn't fire before compaction
296
+ - https://github.com/openclaw/openclaw/issues/50096 -- Long-term memory & knowledge management
297
+ - https://github.com/openclaw/openclaw/issues/45042 -- active memory retrieval + context compaction
298
+ - https://github.com/openclaw/openclaw/issues/51385 -- frequency-aware ranking and forgetting
299
+ - https://github.com/openclaw/openclaw/issues/48558 -- Anthropic Memory Tool support
300
+ - https://github.com/openclaw/openclaw/issues/43408 -- case-insensitive MEMORY.md duplication
301
+ - https://github.com/openclaw/openclaw/issues/49495 -- plugin config rejected by gateway validator
302
+ - https://github.com/openclaw/openclaw/issues/51676 -- memory_search fails to load (bad npm publish)
303
+ - https://github.com/openclaw/openclaw/issues/27863 -- memory_write for orchestrator sessions
304
+ - https://github.com/openclaw/openclaw/issues/9157 -- 93.5% token budget wasted
305
+ - https://github.com/openclaw/openclaw/issues/46570 -- memory search only returns sessions, not memory files
306
+
307
+ ### CrewAI Issues
308
+ - https://github.com/crewAIInc/crewAI/issues/1222 -- long-term memory not storing data
309
+ - https://github.com/crewAIInc/crewAI/issues/447 -- memory=True calls OpenAI even with Ollama
310
+ - https://github.com/crewAIInc/crewAI/issues/967 -- alternative database storage
311
+ - https://github.com/crewAIInc/crewAI/issues/1388 -- memory module silently failed
312
+ - https://github.com/crewAIInc/crewAI/issues/714 -- sharing memory between crew instances
313
+ - https://github.com/crewAIInc/crewAI/issues/4415 -- episodic amnesia from context reset
314
+ - https://github.com/crewAIInc/crewAI/issues/4509 -- Pydantic validation error saving memory
315
+ - https://github.com/crewAIInc/crewAI/issues/4703 -- telemetry fails with custom memory backends
316
+ - https://github.com/crewAIInc/crewAI/issues/4682 -- agent loop detection (memory-related)
317
+ - https://github.com/crewAIInc/crewAI/issues/4030 -- external memory with Mem0/Valkey fails
318
+ - https://github.com/crewAIInc/crewAI/issues/4222 -- memory leak in execution_spans
319
+ - https://github.com/crewAIInc/crewAI/issues/4210 -- memory leak from @lru_cache on instance methods
320
+ - https://github.com/crewAIInc/crewAI/issues/4423 -- Mem0Storage crashes with JSON string config
321
+
322
+ ### LangChain Issues
323
+ - https://github.com/langchain-ai/langchain/issues/2303 -- ConversationalRetrievalChain + Memory
324
+ - https://github.com/langchain-ai/langchain/issues/2256 -- Memory not supported with sources chain
325
+ - https://github.com/langchain-ai/langchain/issues/4000 -- Structured Chat Agent + ConversationMemory
326
+ - https://github.com/langchain-ai/langchain/issues/891 -- input variable conflicts with memory
327
+
328
+ ### AutoGPT Issues
329
+ - https://github.com/Significant-Gravitas/AutoGPT/issues/1073 -- local memory file not saved
330
+ - https://github.com/Significant-Gravitas/AutoGPT/issues/328 -- Pinecone connection failure
331
+ - https://github.com/Significant-Gravitas/AutoGPT/issues/38 -- chunking problems
332
+
333
+ ### Other Sources
334
+ - https://github.com/mem0ai/mem0 -- Mem0 architecture and problem statement
335
+ - arXiv 2404.13501 -- Survey: Memory Mechanisms in LLM-Based Agents
336
+
337
+ ---
338
+ Web research complete.
@@ -0,0 +1,306 @@
1
+ # GitHub Research: OpenClaw Ecosystem
2
+
3
+ ## Execution
4
+ - Preferred backend: web-only (no Octocode MCP available)
5
+ - Allowed fallbacks: WebFetch, local codebase reading
6
+ - Research round: 1
7
+
8
+ ## Sources Used
9
+ - Local codebase (ClawMongo fork, synced 0 behind upstream as of 2026-03-22)
10
+ - GitHub web (openclaw/openclaw repo page, issues, pulse, forks, topics)
11
+ - npmjs.com (openclaw package)
12
+ - DeepWiki (openclaw/openclaw architectural analysis)
13
+ - GitHub competitor repos (AutoGPT, CrewAI)
14
+
15
+ ## Research Quality
16
+ - Status: COMPLETE
17
+ - Quality level: high
18
+ - Backend mode: web-only
19
+ - Note: Local codebase is 0 commits behind upstream/main and 273 commits ahead, making it a reliable mirror of upstream + ClawMongo additions.
20
+
21
+ ---
22
+
23
+ ## 1. OpenClaw Repository Overview
24
+
25
+ **Repo:** github.com/openclaw/openclaw
26
+ **Tagline:** "Your own personal AI assistant. Any OS. Any Platform. The lobster way."
27
+
28
+ ### Metrics (as of 2026-03-22)
29
+ | Metric | Value |
30
+ |--------|-------|
31
+ | Stars | 329,000 |
32
+ | Forks | 63,900 |
33
+ | Open issues | 8,756 |
34
+ | Commits (all time) | 20,918 |
35
+ | Security advisories | 288 |
36
+ | npm weekly downloads | 1,109,169 |
37
+ | npm package name | `openclaw` |
38
+ | Latest npm version | 2026.3.13 |
39
+ | License | MIT |
40
+ | Language | TypeScript (ESM) |
41
+ | Runtime | Node 24 (recommended) / Node 22.16+ |
42
+
43
+ ### History / Name Evolution
44
+ Warelay -> Clawdbot -> Moltbot -> OpenClaw (from VISION.md). Backward-compat shims exist for clawdbot/moltbot naming.
45
+
46
+ ### Maintainers (from CONTRIBUTING.md)
47
+ - **Peter Steinberger (@steipete)** -- Benevolent Dictator
48
+ - **Shadow (@thewilloftheshadow)** -- Discord, community moderation, ClawHub
49
+ - **Vignesh (@vignesh07)** -- Memory (QMD), TUI, IRC, Lobster
50
+ - **Jos (@joshp123)** -- Telegram, API, Nix
51
+ - **Ayaan Zaidi (@obviyus)** -- Telegram, Android
52
+ - **Tyler Yust (@tyler6204)** -- Agents/subagents, cron, BlueBubbles, macOS
53
+ - **Mariano Belinky (@mbelinky)** -- iOS, Security
54
+ - **Nimrod Gutman (@ngutman)** -- iOS, macOS
55
+ - **Vincent Koc (@vincentkoc)** -- Agents, Telemetry, Hooks, Security
56
+ - Plus 6+ additional domain maintainers covering CLI, plugins, Matrix, ACP, docs, and JS infra
57
+
58
+ ---
59
+
60
+ ## 2. npm Package Metadata
61
+
62
+ ```json
63
+ {
64
+ "name": "openclaw",
65
+ "version": "2026.3.13",
66
+ "description": "Personal AI assistant you run on your own devices...",
67
+ "license": "MIT",
68
+ "author": "steipete",
69
+ "bin": { "openclaw": "openclaw.mjs" },
70
+ "dependencies": 55,
71
+ "weeklyDownloads": 1109169
72
+ }
73
+ ```
74
+
75
+ ClawMongo fork publishes as `@romiluz/clawmongo` with dual bin entries (`clawmongo` + `openclaw` alias).
76
+
77
+ ### Plugin SDK Surface (package.json exports)
78
+ The npm package exposes 35+ subpath exports under `./plugin-sdk/*`, including:
79
+ - Core: `./plugin-sdk`, `./plugin-sdk/core`, `./plugin-sdk/runtime`
80
+ - Channels: `./plugin-sdk/channel-setup`, `./plugin-sdk/channel-runtime`, `./plugin-sdk/channel-reply-pipeline`
81
+ - Providers: `./plugin-sdk/provider-setup`, `./plugin-sdk/self-hosted-provider-setup`
82
+ - Runtime: `./plugin-sdk/agent-runtime`, `./plugin-sdk/gateway-runtime`, `./plugin-sdk/cli-runtime`
83
+ - Security: `./plugin-sdk/security-runtime`, `./plugin-sdk/ssrf-runtime`
84
+ - Media: `./plugin-sdk/media-runtime`, `./plugin-sdk/speech-runtime`
85
+ - Other: `./plugin-sdk/sandbox`, `./plugin-sdk/routing`, `./plugin-sdk/hook-runtime`, `./plugin-sdk/acp-runtime`
86
+
87
+ This is one of the most comprehensive plugin SDK surfaces in the agent runtime space.
88
+
89
+ ---
90
+
91
+ ## 3. Extensions / Plugin Ecosystem
92
+
93
+ **Total extensions: 78 directories** under `extensions/`.
94
+
95
+ ### By Category
96
+
97
+ **Channel Plugins (24 messaging platforms):**
98
+ WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, BlueBubbles, iMessage, IRC, Microsoft Teams, Matrix, Feishu/Lark, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon/Urbit, Twitch, Zalo, Zalo Personal, WebChat, plus voice-call and device-pair
99
+
100
+ **LLM/AI Provider Plugins (25+ providers):**
101
+ OpenAI, Anthropic, Anthropic Vertex, Google, Amazon Bedrock, Mistral, Ollama, OpenRouter, GitHub Copilot, Perplexity, xAI, Together, NVIDIA, Hugging Face, fal, MiniMax, Moonshot, BytePlus, Chutes, Venice, Volcengine, vLLM, SGLang, Qianfan, Kimi, Xiaomi, Model Studio, Kilocode, OpenCode, OpenCode Go, Z.AI, Copilot Proxy, Cloudflare AI Gateway, Vercel AI Gateway
102
+
103
+ **Speech / Media Plugins:**
104
+ ElevenLabs (speech), Microsoft (speech), talk-voice
105
+
106
+ **Tool / Utility Plugins:**
107
+ Brave (web search), Firecrawl (web scraping), Tavily (web search), lobster (typed workflow pipelines), diffs (diff viewer), llm-task (JSON-only LLM tasks), open-prose (VM skill pack)
108
+
109
+ **Infrastructure Plugins:**
110
+ diagnostics-otel (OpenTelemetry), openshell (sandbox backend), acpx (ACP runtime), memory-core (memory tools), thread-ownership, phone-control, synthetic
111
+
112
+ **Auth Plugins:**
113
+ google-antigravity-auth, openai-codex-auth, qwen-portal-auth
114
+
115
+ ### Plugin Architecture
116
+ - Plugins register via `definePluginEntry()` with `OpenClawPluginApi`
117
+ - Plugins can register: tools, CLI commands, memory prompt sections, context engines
118
+ - Memory is a special "kind" slot (only one memory plugin active at a time)
119
+ - Distribution: npm packages or local extension loading
120
+ - Plugin marketplace support exists (Claude marketplace, ClawHub)
121
+ - MCP integration via external `mcporter` bridge (not built into core)
122
+
123
+ ---
124
+
125
+ ## 4. Memory Architecture (Upstream vs ClawMongo)
126
+
127
+ ### Upstream OpenClaw Memory
128
+ - **Default backends:** `builtin` (SQLite) and `qmd` (Quick Markdown) for vector/hybrid search
129
+ - **QMD:** QmdMemoryManager -- Markdown-file-based memory with vector search via LanceDB
130
+ - **Memory plugin slot:** `memory-core` extension provides `memory_search`, `memory_get`, `kb_search`, `memory_write` tools
131
+ - VISION.md states: "Memory is a special plugin slot where only one memory plugin can be active at a time. Today we ship multiple memory options; over time we plan to converge on one recommended default path."
132
+ - Upstream recently pivoted toward QMD as the recommended backend
133
+
134
+ ### ClawMongo Memory (Fork Additions, 273 commits ahead)
135
+ - **MongoDB-only:** Community mongod + mongot, Voyage AI autoEmbed
136
+ - **20 collections, 53 standard indexes, up to 8 MongoDB Search indexes**
137
+ - **Canonical events architecture:** events as single source of truth, everything else derived
138
+ - **8 retrieval paths:** active-critical, procedural, structured, raw-window, graph, episodic, kb, hybrid
139
+ - **Knowledge graph:** $graphLookup with bi-directional expansion
140
+ - **Episode materialization:** auto-triggers on session gaps or event count thresholds
141
+ - **Structured memory:** salience, temporal validity, state, provenance, revision tracking
142
+ - **Procedures:** versioned workflow artifacts with intent tags and ordered steps
143
+ - **Retrieval planner:** pure-function path scoring based on query analysis
144
+ - **1,632 lines** in mongodb-schema.ts alone
145
+
146
+ ### Key Architectural Gap
147
+ Upstream treats memory as a file/Markdown concern. ClawMongo treats memory as a database-first concern with explicit write/read/audit semantics. The fork's memory system is materially more sophisticated than upstream's QMD or SQLite paths.
148
+
149
+ ---
150
+
151
+ ## 5. Onboarding Flow
152
+
153
+ **34 files** under `src/commands/onboard*.ts` covering:
154
+ - `onboard.ts` -- main entry, dispatches to interactive or non-interactive
155
+ - `onboard-interactive.ts` -- step-by-step wizard
156
+ - `onboard-non-interactive.ts` -- scripted/headless setup
157
+ - `onboard-channels.ts` -- channel configuration
158
+ - `onboard-config.ts` -- config file generation
159
+ - `onboard-hooks.ts` -- hook setup
160
+ - `onboard-skills.ts` -- skill enablement
161
+ - `onboard-search.ts` -- provider search/discovery
162
+ - `onboard-custom.ts` -- custom provider setup
163
+ - `onboard-remote.ts` -- remote gateway setup
164
+ - `onboard-helpers.ts` -- shared utilities
165
+ - `onboard-types.ts` -- type definitions
166
+
167
+ **Key features:**
168
+ - Interactive wizard (default) or `--non-interactive` for CI/automation
169
+ - `--install-daemon` flag installs launchd/systemd user service
170
+ - Auth choices: setup-token (Anthropic), openai-codex (OAuth), etc.
171
+ - `--accept-risk` required for non-interactive mode (security gate)
172
+ - Reset scopes: `config`, `config+creds+sessions`, `full`
173
+ - Cross-platform: macOS, Linux, Windows (WSL2 recommended)
174
+
175
+ ---
176
+
177
+ ## 6. Companion Apps
178
+
179
+ OpenClaw ships native apps under `apps/`:
180
+ - **macOS** -- SwiftUI, Sparkle updates, voice wake, menubar gateway
181
+ - **iOS** -- SwiftUI, voice wake, Observation framework
182
+ - **Android** -- Kotlin, dark theme, Talk speech, SMS/call log search
183
+ - **shared** -- cross-platform code
184
+
185
+ This is unusual for an agent runtime. Most competitors are CLI-only or web-only.
186
+
187
+ ---
188
+
189
+ ## 7. Community Activity Patterns
190
+
191
+ ### Issue Categories (8,756 open)
192
+ 1. Gateway stability during long-running operations
193
+ 2. Cross-platform compatibility (Windows/Linux filesystem)
194
+ 3. Multi-language/localization gaps
195
+ 4. Third-party service integration reliability
196
+ 5. Plugin dependency resolution
197
+ 6. Memory/session stability (OOM, leaks)
198
+ 7. Channel-specific bugs (Telegram, Discord, Matrix)
199
+
200
+ ### Contributing Bar
201
+ - Bugs/small fixes: direct PR welcome
202
+ - New features: start a Discussion or Discord first
203
+ - Refactor-only PRs: not accepted unless maintainer-requested
204
+ - AI-generated code: welcomed, must be marked and tested
205
+ - CI requirements: `pnpm build && pnpm check && pnpm test`
206
+
207
+ ### Recent Changelog Activity (Unreleased)
208
+ The unreleased changelog section shows 50+ entries, indicating very high development velocity. Recent additions include:
209
+ - Anthropic Vertex provider support
210
+ - `/btw` side-question command
211
+ - Pluggable sandbox backends (OpenShell)
212
+ - SSH sandbox backend
213
+ - Firecrawl/Tavily web search providers
214
+ - Claude/Codex/Cursor bundle compatibility
215
+ - Plugin marketplace support
216
+ - MiniMax, Xiaomi model updates
217
+ - Telegram topic auto-labeling
218
+ - Matrix bot-to-bot communication
219
+ - GPT-5.4-mini/nano forward-compat
220
+
221
+ ---
222
+
223
+ ## 8. Competitive Landscape
224
+
225
+ ### Direct Competitors
226
+
227
+ | Project | Stars | Language | Focus | Memory | Channels |
228
+ |---------|-------|----------|-------|--------|----------|
229
+ | **OpenClaw** | 329K | TypeScript | Personal assistant, multi-channel | SQLite/QMD/pluggable | 24 messaging platforms |
230
+ | **AutoGPT** | 183K | Python/TS | Agent builder platform, low-code | PostgreSQL | Web UI only |
231
+ | **CrewAI** | 46.8K | Python | Multi-agent orchestration | Pluggable | None (library) |
232
+ | **LangChain** | ~90K | Python/JS | LLM framework/toolkit | Pluggable (100+ stores) | None (library) |
233
+
234
+ ### What Makes OpenClaw Unique
235
+
236
+ 1. **Multi-channel native:** 24 messaging platforms, all in one runtime. No other agent framework comes close. AutoGPT has a web UI. CrewAI has nothing. LangChain is a library.
237
+
238
+ 2. **Self-hosted, single-user, privacy-first:** runs on your devices, local gateway binds to loopback. Not a SaaS platform.
239
+
240
+ 3. **Native companion apps:** macOS, iOS, Android apps with voice wake, canvas, TUI. AutoGPT has a web builder. CrewAI has a cloud offering. Neither has native apps.
241
+
242
+ 4. **25+ LLM providers:** provider plugins for essentially every major and niche LLM provider. Most frameworks support 5-10.
243
+
244
+ 5. **Plugin SDK depth:** 35+ subpath exports, channel/provider/tool/memory/context-engine extension points. The plugin surface is production-grade, not a toy API.
245
+
246
+ 6. **Active development velocity:** 20,918 commits, 50+ unreleased changelog entries, 15+ named maintainers. This is one of the most actively developed open-source agent projects.
247
+
248
+ 7. **Security posture:** dedicated SECURITY.md, GHSA workflow, trust page, DM pairing policies, SSRF protection, secret-ref system, sandbox backends. Most agent frameworks treat security as an afterthought.
249
+
250
+ ### Where OpenClaw is Weaker vs Competitors
251
+
252
+ 1. **Multi-agent orchestration:** CrewAI's role-based crew/flow model is more sophisticated for multi-agent task decomposition. OpenClaw's multi-agent is per-workspace isolation, not collaborative crews.
253
+
254
+ 2. **Workflow automation:** AutoGPT's visual builder is more accessible for non-developers. OpenClaw is terminal-first by design.
255
+
256
+ 3. **Memory sophistication (upstream):** Upstream's QMD/SQLite memory is basic compared to what LangChain can plug into (100+ vector stores). ClawMongo addresses this gap with MongoDB-native memory.
257
+
258
+ 4. **Python ecosystem:** CrewAI and LangChain have Python's AI/ML ecosystem advantage. OpenClaw's TypeScript choice trades ecosystem breadth for hackability and web-developer familiarity.
259
+
260
+ ---
261
+
262
+ ## 9. Other Forks / Variants
263
+
264
+ The fork network shows hundreds of forks, with several patterns:
265
+ - **Renamed forks:** `clawdbot`, `moltbot` appear dozens of times (legacy names)
266
+ - **Specialized forks:** `openclaw-meets-kiro`, `openclaw-msns`, `openclaw-westworld`, `openclaw-rust`
267
+ - **ClawMongo** (this fork): the only known MongoDB-native fork with 273 commits of divergence
268
+
269
+ No other fork appears to have the scope of architectural divergence that ClawMongo has with its MongoDB-first memory rewrite.
270
+
271
+ ---
272
+
273
+ ## 10. What Makes ClawMongo Differentiated from Upstream
274
+
275
+ | Dimension | Upstream OpenClaw | ClawMongo |
276
+ |-----------|-------------------|-----------|
277
+ | Memory backend | SQLite / QMD (Markdown + LanceDB) | MongoDB Community + mongot |
278
+ | Memory model | File-based, flat search | Event-sourced, 20 collections, 8 retrieval paths |
279
+ | Vector search | LanceDB local | Voyage AI autoEmbed via mongot (no app-side embedding code) |
280
+ | Knowledge graph | None | $graphLookup with entities/relations/bi-directional expansion |
281
+ | Episodes | None | Auto-materialized from event windows |
282
+ | Structured memory | Basic | Salience, temporal validity, state, provenance, revision tracking |
283
+ | Procedures | None | Versioned workflow artifacts with intent tags |
284
+ | Retrieval planning | Simple search | 8-path planner with query analysis |
285
+ | Operational visibility | Limited | Ingest runs, projection runs, relevance telemetry |
286
+ | Collections | ~2 | 20 |
287
+ | Indexes | Few | 53 standard + 8 search indexes |
288
+
289
+ ---
290
+
291
+ ## What Changed the Recommendation
292
+
293
+ **Highest-signal finding:** OpenClaw has 329K stars and 1.1M weekly npm downloads, making it one of the most popular open-source agent projects globally -- far larger than AutoGPT (183K stars) in star count and community size. The upstream project is actively developed with 15+ maintainers, 78 extensions, 24 messaging channels, and native apps for 3 platforms. However, upstream's memory system (QMD/SQLite) is the acknowledged weak point -- VISION.md explicitly states they plan to "converge on one recommended default path" for memory. ClawMongo's MongoDB-native memory architecture (20 collections, 8 retrieval paths, knowledge graph, episodes, procedures) fills the exact gap that upstream acknowledges but has not yet addressed. This positions ClawMongo not as a competing fork but as the production memory backend that OpenClaw needs.
294
+
295
+ ## References
296
+ - https://github.com/openclaw/openclaw (329K stars)
297
+ - https://www.npmjs.com/package/openclaw (1.1M weekly downloads)
298
+ - https://deepwiki.com/openclaw/openclaw
299
+ - https://github.com/Significant-Gravitas/AutoGPT (183K stars)
300
+ - https://github.com/crewAIInc/crewAI (46.8K stars)
301
+ - https://docs.openclaw.ai
302
+ - Local: VISION.md, CONTRIBUTING.md, CHANGELOG.md, package.json
303
+ - Local: extensions/ (78 plugins), src/memory/ (MongoDB architecture), src/commands/onboard*.ts (34 files)
304
+
305
+ ---
306
+ GitHub research complete.