@karmaniverous/jeeves-watcher-openclaw 0.4.1 → 0.4.2
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.
|
@@ -96,28 +96,6 @@ You have two complementary tools with different scopes:
|
|
|
96
96
|
|
|
97
97
|
**The principle:** Memory-core is your curated highlights. The watcher archive is your perfect recall. Use memory first for speed and signal, but never let its narrow scope be the ceiling of what you can remember.
|
|
98
98
|
|
|
99
|
-
## Embedding Alignment
|
|
100
|
-
|
|
101
|
-
Memory-core and the watcher both use embeddings, but may use different models by default. For best cross-tool consistency, offer to configure memory-core to use `gemini-embedding-001` (the same model the watcher uses) via the gateway config:
|
|
102
|
-
|
|
103
|
-
1. **Verify Google API key** — check that the gateway has a Google API key configured (needed for Gemini embeddings).
|
|
104
|
-
2. **Apply config** — use `gateway config.patch` to set the memory-core embedding provider:
|
|
105
|
-
```json
|
|
106
|
-
{
|
|
107
|
-
"agents": {
|
|
108
|
-
"defaults": {
|
|
109
|
-
"memorySearch": {
|
|
110
|
-
"provider": "gemini",
|
|
111
|
-
"model": "gemini-embedding-001"
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
3. **Restart gateway** to pick up the new embedding provider. Memory-core will re-embed all memory files on next sync (dimension change triggers automatic vector table recreation).
|
|
118
|
-
|
|
119
|
-
This gives memory-core the same 3072-dimensional Gemini embeddings the watcher uses, ensuring semantic similarity scores are comparable across memory and archive searches.
|
|
120
|
-
|
|
121
99
|
## Plugin Installation
|
|
122
100
|
|
|
123
101
|
```
|
|
@@ -165,14 +143,27 @@ If not running, install it. **Prefer native installation** (especially on cloud
|
|
|
165
143
|
|
|
166
144
|
**Linux (recommended for servers):**
|
|
167
145
|
```bash
|
|
168
|
-
# Download
|
|
169
|
-
curl -L https://github.com/qdrant/qdrant/releases/latest/download/qdrant-x86_64-unknown-linux-musl.tar.gz -o qdrant.tar.gz
|
|
170
|
-
tar xzf qdrant.tar.gz
|
|
171
|
-
|
|
172
|
-
#
|
|
173
|
-
|
|
146
|
+
# Download and install binary
|
|
147
|
+
curl -L https://github.com/qdrant/qdrant/releases/latest/download/qdrant-x86_64-unknown-linux-musl.tar.gz -o /tmp/qdrant.tar.gz
|
|
148
|
+
sudo tar xzf /tmp/qdrant.tar.gz -C /usr/local/bin/
|
|
149
|
+
|
|
150
|
+
# Create qdrant user and directories
|
|
151
|
+
sudo useradd -r -s /bin/false qdrant
|
|
152
|
+
sudo mkdir -p /var/lib/qdrant/storage /var/lib/qdrant/snapshots /etc/qdrant
|
|
153
|
+
sudo chown -R qdrant:qdrant /var/lib/qdrant
|
|
154
|
+
|
|
155
|
+
# Create config
|
|
156
|
+
sudo tee /etc/qdrant/config.yaml > /dev/null <<EOF
|
|
157
|
+
storage:
|
|
158
|
+
storage_path: /var/lib/qdrant/storage
|
|
159
|
+
snapshots_path: /var/lib/qdrant/snapshots
|
|
160
|
+
service:
|
|
161
|
+
host: 0.0.0.0
|
|
162
|
+
http_port: 6333
|
|
163
|
+
grpc_port: 6334
|
|
164
|
+
EOF
|
|
174
165
|
|
|
175
|
-
#
|
|
166
|
+
# Create systemd service
|
|
176
167
|
sudo tee /etc/systemd/system/qdrant.service > /dev/null <<EOF
|
|
177
168
|
[Unit]
|
|
178
169
|
Description=Qdrant Vector Database
|
|
@@ -181,12 +172,14 @@ After=network.target
|
|
|
181
172
|
[Service]
|
|
182
173
|
Type=simple
|
|
183
174
|
ExecStart=/usr/local/bin/qdrant --config-path /etc/qdrant/config.yaml
|
|
175
|
+
WorkingDirectory=/var/lib/qdrant
|
|
184
176
|
Restart=always
|
|
185
177
|
User=qdrant
|
|
186
178
|
|
|
187
179
|
[Install]
|
|
188
180
|
WantedBy=multi-user.target
|
|
189
181
|
EOF
|
|
182
|
+
sudo systemctl daemon-reload
|
|
190
183
|
sudo systemctl enable --now qdrant
|
|
191
184
|
```
|
|
192
185
|
|
|
@@ -310,6 +303,7 @@ After=network.target qdrant.service
|
|
|
310
303
|
[Service]
|
|
311
304
|
Type=simple
|
|
312
305
|
ExecStart=$(which jeeves-watcher) start -c <config-path>
|
|
306
|
+
WorkingDirectory=%h
|
|
313
307
|
Restart=always
|
|
314
308
|
Environment=GOOGLE_API_KEY=<key>
|
|
315
309
|
User=$USER
|
|
@@ -351,10 +345,6 @@ Once health is confirmed and initial indexing has started:
|
|
|
351
345
|
2. Query `$.inferenceRules[*].['name','description']` for available record types.
|
|
352
346
|
3. Report to the user: how many points indexed so far, which domains are available, estimated time to complete initial indexing (based on file count and embedding rate).
|
|
353
347
|
|
|
354
|
-
### Step 9: Align Memory-Core Embeddings
|
|
355
|
-
|
|
356
|
-
After the watcher is healthy, offer to align OpenClaw's memory-core with the same embedding model for consistent vector quality across both systems. See the **Embedding Alignment** section above for the procedure.
|
|
357
|
-
|
|
358
348
|
### On Subsequent Sessions
|
|
359
349
|
|
|
360
350
|
On sessions after bootstrap is complete:
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "jeeves-watcher-openclaw",
|
|
3
3
|
"name": "Jeeves Watcher",
|
|
4
4
|
"description": "Semantic search, metadata enrichment, and instance administration for a jeeves-watcher deployment.",
|
|
5
|
-
"version": "0.4.
|
|
5
|
+
"version": "0.4.2",
|
|
6
6
|
"skills": [
|
|
7
7
|
"dist/skills/jeeves-watcher"
|
|
8
8
|
],
|
package/package.json
CHANGED