squish-memory 0.7.0 → 0.7.3

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/README.md CHANGED
@@ -1,11 +1,15 @@
1
1
  # Squish - Two-Tier Memory System for Claude Code
2
2
 
3
- A persistent, context-aware memory plugin for Claude Code (v0.7.0) that provides intelligent memory management with a two-tier architecture: always-in-context core memory (2KB) plus context paging for selective memory loading.
3
+ A persistent, context-aware memory plugin for Claude Code (v0.7.2) that provides intelligent memory management with a two-tier architecture: always-in-context core memory (2KB) plus context paging for selective memory loading.
4
4
 
5
- **What's New in v0.7.0:**
6
- - **OpenClaw Gateway**: WebSocket API for OpenClaw AI assistant integration
7
- - **Enhanced Search**: Improved semantic search with better ranking
8
- - **Memory Tools**: Expanded toolkit for memory management
5
+ **Dual-Mode Operation:**
6
+ - **MCP Server** for Claude Code (default, no args)
7
+ - **CLI Commands** for OpenClaw/bash execution
8
+
9
+ **What's New in v0.7.2:**
10
+ - **CLI Mode**: Execute `squish remember`, `search`, `recall` directly from terminal
11
+ - **Local Embeddings**: Zero-dependency TF-IDF embeddings (works offline, no Ollama needed)
12
+ - **OpenClaw Ready**: Install via npm, use via bash commands
9
13
 
10
14
  ## Features
11
15
 
@@ -175,6 +179,52 @@ SQUISH_DEFAULT_VISIBILITY=private # private|project|team|global
175
179
 
176
180
  ## Quick Start
177
181
 
182
+ ### CLI Usage (OpenClaw/Bash)
183
+
184
+ Install and use directly from terminal:
185
+
186
+ ```bash
187
+ npm install -g squish-memory
188
+
189
+ # Store memories
190
+ squish remember "User prefers TypeScript for all projects" --type preference
191
+ squish remember "API uses JWT authentication" --type fact
192
+
193
+ # Search memories
194
+ squish search "authentication" --limit 5
195
+ squish search "TypeScript" --type fact
196
+
197
+ # View core memory
198
+ squish core_memory view
199
+
200
+ # Retrieve by ID
201
+ squish recall <memory-id>
202
+ ```
203
+
204
+ **Memory Types:** `fact`, `decision`, `preference`, `observation`, `context`
205
+
206
+ **Embedding Options:**
207
+
208
+ By default, Squish uses local TF-IDF embeddings (zero dependencies, works offline).
209
+
210
+ For better semantic search, configure an embedding provider:
211
+
212
+ ```bash
213
+ # OpenAI embeddings (best quality)
214
+ export SQUISH_OPENAI_API_KEY=sk-...
215
+ export SQUISH_EMBEDDINGS_PROVIDER=openai
216
+
217
+ # Ollama local embeddings (good quality, runs locally)
218
+ export SQUISH_EMBEDDINGS_PROVIDER=ollama
219
+ export SQUISH_OLLAMA_URL=http://localhost:11434
220
+
221
+ # Or set in your shell profile (~/.bashrc or ~/.zshrc)
222
+ echo "export SQUISH_OPENAI_API_KEY=sk-..." >> ~/.bashrc
223
+ echo "export SQUISH_EMBEDDINGS_PROVIDER=openai" >> ~/.bashrc
224
+ ```
225
+
226
+ ### MCP Server (Claude Code)
227
+
178
228
  ### 1. Initialize Core Memory
179
229
 
180
230
  Store basic information that will always be available:
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AA+CD,eAAO,MAAM,MAAM;;;;wBAMD,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ;;;;;;;;;;;;4BAkBO,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ;;;;;;qBAYrF,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY;;CAEzF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAiDD,eAAO,MAAM,MAAM;;;;wBAMD,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ;;;;;;;;;;;;4BAkBO,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ;;;;;;qBAYrF,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY;;CAEzF,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/config.js CHANGED
@@ -14,15 +14,17 @@ const openAiApiKey = process.env.SQUISH_OPENAI_API_KEY || process.env.OPENAI_API
14
14
  // - Priority: QMD > Ollama (nomic-embed-text-v1.5) > OpenAI > Local TF-IDF
15
15
  // - QMD provides hybrid BM25+vector+rerank search for best quality
16
16
  // - Nomic provides excellent quality for memory systems with local inference
17
+ // - Local TF-IDF requires zero external dependencies (default for OpenClaw/VPS)
17
18
  const embeddingsProvider = (() => {
18
19
  const explicit = process.env.SQUISH_EMBEDDINGS_PROVIDER?.toLowerCase();
19
20
  // If explicitly set, respect the user's choice
20
21
  if (explicit && ['openai', 'ollama', 'local', 'none', 'qmd', 'hybrid'].includes(explicit)) {
21
22
  return explicit;
22
23
  }
23
- // Default: Ollama with nomic-embed-text-v1.5 (recommended for Squish)
24
- // QMD can be enabled by setting SQUISH_EMBEDDINGS_PROVIDER=qmd or hybrid
25
- return 'ollama';
24
+ // Default: Local TF-IDF for zero-dependency operation
25
+ // Works offline, no API calls, fast on any hardware
26
+ // Override with SQUISH_EMBEDDINGS_PROVIDER=ollama for better quality
27
+ return 'local';
26
28
  })();
27
29
  // QMD Integration (v0.7.0)
28
30
  const qmdEnabled = process.env.SQUISH_QMD_ENABLED === 'true';
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAE3C,MAAM,UAAU,UAAU;IACxB,yDAAyD;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AACtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAE3F,uBAAuB;AACvB,2EAA2E;AAC3E,mEAAmE;AACnE,6EAA6E;AAC7E,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,WAAW,EAAE,CAAC;IAEvE,+CAA+C;IAC/C,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1F,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,sDAAsD;IACtD,oDAAoD;IACpD,qEAAqE;IACrE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC,EAAE,CAAC;AAEL,2BAA2B;AAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAC;AAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB;IAC3D,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACrD,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,QAAQ,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,EAAE,CAAC;AAEL,8CAA8C;AAC9C,MAAM,wBAAwB,GAAG;IAC/B,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,oBAAoB;CACjC,CAAC;AAEF,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B;IACpE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACvD,CAAC,CAAC,wBAAwB,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU;IACV,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;IACrC,OAAO,EAAE,UAAU,EAAE;IACrB,kBAAkB,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtG,CAAC,CAAC,kBAA+E;QACjF,CAAC,CAAC,OAAO,CAA8D;IACzE,YAAY;IACZ,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,sCAAsC;IACzF,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,wBAAwB;IAC3F,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB;IACpE,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,uBAAuB;IAE1F,4CAA4C;IAC5C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,OAAO;IAClE,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,SAAS,CAAC,EAAE,SAAS;IAE1F,6CAA6C;IAC7C,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,OAAO;IAC1E,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,CAAC;IAChF,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,IAAI,CAAC;IAE3E,0CAA0C;IAC1C,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,OAAO;IAC7E,sBAAsB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,SAAS,CAA8C;IAEzH,yCAAyC;IACzC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,OAAO;IAEpE,qDAAqD;IACrD,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM;IACzE,gCAAgC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,KAAK,CAAC;IAEjG,gDAAgD;IAChD,UAAU;IACV,kBAAkB;IAClB,eAAe,EAAE,eAAuE;IACxF,oBAAoB;CACrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,34 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Squish v0.6.0 - Major tool consolidation milestone
3
+ * Squish v0.7.0 - Dual-Mode CLI + MCP Server
4
4
  *
5
- * This is a significant refactor reducing MCP tools from 18 to 11 (39% reduction).
6
- * Breaking changes in tool API - migration guide: see docs/MIGRATION-v0.6.0.md
5
+ * Modes:
6
+ * - CLI Mode: For OpenClaw bash execution (e.g., `squish remember "text"`)
7
+ * - MCP Mode: For Claude Code (default, no args)
7
8
  *
8
9
  * Features:
9
- * - 11 consolidated MCP tools (from 18)
10
- * - Local mode: SQLite with FTS5 + auto-capture + folder context
11
- * - Team mode: PostgreSQL + pgvector + Redis
12
- * - Plugin system: Hooks for auto-capture, context injection, privacy filtering, folder context generation
13
- * - Privacy-first: Secret detection, <private> tag filtering, async worker pipeline
14
- * - Pluggable embeddings: OpenAI, Ollama, or local TF-IDF
15
- *
16
- * Consolidated MCP Tools (v0.6.0):
17
- * - core_memory: Unified tool for view/edit/append operations (was 3 tools)
18
- * - context_paging: Unified tool for load/evict/view operations (was 3 tools)
19
- * - merge: Unified tool for detect/list/preview/stats/approve/reject/reverse (was 2 tools)
20
- * - context_status, remember, recall, search, observe, context, health (unchanged)
21
- * - lifecycle, summarize_session, protect_memory (unchanged)
22
- *
23
- * Plugin hooks (registered in plugin.json):
24
- * - onInstall: Initialize database, create config files
25
- * - onSessionStart: Inject relevant context + generate folder context
26
- * - onUserPromptSubmit: Auto-capture user prompts with privacy filtering
27
- * - onPostToolUse: Auto-capture tool executions and observe patterns
28
- * - onSessionStop: Finalize observations, summarize via async worker
29
- *
30
- * See src/plugin/plugin-wrapper.ts for hook implementations
31
- * See docs/MIGRATION-v0.6.0.md for migration guide
10
+ * - 11 consolidated MCP tools
11
+ * - Local mode: SQLite with FTS5
12
+ * - Team mode: PostgreSQL + pgvector
13
+ * - OpenClaw CLI commands: remember, search, recall, core_memory
32
14
  */
33
15
  import 'dotenv/config';
34
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,eAAe,CAAC"}