@xdarkicex/openclaw-memory-libravdb 1.3.12 → 1.3.13
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 +51 -53
- package/docs/README.md +2 -0
- package/docs/install.md +179 -0
- package/docs/uninstall.md +100 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,60 +1,27 @@
|
|
|
1
|
-
# LibraVDB Memory
|
|
1
|
+
# LibraVDB Memory for OpenClaw
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](./sidecar/go.mod)
|
|
4
|
+
[](./package.json)
|
|
5
|
+
[](./openclaw.plugin.json)
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
Local-first memory for OpenClaw that pairs a TypeScript plugin with a Go
|
|
8
|
+
daemon, keeps recent work intact, and promotes durable memory only when the
|
|
9
|
+
signal is strong enough to matter.
|
|
6
10
|
|
|
7
|
-
|
|
8
|
-
brew tap xDarkicex/openclaw-libravdb-memory
|
|
9
|
-
brew install libravdbd
|
|
10
|
-
brew services start libravdbd
|
|
11
|
-
openclaw plugins install @xdarkicex/openclaw-memory-libravdb
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Then activate the plugin in `~/.openclaw/openclaw.json`.
|
|
15
|
-
|
|
16
|
-
Manual plugin install:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
openclaw plugins install @xdarkicex/openclaw-memory-libravdb
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
The published plugin is connect-only. It does not spawn a local binary during install or at runtime. For durable memory, run a local `libravdbd` daemon separately and point the plugin at its endpoint.
|
|
23
|
-
|
|
24
|
-
Minimum host version:
|
|
25
|
-
|
|
26
|
-
- OpenClaw `>= 2026.3.22`
|
|
27
|
-
|
|
28
|
-
Security note:
|
|
29
|
-
|
|
30
|
-
- the published plugin package contains no `postinstall`, no `openclaw.setup`, and no direct `child_process` usage
|
|
31
|
-
- the plugin only connects to a local `libravdbd` endpoint such as `unix:/Users/<you>/.clawdb/run/libravdb.sock` or `tcp:127.0.0.1:37421`
|
|
32
|
-
- after install, the plugin makes no required network calls for embedding or extractive compaction
|
|
33
|
-
- the only optional runtime network path is an explicitly configured remote summarizer endpoint such as `ollama-local`
|
|
34
|
-
|
|
35
|
-
## Daemon
|
|
11
|
+
## Install and Lifecycle
|
|
36
12
|
|
|
37
|
-
Install
|
|
13
|
+
- [Install guide](./docs/install.md) for Homebrew, OpenClaw / OpenClaw.ai plugin setup, and manual daemon lifecycle.
|
|
14
|
+
- [Uninstall guide](./docs/uninstall.md) for clean plugin removal, daemon shutdown, and optional data cleanup.
|
|
15
|
+
- [Full installation reference](./docs/installation.md) for deeper operational detail, troubleshooting, and packaging notes.
|
|
38
16
|
|
|
39
|
-
|
|
17
|
+
Start with the [install guide](./docs/install.md) for the supported daemon
|
|
18
|
+
setup paths and activation flow. The short version is:
|
|
40
19
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
20
|
+
- install the plugin with `openclaw plugins install @xdarkicex/openclaw-memory-libravdb`
|
|
21
|
+
- install and start `libravdbd` separately
|
|
22
|
+
- assign `libravdb-memory` to the OpenClaw `memory` slot
|
|
43
23
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- `packaging/systemd/libravdbd.service` for Linux user services
|
|
47
|
-
- `packaging/launchd/com.xdarkicex.libravdbd.plist` for macOS LaunchAgents
|
|
48
|
-
- `packaging/homebrew/libravdbd.rb.tmpl` as the source template for a generated Homebrew formula
|
|
49
|
-
|
|
50
|
-
Recommended service startup commands:
|
|
51
|
-
|
|
52
|
-
- macOS: `brew services start libravdbd`
|
|
53
|
-
- Linux: `systemctl --user enable --now libravdbd.service`
|
|
54
|
-
|
|
55
|
-
## Activate
|
|
56
|
-
|
|
57
|
-
Add this to `~/.openclaw/openclaw.json`:
|
|
24
|
+
Then activate the plugin in `~/.openclaw/openclaw.json`:
|
|
58
25
|
|
|
59
26
|
```json
|
|
60
27
|
{
|
|
@@ -64,14 +31,43 @@ Add this to `~/.openclaw/openclaw.json`:
|
|
|
64
31
|
},
|
|
65
32
|
"configs": {
|
|
66
33
|
"libravdb-memory": {
|
|
67
|
-
"sidecarPath": "
|
|
34
|
+
"sidecarPath": "auto"
|
|
68
35
|
}
|
|
69
36
|
}
|
|
70
37
|
}
|
|
71
38
|
}
|
|
72
39
|
```
|
|
73
40
|
|
|
74
|
-
|
|
41
|
+
The published plugin is connect-only. It does not compile or spawn a local Go
|
|
42
|
+
binary during install. The `libravdbd` daemon is managed separately and the
|
|
43
|
+
plugin connects to an endpoint such as `unix:$HOME/.clawdb/run/libravdb.sock`
|
|
44
|
+
or `tcp:127.0.0.1:37421`.
|
|
45
|
+
|
|
46
|
+
Use `sidecarPath: "auto"` or omit the field to use the platform default
|
|
47
|
+
endpoint. If your daemon listens elsewhere, set an explicit endpoint such as
|
|
48
|
+
`unix:/custom/path/libravdb.sock` or `tcp:127.0.0.1:9999`.
|
|
49
|
+
|
|
50
|
+
## How It Works
|
|
51
|
+
|
|
52
|
+
- [Hybrid retrieval and prompt assembly](./docs/mathematics-v2.md): combines semantic similarity, recency, memory scope, and budget-aware packing so the prompt keeps the most useful memory instead of only the nearest vectors.
|
|
53
|
+
- [Authored context partitioning](./docs/ast-v2.md): splits authored Markdown into hard directives, soft directives, and searchable lore so critical instructions are always preserved while narrative context still competes through retrieval.
|
|
54
|
+
- [Domain-Adaptive Gating](./docs/gating.md): decides which turns deserve promotion into durable memory by blending conversational and technical signals rather than treating all chats like generic prose.
|
|
55
|
+
- [Continuity preservation](./docs/continuity.md): protects a recent raw session tail and lets older history compact behind it, preventing summaries from erasing the newest working context.
|
|
56
|
+
|
|
57
|
+
Three practical ideas shape the runtime:
|
|
58
|
+
|
|
59
|
+
- Hybrid ranking keeps session turns, durable user memory, and global memory on the same scoreboard while still respecting recency.
|
|
60
|
+
- Two-pass, in-place compaction preserves continuity by refusing destructive rewrites of the newest working tail.
|
|
61
|
+
- Domain-adaptive ingestion avoids over-saving noisy chatter while still retaining technical decisions, file paths, error signatures, and workflow milestones.
|
|
62
|
+
|
|
63
|
+
## Runtime Model
|
|
64
|
+
|
|
65
|
+
- Plugin package: `@xdarkicex/openclaw-memory-libravdb`
|
|
66
|
+
- OpenClaw plugin id: `libravdb-memory`
|
|
67
|
+
- Minimum host version: `openclaw >= 2026.3.22`
|
|
68
|
+
- Default daemon endpoint on macOS/Linux: `unix:$HOME/.clawdb/run/libravdb.sock`
|
|
69
|
+
- Default daemon endpoint on Windows: `tcp:127.0.0.1:37421`
|
|
70
|
+
- Default daemon data path: `$HOME/.clawdb/data.libravdb`
|
|
75
71
|
|
|
76
72
|
## Verify
|
|
77
73
|
|
|
@@ -81,4 +77,6 @@ Run:
|
|
|
81
77
|
openclaw memory status
|
|
82
78
|
```
|
|
83
79
|
|
|
84
|
-
Expected output includes a readable status table showing
|
|
80
|
+
Expected output includes a readable status table showing whether the daemon is
|
|
81
|
+
reachable, how much memory is stored, and whether the local summarization path
|
|
82
|
+
is provisioned.
|
package/docs/README.md
CHANGED
|
@@ -5,6 +5,8 @@ legacy non-versioned predecessor also exists. Older non-versioned docs are kept
|
|
|
5
5
|
to preserve project history and design evolution.
|
|
6
6
|
|
|
7
7
|
- [installation.md](./installation.md) - Complete install, activation, verification, and troubleshooting reference.
|
|
8
|
+
- [install.md](./install.md) - Practical lifecycle guide for Homebrew, the OpenClaw plugin, and manual daemon management.
|
|
9
|
+
- [uninstall.md](./uninstall.md) - Clean shutdown and removal guide for the plugin, daemon, and optional local data.
|
|
8
10
|
- [architecture.md](./architecture.md) - End-to-end component model, turn lifecycle, compaction flow, and degraded behavior.
|
|
9
11
|
- [problem.md](./problem.md) - Technical argument for replacing the stock OpenClaw memory lifecycle in this use case.
|
|
10
12
|
- [mathematics-v2.md](./mathematics-v2.md) - Formal reference for hybrid scoring, decay, token budgeting, Matryoshka retrieval, compaction, and planned two-pass retrieval.
|
package/docs/install.md
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Install Guide
|
|
2
|
+
|
|
3
|
+
LibraVDB Memory is a connect-only OpenClaw plugin. Install the plugin as a
|
|
4
|
+
normal package, install `libravdbd` separately, and point the plugin at the
|
|
5
|
+
daemon endpoint when you need a non-default location.
|
|
6
|
+
|
|
7
|
+
For deeper operational detail, use the full
|
|
8
|
+
[installation reference](./installation.md).
|
|
9
|
+
|
|
10
|
+
## Recommended Path: Homebrew + OpenClaw Plugin
|
|
11
|
+
|
|
12
|
+
On macOS, the shortest supported path is:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
brew tap xDarkicex/openclaw-libravdb-memory
|
|
16
|
+
brew install libravdbd
|
|
17
|
+
brew services start libravdbd
|
|
18
|
+
openclaw plugins install @xdarkicex/openclaw-memory-libravdb
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This gives you:
|
|
22
|
+
|
|
23
|
+
- a managed `libravdbd` service
|
|
24
|
+
- a scanner-clean plugin install
|
|
25
|
+
- a clean separation between plugin lifecycle and daemon lifecycle
|
|
26
|
+
|
|
27
|
+
## Plugin Install
|
|
28
|
+
|
|
29
|
+
Install the plugin package with the OpenClaw CLI:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
openclaw plugins install @xdarkicex/openclaw-memory-libravdb
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If you use the OpenClaw.ai plugin UI instead of the CLI, install the same
|
|
36
|
+
package and then assign the plugin id `libravdb-memory` to the `memory` slot or
|
|
37
|
+
the `contextEngine` slot.
|
|
38
|
+
|
|
39
|
+
Activate the plugin in `~/.openclaw/openclaw.json`:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"plugins": {
|
|
44
|
+
"slots": {
|
|
45
|
+
"memory": "libravdb-memory"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
If you run the daemon on a non-default endpoint, add a plugin config:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"plugins": {
|
|
56
|
+
"slots": {
|
|
57
|
+
"memory": "libravdb-memory"
|
|
58
|
+
},
|
|
59
|
+
"configs": {
|
|
60
|
+
"libravdb-memory": {
|
|
61
|
+
"sidecarPath": "unix:/Users/<you>/.clawdb/run/libravdb.sock"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Sidecar Daemon Install
|
|
69
|
+
|
|
70
|
+
The daemon owns the local database, embeddings, and JSON-RPC endpoint.
|
|
71
|
+
|
|
72
|
+
Default endpoints:
|
|
73
|
+
|
|
74
|
+
- macOS/Linux: `unix:$HOME/.clawdb/run/libravdb.sock`
|
|
75
|
+
- Windows: `tcp:127.0.0.1:37421`
|
|
76
|
+
|
|
77
|
+
Default data path:
|
|
78
|
+
|
|
79
|
+
- macOS/Linux/Windows user installs: `$HOME/.clawdb/data.libravdb`
|
|
80
|
+
|
|
81
|
+
### Homebrew
|
|
82
|
+
|
|
83
|
+
Homebrew is the preferred daemon lifecycle on macOS:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
brew tap xDarkicex/openclaw-libravdb-memory
|
|
87
|
+
brew install libravdbd
|
|
88
|
+
brew services start libravdbd
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Useful lifecycle commands:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
brew services restart libravdbd
|
|
95
|
+
brew services stop libravdbd
|
|
96
|
+
brew info libravdbd
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Manual Service Management
|
|
100
|
+
|
|
101
|
+
If you are not using Homebrew, manage the daemon explicitly.
|
|
102
|
+
|
|
103
|
+
Linux user service from the repo template:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Replace vX.Y.Z with the latest tag from:
|
|
107
|
+
# https://github.com/xDarkicex/openclaw-memory-libravdb/releases
|
|
108
|
+
mkdir -p ~/.local/bin ~/.config/systemd/user
|
|
109
|
+
curl -L -o ~/.local/bin/libravdbd https://github.com/xDarkicex/openclaw-memory-libravdb/releases/download/vX.Y.Z/libravdbd-linux-amd64
|
|
110
|
+
chmod +x ~/.local/bin/libravdbd
|
|
111
|
+
curl -L -o ~/.config/systemd/user/libravdbd.service \
|
|
112
|
+
https://raw.githubusercontent.com/xDarkicex/openclaw-memory-libravdb/main/packaging/systemd/libravdbd.service
|
|
113
|
+
systemctl --user enable --now libravdbd.service
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
macOS LaunchAgent from the repo template:
|
|
117
|
+
|
|
118
|
+
1. Download `com.xdarkicex.libravdbd.plist` from:
|
|
119
|
+
`https://raw.githubusercontent.com/xDarkicex/openclaw-memory-libravdb/main/packaging/launchd/com.xdarkicex.libravdbd.plist`
|
|
120
|
+
2. Replace `__HOME__` with your home directory.
|
|
121
|
+
3. Save it to `~/Library/LaunchAgents/com.xdarkicex.libravdbd.plist`.
|
|
122
|
+
4. Load it with `launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.xdarkicex.libravdbd.plist`.
|
|
123
|
+
|
|
124
|
+
### Windows
|
|
125
|
+
|
|
126
|
+
Windows uses a loopback TCP endpoint by default:
|
|
127
|
+
|
|
128
|
+
- `tcp:127.0.0.1:37421`
|
|
129
|
+
|
|
130
|
+
This guide does not yet include a full Windows service-install walkthrough.
|
|
131
|
+
For now, use the published Windows daemon asset from the GitHub releases page
|
|
132
|
+
and run it under your preferred process supervisor or a manual terminal session.
|
|
133
|
+
|
|
134
|
+
Foreground manual run:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
libravdbd serve
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
That mode is useful for debugging or validating a local release asset before
|
|
141
|
+
you wrap it in `brew services`, `systemd`, or `launchd`.
|
|
142
|
+
|
|
143
|
+
## Lifecycle Management
|
|
144
|
+
|
|
145
|
+
### Plugin Lifecycle
|
|
146
|
+
|
|
147
|
+
- Install the package with `openclaw plugins install`.
|
|
148
|
+
- Activate it by assigning `libravdb-memory` to `memory` or `contextEngine`.
|
|
149
|
+
- Update it with your normal OpenClaw plugin update flow.
|
|
150
|
+
- Disable it by removing the slot assignment from `~/.openclaw/openclaw.json`.
|
|
151
|
+
|
|
152
|
+
The plugin does not manage the daemon process. Treat plugin activation and
|
|
153
|
+
daemon supervision as separate lifecycle decisions.
|
|
154
|
+
|
|
155
|
+
### Daemon Lifecycle
|
|
156
|
+
|
|
157
|
+
- Start it with `brew services`, `systemd --user`, `launchctl bootstrap`, or a manual `libravdbd serve`.
|
|
158
|
+
- Restart it when you change daemon-level environment variables or replace the binary.
|
|
159
|
+
- Stop it before uninstalling or deleting on-disk data.
|
|
160
|
+
- Point the plugin at the correct endpoint with `sidecarPath` if you do not use the default location.
|
|
161
|
+
|
|
162
|
+
## Verification
|
|
163
|
+
|
|
164
|
+
After the plugin and daemon are both in place, run:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
openclaw memory status
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Healthy output should show that:
|
|
171
|
+
|
|
172
|
+
- the daemon answered the local health check
|
|
173
|
+
- the memory slot is active
|
|
174
|
+
- the plugin can read stored counts and runtime settings
|
|
175
|
+
|
|
176
|
+
If OpenClaw cannot reach the daemon, verify the endpoint first:
|
|
177
|
+
|
|
178
|
+
- macOS/Linux default: `unix:$HOME/.clawdb/run/libravdb.sock`
|
|
179
|
+
- Windows default: `tcp:127.0.0.1:37421`
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Uninstall Guide
|
|
2
|
+
|
|
3
|
+
This guide covers safe removal of the OpenClaw / OpenClaw.ai plugin and the
|
|
4
|
+
separately managed `libravdbd` daemon.
|
|
5
|
+
|
|
6
|
+
If you only want to disable the memory replacement temporarily, remove the
|
|
7
|
+
plugin slot assignment first and leave the daemon plus data in place.
|
|
8
|
+
|
|
9
|
+
## 1. Disable the Plugin
|
|
10
|
+
|
|
11
|
+
Remove the plugin from the active OpenClaw slot in `~/.openclaw/openclaw.json`:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"plugins": {
|
|
16
|
+
"slots": {}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Treat that JSON as a minimal example only. If you assigned `libravdb-memory`
|
|
22
|
+
under `memory` or `contextEngine`, remove just that slot entry and leave any
|
|
23
|
+
other plugin slots intact.
|
|
24
|
+
|
|
25
|
+
If you installed the package through the OpenClaw.ai plugin UI, remove or
|
|
26
|
+
disable the same package there as well. If you use the CLI, remove it through
|
|
27
|
+
your standard OpenClaw plugin removal flow for
|
|
28
|
+
`@xdarkicex/openclaw-memory-libravdb`.
|
|
29
|
+
|
|
30
|
+
## 2. Stop the Daemon
|
|
31
|
+
|
|
32
|
+
Stop the sidecar before deleting binaries or stored data.
|
|
33
|
+
|
|
34
|
+
Homebrew:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
brew services stop libravdbd
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Linux user service:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
systemctl --user disable --now libravdbd.service
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
macOS LaunchAgent:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
launchctl bootout gui/$(id -u)/com.xdarkicex.libravdbd
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Foreground manual run:
|
|
53
|
+
|
|
54
|
+
- stop the `libravdbd serve` process in the terminal where it is running
|
|
55
|
+
|
|
56
|
+
## 3. Remove Installed Assets
|
|
57
|
+
|
|
58
|
+
### Plugin Package
|
|
59
|
+
|
|
60
|
+
Remove the published plugin package from OpenClaw or OpenClaw.ai after it is no
|
|
61
|
+
longer assigned to an active slot.
|
|
62
|
+
|
|
63
|
+
### Homebrew Daemon
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
brew uninstall libravdbd
|
|
67
|
+
brew untap xDarkicex/openclaw-libravdb-memory
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Manual Daemon Install
|
|
71
|
+
|
|
72
|
+
Delete the service file or launch agent you installed, along with the daemon
|
|
73
|
+
binary you copied into place.
|
|
74
|
+
|
|
75
|
+
Common locations:
|
|
76
|
+
|
|
77
|
+
- `~/.config/systemd/user/libravdbd.service`
|
|
78
|
+
- `~/Library/LaunchAgents/com.xdarkicex.libravdbd.plist`
|
|
79
|
+
- `~/.local/bin/libravdbd`
|
|
80
|
+
|
|
81
|
+
## 4. Optional Full Data Cleanup
|
|
82
|
+
|
|
83
|
+
Only do this if you want to permanently remove stored LibraVDB memory.
|
|
84
|
+
|
|
85
|
+
Common local state:
|
|
86
|
+
|
|
87
|
+
- socket directory: `~/.clawdb/run/`
|
|
88
|
+
- database file: `~/.clawdb/data.libravdb`
|
|
89
|
+
|
|
90
|
+
If you configured a custom Unix socket endpoint in `sidecarPath`, remove that
|
|
91
|
+
socket path or containing directory if applicable. If you configured `dbPath`,
|
|
92
|
+
remove that custom database location instead of the default path. TCP
|
|
93
|
+
`sidecarPath` endpoints are not filesystem paths and do not have anything to
|
|
94
|
+
delete during uninstall.
|
|
95
|
+
|
|
96
|
+
## 5. Post-Uninstall Check
|
|
97
|
+
|
|
98
|
+
After cleanup, `openclaw memory status` should no longer show this plugin as the
|
|
99
|
+
active memory provider, and the daemon endpoint should no longer be reachable
|
|
100
|
+
unless you intentionally kept it running for another workflow.
|