openclaw-hybrid-memory-install 2026.2.181
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/PUBLISH.md +16 -0
- package/README.md +36 -0
- package/install.js +58 -0
- package/package.json +18 -0
package/PUBLISH.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Publishing openclaw-hybrid-memory-install
|
|
2
|
+
|
|
3
|
+
This package is published separately to npm so users can run:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx -y openclaw-hybrid-memory-install
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
**To publish:**
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
cd packages/openclaw-hybrid-memory-install
|
|
13
|
+
npm publish --access public
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Ensure the package name `openclaw-hybrid-memory-install` is available on npm (or use a scoped name like `@markus-lassfolk/openclaw-hybrid-memory-install` if the unscoped name is taken).
|
package/README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# openclaw-hybrid-memory-install
|
|
2
|
+
|
|
3
|
+
Standalone installer for the [openclaw-hybrid-memory](https://www.npmjs.com/package/openclaw-hybrid-memory) plugin. Use when OpenClaw config validation fails (e.g. "plugin not found" because the plugin folder is missing).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install latest
|
|
9
|
+
npx -y openclaw-hybrid-memory-install
|
|
10
|
+
|
|
11
|
+
# Install specific version
|
|
12
|
+
npx -y openclaw-hybrid-memory-install 2026.2.176
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
- You see `plugin not found: openclaw-hybrid-memory` and `openclaw plugins install` fails
|
|
18
|
+
- The plugin folder was removed or corrupted
|
|
19
|
+
- You want to install without using the OpenClaw CLI
|
|
20
|
+
|
|
21
|
+
## What it does
|
|
22
|
+
|
|
23
|
+
1. Removes any existing plugin at `~/.openclaw/extensions/openclaw-hybrid-memory`
|
|
24
|
+
2. Fetches the package via `npm pack`
|
|
25
|
+
3. Extracts and runs `npm install` (with postinstall rebuild)
|
|
26
|
+
4. Prints instructions to restart the gateway
|
|
27
|
+
|
|
28
|
+
## Environment
|
|
29
|
+
|
|
30
|
+
- `OPENCLAW_EXTENSIONS_DIR` — Override the extensions directory (default: `~/.openclaw/extensions`)
|
|
31
|
+
|
|
32
|
+
## Alternative: curl install
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
curl -sSL https://raw.githubusercontent.com/markus-lassfolk/openclaw-hybrid-memory/main/scripts/install.sh | bash
|
|
36
|
+
```
|
package/install.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Standalone installer for openclaw-hybrid-memory.
|
|
4
|
+
* Use when OpenClaw config validation fails (e.g. "plugin not found").
|
|
5
|
+
* Run: npx -y openclaw-hybrid-memory-install
|
|
6
|
+
*/
|
|
7
|
+
const { execSync } = require("child_process");
|
|
8
|
+
const fs = require("fs");
|
|
9
|
+
const os = require("os");
|
|
10
|
+
const path = require("path");
|
|
11
|
+
|
|
12
|
+
const version = process.argv[2] || "latest";
|
|
13
|
+
const extDir =
|
|
14
|
+
process.env.OPENCLAW_EXTENSIONS_DIR ||
|
|
15
|
+
path.join(os.homedir(), ".openclaw", "extensions");
|
|
16
|
+
const pluginDir = path.join(extDir, "openclaw-hybrid-memory");
|
|
17
|
+
const tmpDir = path.join(
|
|
18
|
+
os.tmpdir(),
|
|
19
|
+
`openclaw-plugin-install-${process.pid}`
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
function run(cmd, opts = {}) {
|
|
23
|
+
return execSync(cmd, { stdio: "inherit", ...opts });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
console.log(`Installing openclaw-hybrid-memory@${version} to ${pluginDir}\n`);
|
|
28
|
+
|
|
29
|
+
console.log("Removing existing plugin...");
|
|
30
|
+
if (fs.existsSync(pluginDir)) {
|
|
31
|
+
fs.rmSync(pluginDir, { recursive: true });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
console.log("Fetching via npm pack...");
|
|
35
|
+
fs.mkdirSync(tmpDir, { recursive: true });
|
|
36
|
+
run(`npm pack openclaw-hybrid-memory@${version}`, { cwd: tmpDir });
|
|
37
|
+
|
|
38
|
+
const tgz = fs.readdirSync(tmpDir).find((f) => f.endsWith(".tgz"));
|
|
39
|
+
if (!tgz) throw new Error("npm pack did not produce a .tgz file");
|
|
40
|
+
|
|
41
|
+
console.log("Extracting...");
|
|
42
|
+
fs.mkdirSync(pluginDir, { recursive: true });
|
|
43
|
+
const tgzPath = path.join(tmpDir, tgz);
|
|
44
|
+
run(`tar -xzf ${JSON.stringify(tgzPath)} -C ${JSON.stringify(pluginDir)} --strip-components=1`);
|
|
45
|
+
|
|
46
|
+
console.log("Installing deps and rebuilding native modules...");
|
|
47
|
+
run("npm install --omit=dev", { cwd: pluginDir });
|
|
48
|
+
|
|
49
|
+
console.log("Cleaning up...");
|
|
50
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
51
|
+
|
|
52
|
+
console.log(
|
|
53
|
+
"\nDone. Restart the gateway: openclaw gateway stop && openclaw gateway start"
|
|
54
|
+
);
|
|
55
|
+
} catch (err) {
|
|
56
|
+
console.error("Install failed:", err.message);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "openclaw-hybrid-memory-install",
|
|
3
|
+
"version": "2026.2.181",
|
|
4
|
+
"description": "Standalone installer for openclaw-hybrid-memory. Use when OpenClaw config validation fails.",
|
|
5
|
+
"bin": {
|
|
6
|
+
"openclaw-hybrid-memory-install": "./install.js"
|
|
7
|
+
},
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=18"
|
|
10
|
+
},
|
|
11
|
+
"keywords": ["openclaw", "plugin", "memory", "install"],
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/markus-lassfolk/openclaw-hybrid-memory.git",
|
|
15
|
+
"directory": "packages/openclaw-hybrid-memory-install"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT"
|
|
18
|
+
}
|