@karmaniverous/jeeves-watcher-openclaw 0.3.9 → 0.3.11
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/dist/cli.js +27 -0
- package/dist/index.js +3 -3
- package/dist/skills/jeeves-watcher/SKILL.md +19 -10
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -132,6 +132,33 @@ function patchConfig(config, mode, options = {}) {
|
|
|
132
132
|
slots.memory = 'memory-core';
|
|
133
133
|
messages.push(`Reverted plugins.slots.memory to "memory-core"`);
|
|
134
134
|
}
|
|
135
|
+
// memory-core.enabled — disable when claiming memory slot to prevent
|
|
136
|
+
// core memory tools from shadowing the plugin's tools
|
|
137
|
+
const memoryCoreEntry = entries['memory-core'];
|
|
138
|
+
if (mode === 'add' && options.memory) {
|
|
139
|
+
if (!memoryCoreEntry) {
|
|
140
|
+
entries['memory-core'] = { enabled: false };
|
|
141
|
+
messages.push('Set memory-core.enabled to false');
|
|
142
|
+
}
|
|
143
|
+
else if (memoryCoreEntry.enabled !== false) {
|
|
144
|
+
memoryCoreEntry.enabled = false;
|
|
145
|
+
messages.push('Set memory-core.enabled to false');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else if (mode === 'add' && !options.memory) {
|
|
149
|
+
// Non-memory install: re-enable memory-core if we disabled it
|
|
150
|
+
if (memoryCoreEntry && memoryCoreEntry.enabled === false) {
|
|
151
|
+
memoryCoreEntry.enabled = true;
|
|
152
|
+
messages.push('Re-enabled memory-core (non-memory install)');
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else if (mode === 'remove') {
|
|
156
|
+
// Uninstall: re-enable memory-core if we disabled it
|
|
157
|
+
if (memoryCoreEntry && memoryCoreEntry.enabled === false) {
|
|
158
|
+
memoryCoreEntry.enabled = true;
|
|
159
|
+
messages.push('Re-enabled memory-core');
|
|
160
|
+
}
|
|
161
|
+
}
|
|
135
162
|
// tools.allow
|
|
136
163
|
const tools = (config.tools ?? {});
|
|
137
164
|
const toolAllow = patchAllowList(tools, 'allow', 'tools.allow', mode);
|
package/dist/index.js
CHANGED
|
@@ -265,7 +265,7 @@ function createMemoryTools(api, baseUrl) {
|
|
|
265
265
|
});
|
|
266
266
|
const minScore = typeof params.minScore === 'number' ? params.minScore : 0;
|
|
267
267
|
const filtered = results.filter((r) => typeof r.score === 'number' && r.score >= minScore);
|
|
268
|
-
return ok(filtered);
|
|
268
|
+
return ok({ provider: 'jeeves-watcher', results: filtered });
|
|
269
269
|
}
|
|
270
270
|
catch (error) {
|
|
271
271
|
state.initialized = false;
|
|
@@ -289,9 +289,9 @@ function createMemoryTools(api, baseUrl) {
|
|
|
289
289
|
? Number(params.lines)
|
|
290
290
|
: lines.length - startIdx;
|
|
291
291
|
const sliced = lines.slice(startIdx, startIdx + count);
|
|
292
|
-
return ok(sliced.join('\n'));
|
|
292
|
+
return ok({ provider: 'jeeves-watcher', content: sliced.join('\n') });
|
|
293
293
|
}
|
|
294
|
-
return ok(content);
|
|
294
|
+
return ok({ provider: 'jeeves-watcher', content });
|
|
295
295
|
}
|
|
296
296
|
catch (error) {
|
|
297
297
|
return fail(error);
|
|
@@ -105,30 +105,35 @@ The plugin supports two install modes, controlled by the `--memory` flag during
|
|
|
105
105
|
|
|
106
106
|
**Standard mode** (`npx @karmaniverous/jeeves-watcher-openclaw install`):
|
|
107
107
|
- Registers `watcher_*` tools only (search, enrich, status, query, validate, config_apply, reindex, issues)
|
|
108
|
-
- OpenClaw's built-in `memory-core` remains the memory provider
|
|
108
|
+
- OpenClaw's built-in `memory-core` remains the memory provider (re-enabled if previously disabled)
|
|
109
109
|
- Use when the watcher is a supplementary search tool alongside native memory
|
|
110
110
|
|
|
111
111
|
**Memory mode** (`npx @karmaniverous/jeeves-watcher-openclaw install --memory`):
|
|
112
112
|
- Registers all tools: `watcher_*` plus `memory_search` and `memory_get`
|
|
113
113
|
- Claims the OpenClaw memory slot — the watcher becomes the memory provider
|
|
114
|
+
- Disables `memory-core` (`plugins.entries.memory-core.enabled: false`) to prevent core memory tools from shadowing the plugin's tools
|
|
114
115
|
- MEMORY.md and memory/*.md files are indexed and searched via the watcher's vector store
|
|
115
116
|
- Use when the watcher should be the single source of truth for both archive search and agent memory
|
|
116
117
|
|
|
117
|
-
**
|
|
118
|
+
**Why `memory-core` must be disabled:** OpenClaw's built-in `memory-core` plugin registers its own `memory_search` and `memory_get` tools. If both `memory-core` and this plugin are enabled, the core tools shadow the plugin's tools (same name, core registers first). Disabling `memory-core` ensures the plugin's Qdrant-backed implementations are the ones that execute.
|
|
119
|
+
|
|
120
|
+
**How to tell which mode you're in:** Check the response from `memory_search` or `memory_get`. In memory mode (watcher-backed), responses include `"provider": "jeeves-watcher"`. In standard mode (memory-core), responses are bare arrays/strings with no `provider` field.
|
|
118
121
|
|
|
119
122
|
## Proactive Posture
|
|
120
123
|
|
|
121
|
-
**
|
|
124
|
+
**On your first `memory_search` or `memory_get` call each session, check the response for the `provider` field.**
|
|
125
|
+
|
|
126
|
+
- **If the response is `{ provider: "jeeves-watcher", ... }`:** You're in memory mode. The watcher is serving memory. No action needed.
|
|
127
|
+
- **If the response has any other shape** (bare array, bare string, different provider, no `provider` field): The watcher is NOT serving memory. Another provider is active. Check whether an upgrade is warranted.
|
|
122
128
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
- The user is asking questions that span multiple memory files
|
|
129
|
+
**When to suggest upgrading to memory mode:**
|
|
130
|
+
Call `watcher_status` to check the archive size. If the watcher has >10K points, the deployment has a substantial archive and would benefit from semantic memory. Offer to run the upgrade yourself:
|
|
126
131
|
|
|
127
|
-
|
|
132
|
+
> "I notice memory queries are running on flat file search, but the watcher has [N] points with semantic embeddings. I can upgrade to memory mode now — this runs `npx @karmaniverous/jeeves-watcher-openclaw install --memory` and restarts the gateway. Shall I go ahead?"
|
|
128
133
|
|
|
129
|
-
|
|
134
|
+
If the user agrees, execute the install and gateway restart. Don't hand them a CLI command when you can do it yourself.
|
|
130
135
|
|
|
131
|
-
**Don't nag.** Suggest once per session at most
|
|
136
|
+
**Don't nag.** Suggest once per session at most. If the user declines, drop it.
|
|
132
137
|
|
|
133
138
|
## Tools
|
|
134
139
|
|
|
@@ -138,7 +143,8 @@ Semantically search MEMORY.md and memory/*.md files. Powered by the watcher's ve
|
|
|
138
143
|
- `maxResults` (number, optional) — maximum results to return
|
|
139
144
|
- `minScore` (number, optional) — minimum similarity score threshold
|
|
140
145
|
|
|
141
|
-
|
|
146
|
+
**Response (memory mode):** `{ provider: "jeeves-watcher", results: [{ path, from, to, snippet, score }] }` where `from`/`to` are 1-indexed line numbers.
|
|
147
|
+
**Response (standard mode / memory-core):** `[{ path, from, to, snippet, score }]` — bare array, no `provider` field.
|
|
142
148
|
|
|
143
149
|
### `memory_get`
|
|
144
150
|
Read content from MEMORY.md or memory/*.md files with optional line range.
|
|
@@ -146,6 +152,9 @@ Read content from MEMORY.md or memory/*.md files with optional line range.
|
|
|
146
152
|
- `from` (number, optional) — line number to start reading from (1-indexed)
|
|
147
153
|
- `lines` (number, optional) — number of lines to read
|
|
148
154
|
|
|
155
|
+
**Response (memory mode):** `{ provider: "jeeves-watcher", content: "file content..." }`
|
|
156
|
+
**Response (standard mode / memory-core):** `"file content..."` — bare string, no `provider` field.
|
|
157
|
+
|
|
149
158
|
Path validation: only files within the workspace's MEMORY.md and memory/**/*.md are accessible.
|
|
150
159
|
|
|
151
160
|
### `watcher_search`
|
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.3.
|
|
5
|
+
"version": "0.3.11",
|
|
6
6
|
"skills": [
|
|
7
7
|
"dist/skills/jeeves-watcher"
|
|
8
8
|
],
|
package/package.json
CHANGED