@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 CHANGED
@@ -1,60 +1,27 @@
1
- # LibraVDB Memory
1
+ # LibraVDB Memory for OpenClaw
2
2
 
3
- ## Install
3
+ [![Go](https://img.shields.io/badge/Go-1.25%2B-00ADD8?logo=go&logoColor=white)](./sidecar/go.mod)
4
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?logo=typescript&logoColor=white)](./package.json)
5
+ [![OpenClaw](https://img.shields.io/badge/OpenClaw-memory%20plugin-111827)](./openclaw.plugin.json)
4
6
 
5
- Recommended on macOS:
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
- ```bash
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 and start `libravdbd` separately, then point the plugin at the running daemon if you do not want the default endpoint.
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
- Default endpoints:
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
- - macOS/Linux: `unix:$HOME/.clawdb/run/libravdb.sock`
42
- - Windows: `tcp:127.0.0.1:37421`
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
- Phase 2 packaging assets now live under [`packaging/`](./packaging):
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": "unix:/Users/<you>/.clawdb/run/libravdb.sock"
34
+ "sidecarPath": "auto"
68
35
  }
69
36
  }
70
37
  }
71
38
  }
72
39
  ```
73
40
 
74
- Without the `plugins.slots.memory` entry, OpenClaw's default memory continues to run in parallel and this plugin does not take over the exclusive memory slot.
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 the daemon is reachable, stored turn/memory counts, the active ingestion gate threshold, and whether the abstractive summarizer is provisioned.
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.
@@ -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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xdarkicex/openclaw-memory-libravdb",
3
- "version": "1.3.12",
3
+ "version": "1.3.13",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"