@supermemory/openclaw-supermemory 1.0.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.
@@ -0,0 +1,31 @@
1
+ name: CI - Type Check, Format & Lint
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ jobs:
7
+ quality-checks:
8
+ name: Quality Checks
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Checkout code
12
+ uses: actions/checkout@v4
13
+
14
+ - name: Setup Bun
15
+ uses: oven-sh/setup-bun@v2
16
+ with:
17
+ bun-version: 1.2.17
18
+
19
+ - name: Install dependencies
20
+ run: bun install --frozen-lockfile
21
+
22
+ - name: Setup Biome
23
+ uses: biomejs/setup-biome@v2
24
+ with:
25
+ version: 2.3.8
26
+
27
+ - name: Run TypeScript type checking
28
+ run: bun run check-types
29
+
30
+ - name: Run Biome CI (format & lint)
31
+ run: biome ci .
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # Supermemory Plugin for OpenClaw (previously Clawdbot)
2
+
3
+ <img width="1200" height="628" alt="Announcement-3 (2)" src="https://github.com/user-attachments/assets/caa5acaa-8246-4172-af3a-9cfed2a452c1" />
4
+
5
+
6
+
7
+ Long-term memory for OpenClaw. Automatically remembers conversations, recalls relevant context, and builds a persistent user profile — all powered by [Supermemory](https://supermemory.ai) cloud. No local infrastructure required.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ openclaw plugins install @supermemory/openclaw-supermemory
13
+ ```
14
+
15
+ Restart OpenClaw after installing.
16
+
17
+ ## Configuration
18
+
19
+ The only required value is your Supermemory API key. Get one at [console.supermemory.ai](https://console.supermemory.ai).
20
+
21
+ Set it as an environment variable:
22
+
23
+ ```bash
24
+ export SUPERMEMORY_OPENCLAW_API_KEY="sm_..."
25
+ ```
26
+
27
+ Or configure it directly in `openclaw.json`:
28
+
29
+ ```json5
30
+ {
31
+ "plugins": {
32
+ "entries": {
33
+ "openclaw-supermemory": {
34
+ "enabled": true,
35
+ "config": {
36
+ "apiKey": "${SUPERMEMORY_OPENCLAW_API_KEY}"
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ ### Advanced options
45
+
46
+ | Key | Type | Default | Description |
47
+ |-----|------|---------|-------------|
48
+ | `containerTag` | `string` | `openclaw_{hostname}` | Memory namespace. All channels share this tag. |
49
+ | `autoRecall` | `boolean` | `true` | Inject relevant memories before every AI turn. |
50
+ | `autoCapture` | `boolean` | `true` | Automatically store conversation content after every turn. |
51
+ | `maxRecallResults` | `number` | `10` | Max memories injected into context per turn. |
52
+ | `profileFrequency` | `number` | `50` | Inject full user profile every N turns. Search results are injected every turn. |
53
+ | `captureMode` | `string` | `"all"` | `"all"` filters short texts and injected context. `"everything"` captures all messages. |
54
+ | `debug` | `boolean` | `false` | Verbose debug logs for API calls and responses. |
55
+
56
+ ## How it works
57
+
58
+ Once installed, the plugin works automatically with zero interaction:
59
+
60
+ - **Auto-Recall** — Before every AI turn, the plugin queries Supermemory for relevant memories and injects them as context. The AI sees your user profile (preferences, facts) and semantically similar past conversations.
61
+ - **Auto-Capture** — After every AI turn, the last user/assistant exchange is sent to Supermemory for extraction and long-term storage.
62
+
63
+ Everything runs in the cloud. Supermemory handles extraction, deduplication, and profile building on its end.
64
+
65
+ ## Slash Commands
66
+
67
+ | Command | Description |
68
+ |---------|-------------|
69
+ | `/remember <text>` | Manually save something to memory. |
70
+ | `/recall <query>` | Search your memories and see results with similarity scores. |
71
+
72
+ ## AI Tools
73
+
74
+ The AI can use these tools autonomously during conversations:
75
+
76
+ | Tool | Description |
77
+ |------|-------------|
78
+ | `supermemory_store` | Save information to long-term memory. |
79
+ | `supermemory_search` | Search memories by query. |
80
+ | `supermemory_forget` | Delete a memory by query. |
81
+ | `supermemory_profile` | View the user profile (persistent facts + recent context). |
82
+
83
+ ## CLI Commands
84
+
85
+ ```bash
86
+ openclaw supermemory search <query> # Search memories
87
+ openclaw supermemory profile # View user profile
88
+ openclaw supermemory wipe # Delete all memories (destructive, requires confirmation)
89
+ ```
package/biome.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
3
+ "assist": {
4
+ "actions": {
5
+ "source": {
6
+ "organizeImports": "on",
7
+ "useSortedAttributes": "on",
8
+ "useSortedKeys": "off"
9
+ }
10
+ },
11
+ "enabled": true
12
+ },
13
+ "files": {
14
+ "includes": [
15
+ "**",
16
+ "!**/node_modules",
17
+ "!**/dist",
18
+ "!**/bun.lock",
19
+ "!**/*.lock",
20
+ "!lib/validate.js"
21
+ ]
22
+ },
23
+ "formatter": {
24
+ "enabled": true,
25
+ "indentStyle": "tab"
26
+ },
27
+ "javascript": {
28
+ "formatter": {
29
+ "quoteStyle": "double",
30
+ "semicolons": "asNeeded"
31
+ }
32
+ },
33
+ "linter": {
34
+ "domains": {
35
+ "project": "none"
36
+ },
37
+ "enabled": true,
38
+ "rules": {
39
+ "correctness": {
40
+ "useYield": "warn",
41
+ "noUnusedVariables": {
42
+ "level": "warn",
43
+ "options": {
44
+ "ignoreRestSiblings": true
45
+ }
46
+ },
47
+ "noUnusedImports": "warn",
48
+ "useParseIntRadix": "off"
49
+ },
50
+ "recommended": true,
51
+ "style": {
52
+ "noDefaultExport": "off",
53
+ "noInferrableTypes": "error",
54
+ "noNonNullAssertion": "warn",
55
+ "noParameterAssign": "error",
56
+ "noUnusedTemplateLiteral": "error",
57
+ "noUselessElse": "error",
58
+ "useAsConstAssertion": "error",
59
+ "useDefaultParameterLast": "error",
60
+ "useEnumInitializers": "error",
61
+ "useNamingConvention": {
62
+ "level": "off",
63
+ "options": {
64
+ "strictCase": false
65
+ }
66
+ },
67
+ "useNumberNamespace": "error",
68
+ "useSelfClosingElements": "error",
69
+ "useSingleVarDeclarator": "error"
70
+ }
71
+ }
72
+ },
73
+ "vcs": {
74
+ "clientKind": "git",
75
+ "enabled": true,
76
+ "useIgnoreFile": true
77
+ }
78
+ }