docs: align clawkeeper command naming and usage

This commit is contained in:
2026-03-07 16:26:39 +10:00
parent 7eb9f4ac70
commit 9636c4de90
3 changed files with 69 additions and 21 deletions
+67 -21
View File
@@ -3,35 +3,81 @@
Clawkeeper is a Memory Ops Kit for OpenClaw. Clawkeeper is a Memory Ops Kit for OpenClaw.
Goals: Goals:
- Make OpenClaw memory *operationally reliable* (no more silent failures when embeddings billing breaks). - Make OpenClaw memory operationally reliable.
- Keep recovery simple: restore agents (SOUL + config + memory) on a fresh machine. - Catch embeddings/provider failures early instead of discovering them after memory search breaks.
- Prefer OpenClaw built-in memory-core; provide optional glue and guardrails. - Keep recovery simple: restore agents, config, memory, and workspaces on a fresh machine.
- Prefer safe defaults, especially around gateway restarts.
## Features (v0.1) ## Current features
- `memops doctor`: sanity checks for memory + embeddings provider health. - `clawkeeper doctor`
- `memops switch openai|ollama`: switch `agents.defaults.memorySearch.provider` and restart gateway. - Reads the current OpenClaw memorySearch config
- `memops backup-plan`: print/emit backup include list for disaster recovery. - Shows OpenClaw memory status when available
- For `provider=openai`, runs a real minimal embeddings probe
- For `provider=ollama`, checks reachability and whether `nomic-embed-text` is present
- `clawkeeper switch openai|ollama`
- Switches `agents.defaults.memorySearch.provider`
- Makes a timestamped backup of `~/.openclaw/openclaw.json`
- Restarts the gateway after switching
- `clawkeeper backup-plan [--json]`
- Prints recommended daily/weekly backup coverage
- `--json` emits machine-readable include/exclude structure
- `clawkeeper verify-backup <path.tgz>`
- Validates that a backup tarball contains required OpenClaw paths
- Exits non-zero when critical paths are missing
- `clawkeeper restore-guide`
- Prints a safe restore procedure for a new machine
- `clawkeeper restore-apply <path.tgz> [--restart-gateway]`
- Safe default: renames existing `~/.openclaw` before extracting backup
- Does **not** restart the gateway unless `--restart-gateway` is explicitly passed
## Non-goals ## Install / run
- Replacing OpenClaw memory-core.
- Uploading any user memory content to Git.
## Requirements ### Local dev
- OpenClaw CLI installed on the same machine.
- Node.js 20+.
## Usage (planned)
```bash ```bash
memops doctor npm install
memops switch ollama npm run build
memops switch openai node dist/cli.js --help
memops backup-plan
``` ```
## Safety ### Global install
```bash
npm install -g .
clawkeeper --help
```
Compatibility alias is also kept for now:
```bash
memops --help
```
## Usage
```bash
clawkeeper doctor
clawkeeper switch ollama
clawkeeper switch openai
clawkeeper backup-plan
clawkeeper backup-plan --json
clawkeeper verify-backup ~/openclaw-backup.tgz
clawkeeper restore-guide
clawkeeper restore-apply ~/openclaw-backup.tgz
clawkeeper restore-apply ~/openclaw-backup.tgz --restart-gateway
```
## Safety notes
This tool edits `~/.openclaw/openclaw.json`. This tool edits `~/.openclaw/openclaw.json`.
- Always makes a timestamped backup before modifying. - Always makes a timestamped backup before modifying config.
- Never prints secrets; reports only whether keys are present. - Never prints secrets; reports only whether keys are present.
- `restore-apply` uses safe mode by default.
- Gateway restart is opt-in during restore because restart/install flows can be disruptive on a live machine.
## Non-goals
- Replacing OpenClaw memory-core
- Uploading user memory content to Git
- Automatically making risky service changes during restore without explicit request
## Requirements
- OpenClaw CLI installed on the same machine
- Node.js 20+
## License ## License
MIT MIT
+1
View File
@@ -12,6 +12,7 @@
"zod": "^3.24.2" "zod": "^3.24.2"
}, },
"bin": { "bin": {
"clawkeeper": "dist/cli.js",
"memops": "dist/cli.js" "memops": "dist/cli.js"
}, },
"devDependencies": { "devDependencies": {
+1
View File
@@ -5,6 +5,7 @@
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"bin": { "bin": {
"clawkeeper": "./dist/cli.js",
"memops": "./dist/cli.js" "memops": "./dist/cli.js"
}, },
"scripts": { "scripts": {