squish-memory 1.0.2 → 1.1.5
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/.env.example +130 -0
- package/CHANGELOG.md +55 -0
- package/README.md +150 -287
- package/config/hooks/claude-code-hooks.json +39 -0
- package/config/hooks/cursor-hooks.json +30 -0
- package/config/hooks/opencode-hooks.json +30 -0
- package/config/hooks/windsurf-hooks.json +30 -0
- package/config/mcp-mode-semantics.json +23 -21
- package/config/plugin-manifest.json +101 -152
- package/{plugin.json → config/plugin.json} +2 -2
- package/config/settings.json +52 -51
- package/{commands → core/commands}/init.md +39 -39
- package/dist/config.d.ts +28 -4
- package/dist/config.js +97 -29
- package/dist/core/adapters/config/claude-code.d.ts +45 -0
- package/dist/core/adapters/config/claude-code.js +113 -0
- package/dist/core/adapters/config/cursor.d.ts +26 -0
- package/dist/core/adapters/config/cursor.js +74 -0
- package/dist/core/adapters/config/opencode.d.ts +23 -0
- package/dist/core/adapters/config/opencode.js +73 -0
- package/dist/core/adapters/config/windsurf.d.ts +26 -0
- package/dist/core/adapters/config/windsurf.js +74 -0
- package/dist/core/adapters/index.d.ts +45 -0
- package/dist/core/adapters/index.js +84 -0
- package/dist/core/adapters/scripts/install-adapter.d.ts +19 -0
- package/dist/core/adapters/scripts/install-adapter.js +149 -0
- package/dist/core/adapters/timeline.d.ts +23 -0
- package/dist/core/adapters/timeline.js +88 -0
- package/dist/core/adapters/types.d.ts +157 -0
- package/dist/core/adapters/types.js +50 -0
- package/dist/{algorithms → core/algorithms}/analytics/token-estimator.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/analytics/token-estimator.js +3 -3
- package/dist/{algorithms → core/algorithms}/detection/semantic-ranker.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/detection/semantic-ranker.js +1 -1
- package/dist/{algorithms → core/algorithms}/detection/two-stage-detector.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/detection/two-stage-detector.js +7 -10
- package/dist/{algorithms → core/algorithms}/handlers/approve-merge.js +4 -4
- package/dist/{algorithms → core/algorithms}/handlers/detect-duplicates.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/get-stats.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/list-proposals.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/preview-merge.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/reject-merge.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/reverse-merge.js +3 -3
- package/dist/core/algorithms/index.d.ts +21 -0
- package/dist/core/algorithms/index.js +26 -0
- package/dist/core/algorithms/operations/cache-maintenance.d.ts +12 -0
- package/dist/core/algorithms/operations/cache-maintenance.js +157 -0
- package/dist/{algorithms → core/algorithms}/safety/safety-checks.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/strategies/merge-strategies.d.ts +19 -1
- package/dist/{algorithms → core/algorithms}/strategies/merge-strategies.js +74 -123
- package/dist/core/algorithms/types.d.ts +133 -0
- package/dist/core/algorithms/types.js +5 -0
- package/dist/core/associations.d.ts +1 -2
- package/dist/core/associations.js +1 -2
- package/dist/core/autosave.d.ts +19 -0
- package/dist/core/autosave.js +16 -0
- package/dist/{commands → core/commands}/managed-sync.js +5 -5
- package/dist/core/commands/mcp-server.js +739 -0
- package/dist/core/context/agent-context.d.ts +106 -0
- package/dist/core/context/agent-context.js +274 -0
- package/dist/core/{context-paging.d.ts → context/context-paging.d.ts} +2 -12
- package/dist/core/{context-paging.js → context/context-paging.js} +19 -39
- package/dist/core/context/context-window.d.ts +40 -0
- package/dist/core/context/context-window.js +177 -0
- package/dist/core/context/context.js +22 -0
- package/dist/core/embeddings.d.ts +1 -1
- package/dist/core/embeddings.js +54 -2
- package/dist/core/error-handling.d.ts +63 -0
- package/dist/core/error-handling.js +173 -0
- package/dist/core/external-folder/index.d.ts +102 -0
- package/dist/core/external-folder/index.js +294 -0
- package/dist/core/hooks/agent-hooks.d.ts +74 -0
- package/dist/core/hooks/agent-hooks.js +244 -0
- package/dist/core/hooks/auto-tagger.d.ts +19 -0
- package/dist/core/hooks/auto-tagger.js +155 -0
- package/dist/core/hooks/capture-filter.d.ts +41 -0
- package/dist/core/hooks/capture-filter.js +128 -0
- package/dist/core/index.d.ts +6 -6
- package/dist/core/index.js +6 -6
- package/dist/core/{agent-memory.js → ingestion/agent-memory.js} +5 -7
- package/dist/core/{core-memory.js → ingestion/core-memory.js} +4 -4
- package/dist/core/ingestion/learnings.d.ts +57 -0
- package/dist/core/ingestion/learnings.js +202 -0
- package/dist/core/lib/db-client.d.ts +114 -0
- package/dist/core/lib/db-client.js +130 -0
- package/dist/core/lib/schemas.d.ts +129 -0
- package/dist/core/lib/schemas.js +87 -0
- package/dist/core/{utils.d.ts → lib/utils.d.ts} +1 -0
- package/dist/core/{utils.js → lib/utils.js} +31 -15
- package/dist/core/lib/validation.d.ts +38 -0
- package/dist/core/lib/validation.js +151 -0
- package/dist/core/lifecycle.d.ts +7 -0
- package/dist/core/lifecycle.js +140 -20
- package/dist/core/local-embeddings.d.ts +6 -1
- package/dist/core/local-embeddings.js +6 -15
- package/dist/core/logger.js +7 -1
- package/dist/core/mcp/tools.js +35 -3
- package/dist/core/memory/categorizer.js +1 -0
- package/dist/core/memory/conflict-detector.js +1 -1
- package/dist/core/memory/consolidation.d.ts +1 -10
- package/dist/core/memory/consolidation.js +2 -11
- package/dist/core/memory/context-collector.js +1 -1
- package/dist/core/memory/edit-workflow.js +1 -1
- package/dist/core/memory/entity-resolver.js +7 -7
- package/dist/core/memory/fact-extractor.js +12 -12
- package/dist/core/memory/feedback-tracker.js +1 -1
- package/dist/core/memory/hooks.d.ts +88 -0
- package/dist/core/memory/hooks.js +174 -0
- package/dist/core/memory/hybrid-retrieval.js +2 -2
- package/dist/core/memory/hybrid-search.d.ts +1 -6
- package/dist/core/memory/hybrid-search.js +70 -84
- package/dist/core/memory/importance.d.ts +8 -13
- package/dist/core/memory/importance.js +47 -74
- package/dist/core/memory/loader.d.ts +31 -0
- package/dist/core/memory/loader.js +141 -0
- package/dist/core/memory/markdown/markdown-storage.d.ts +72 -0
- package/dist/core/memory/markdown/markdown-storage.js +243 -0
- package/dist/core/memory/memories.d.ts +12 -4
- package/dist/core/memory/memories.js +192 -180
- package/dist/core/memory/memory-lifecycle.d.ts +8 -0
- package/dist/core/memory/memory-lifecycle.js +55 -0
- package/dist/core/memory/migrate.d.ts +21 -0
- package/dist/core/memory/migrate.js +134 -0
- package/dist/core/memory/normalization.d.ts +22 -0
- package/dist/core/memory/normalization.js +26 -0
- package/dist/core/memory/progressive-disclosure.js +1 -1
- package/dist/core/memory/query-rewriter.js +9 -9
- package/dist/core/memory/serialization.d.ts +4 -0
- package/dist/core/memory/serialization.js +49 -0
- package/dist/core/memory/stats.d.ts +5 -0
- package/dist/core/memory/stats.js +63 -12
- package/dist/core/memory/temporal-facts.js +21 -0
- package/dist/core/memory/write-gate.js +1 -1
- package/dist/core/obsidian-vault.d.ts +30 -0
- package/dist/core/obsidian-vault.js +94 -0
- package/dist/core/places/index.d.ts +14 -0
- package/dist/core/places/index.js +14 -0
- package/dist/core/places/memory-places.d.ts +68 -0
- package/dist/core/places/memory-places.js +261 -0
- package/dist/core/places/places.d.ts +88 -0
- package/dist/core/places/places.js +314 -0
- package/dist/core/places/rules.d.ts +74 -0
- package/dist/core/places/rules.js +240 -0
- package/dist/core/places/walking.d.ts +56 -0
- package/dist/core/places/walking.js +121 -0
- package/dist/core/projects.d.ts +5 -0
- package/dist/core/projects.js +39 -18
- package/dist/core/responses.d.ts +96 -0
- package/dist/core/responses.js +122 -0
- package/dist/core/scheduler/cron-scheduler.js +29 -7
- package/dist/core/scheduler/index.d.ts +1 -1
- package/dist/core/scheduler/index.js +1 -1
- package/dist/core/scheduler/job-runner.js +1 -1
- package/dist/core/search/conversations.js +40 -42
- package/dist/core/search/entities.js +6 -9
- package/dist/core/search/graph-boost.d.ts +7 -0
- package/dist/core/search/graph-boost.js +23 -0
- package/dist/core/search/qmd-search.js +4 -4
- package/dist/core/security/encrypt.d.ts +6 -0
- package/dist/core/security/encrypt.js +47 -0
- package/dist/core/{governance.d.ts → security/governance.d.ts} +6 -1
- package/dist/core/security/governance.js +79 -0
- package/dist/core/session/auto-load.js +6 -6
- package/dist/core/session/index.d.ts +1 -1
- package/dist/core/session/index.js +1 -1
- package/dist/core/session/self-iteration-job.d.ts +20 -0
- package/dist/core/session/self-iteration-job.js +282 -0
- package/dist/core/session/session-hooks.d.ts +18 -0
- package/dist/core/session/session-hooks.js +58 -0
- package/dist/core/session-hooks/self-iteration-job.js +35 -35
- package/dist/core/{cache.js → storage/cache.js} +2 -2
- package/dist/core/sync/qmd-sync.d.ts +1 -13
- package/dist/core/sync/qmd-sync.js +1 -13
- package/dist/core/toon.d.ts +43 -0
- package/dist/core/toon.js +160 -0
- package/dist/core/utils/memory-operations.js +1 -1
- package/dist/core/utils/vector-operations.d.ts +71 -0
- package/dist/core/utils/vector-operations.js +129 -0
- package/dist/db/adapter.d.ts +3 -3
- package/dist/db/adapter.js +99 -88
- package/dist/db/bootstrap.js +820 -522
- package/dist/{drizzle → db/drizzle}/schema-sqlite.d.ts +74 -25
- package/dist/{drizzle → db/drizzle}/schema-sqlite.js +91 -24
- package/dist/{drizzle → db/drizzle}/schema.d.ts +79 -32
- package/dist/{drizzle → db/drizzle}/schema.js +106 -35
- package/dist/db/drizzle.config.d.ts +3 -0
- package/dist/db/drizzle.config.js +12 -0
- package/dist/db/index.d.ts +1 -5
- package/dist/db/index.js +51 -8
- package/dist/db/neon.d.ts +8 -0
- package/dist/db/neon.js +20 -0
- package/dist/db/schema/index.d.ts +40 -0
- package/dist/db/schema/index.js +105 -0
- package/dist/db/schema/tables/context-sessions.d.ts +9 -0
- package/dist/db/schema/tables/context-sessions.js +37 -0
- package/dist/db/schema/tables/conversations.d.ts +9 -0
- package/dist/db/schema/tables/conversations.js +47 -0
- package/dist/db/schema/tables/core-memory.d.ts +9 -0
- package/dist/db/schema/tables/core-memory.js +41 -0
- package/dist/db/schema/tables/entities.d.ts +9 -0
- package/dist/db/schema/tables/entities.js +39 -0
- package/dist/db/schema/tables/entity-relations.d.ts +9 -0
- package/dist/db/schema/tables/entity-relations.js +31 -0
- package/dist/db/schema/tables/learnings.d.ts +9 -0
- package/dist/db/schema/tables/learnings.js +66 -0
- package/dist/db/schema/tables/memories.d.ts +9 -0
- package/dist/db/schema/tables/memories.js +161 -0
- package/dist/db/schema/tables/memory-associations.d.ts +9 -0
- package/dist/db/schema/tables/memory-associations.js +39 -0
- package/dist/db/schema/tables/memory-hash-cache.d.ts +9 -0
- package/dist/db/schema/tables/memory-hash-cache.js +29 -0
- package/dist/db/schema/tables/memory-merge-history.d.ts +9 -0
- package/dist/db/schema/tables/memory-merge-history.js +33 -0
- package/dist/db/schema/tables/memory-merge-proposals.d.ts +9 -0
- package/dist/db/schema/tables/memory-merge-proposals.js +39 -0
- package/dist/db/schema/tables/messages.d.ts +9 -0
- package/dist/db/schema/tables/messages.js +41 -0
- package/dist/db/schema/tables/namespaces.d.ts +9 -0
- package/dist/db/schema/tables/namespaces.js +37 -0
- package/dist/db/schema/tables/projects.d.ts +9 -0
- package/dist/db/schema/tables/projects.js +31 -0
- package/dist/db/schema/tables/users.d.ts +9 -0
- package/dist/db/schema/tables/users.js +27 -0
- package/dist/db/schema.d.ts +1 -1
- package/dist/db/schema.js +2 -2
- package/dist/db/supabase.d.ts +9 -0
- package/dist/db/supabase.js +24 -0
- package/dist/index.d.ts +2 -14
- package/dist/index.js +1320 -640
- package/dist/vendor/sql.js/sql-wasm.wasm +0 -0
- package/dist/webui/server.d.ts +5 -0
- package/dist/{api/web/web.js → webui/server.js} +511 -508
- package/generated/mcp/manifest.json +1 -1
- package/{.mcp.json → mcp.json.example} +1 -1
- package/package.json +159 -181
- package/scripts/README.md +60 -0
- package/scripts/copy-runtime-assets.mjs +26 -0
- package/scripts/generate-mcp.mjs +264 -264
- package/scripts/github-release.sh +4 -4
- package/scripts/install-claude-code.sh +85 -0
- package/scripts/install-cursor.sh +56 -0
- package/scripts/install-hooks.sh +73 -0
- package/scripts/install-interactive.mjs +357 -677
- package/scripts/install-opencode.sh +75 -0
- package/scripts/install-windsurf.sh +67 -0
- package/skills/squish-memory/SKILL.md +104 -114
- package/skills/squish-memory/{install.mjs → scripts/install.mjs} +2 -2
- package/skills/squish-memory/{install.sh → scripts/install.sh} +2 -2
- package/skills/squish-memory/write_skill.js +2 -0
- package/.claude-plugin/marketplace.json +0 -20
- package/.claude-plugin/plugin.json +0 -32
- package/.env.mcp.example +0 -60
- package/QUICK-START.md +0 -71
- package/bin/squish-add.mjs +0 -32
- package/bin/squish-rm.mjs +0 -21
- package/commands/observe.md +0 -5
- package/dist/api/web/index.d.ts +0 -3
- package/dist/api/web/index.js +0 -4
- package/dist/api/web/web-server.d.ts +0 -3
- package/dist/api/web/web-server.js +0 -6
- package/dist/api/web/web.d.ts +0 -4
- package/dist/commands/mcp-server.js +0 -393
- package/dist/core/context.js +0 -24
- package/dist/core/governance.js +0 -64
- package/dist/core/observations.d.ts +0 -26
- package/dist/core/observations.js +0 -110
- package/dist/core/requirements.d.ts +0 -20
- package/dist/core/requirements.js +0 -35
- package/hooks/hooks.json +0 -52
- package/hooks/post-tool-use.js +0 -26
- package/hooks/session-end.js +0 -28
- package/hooks/session-start.js +0 -33
- package/hooks/user-prompt-submit.js +0 -26
- package/hooks/utils.js +0 -153
- package/npx-installer.js +0 -208
- package/packages/plugin-claude-code/README.md +0 -73
- package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts +0 -35
- package/packages/plugin-claude-code/dist/plugin-wrapper.js +0 -191
- package/packages/plugin-claude-code/package.json +0 -31
- package/packages/plugin-openclaw/README.md +0 -70
- package/packages/plugin-openclaw/dist/index.d.ts +0 -49
- package/packages/plugin-openclaw/dist/index.js +0 -262
- package/packages/plugin-openclaw/openclaw.plugin.json +0 -94
- package/packages/plugin-openclaw/package.json +0 -31
- package/packages/plugin-opencode/install.mjs +0 -217
- package/packages/plugin-opencode/package.json +0 -21
- package/scripts/db/check-db.mjs +0 -88
- package/scripts/db/fix-all-columns.mjs +0 -52
- package/scripts/db/fix-schema-all.mjs +0 -55
- package/scripts/db/fix-schema-full.mjs +0 -46
- package/scripts/db/fix-schema.mjs +0 -38
- package/scripts/db/init-db.mjs +0 -13
- package/scripts/db/recreate-db.mjs +0 -14
- package/scripts/install-mcp.mjs +0 -116
- package/scripts/install-web.sh +0 -120
- package/scripts/install.mjs +0 -340
- package/scripts/openclaw-bootstrap.mjs +0 -127
- package/scripts/package-release.sh +0 -71
- package/scripts/test/test-all-systems.mjs +0 -139
- package/scripts/test/test-memory-system.mjs +0 -139
- package/scripts/test/test-v0.5.0.mjs +0 -210
- package/skills/memory-guide/SKILL.md +0 -332
- package/skills/squish-cli/SKILL.md +0 -240
- package/skills/squish-mcp/SKILL.md +0 -355
- package/skills/squish-memory/claude-desktop.json +0 -12
- package/skills/squish-memory/openclaw.json +0 -13
- package/skills/squish-memory/opencode.json +0 -14
- package/skills/squish-memory/skill.json +0 -32
- /package/{commands → core/commands}/context-paging.md +0 -0
- /package/{commands → core/commands}/context-status.md +0 -0
- /package/{commands → core/commands}/context.md +0 -0
- /package/{commands → core/commands}/core-memory.md +0 -0
- /package/{commands → core/commands}/health.md +0 -0
- /package/{commands → core/commands}/merge.md +0 -0
- /package/{commands → core/commands}/recall.md +0 -0
- /package/{commands → core/commands}/remember.md +0 -0
- /package/{commands → core/commands}/search.md +0 -0
- /package/dist/{algorithms → core/algorithms}/detection/hash-filters.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/detection/hash-filters.js +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/approve-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/detect-duplicates.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/get-stats.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/list-proposals.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/preview-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/reject-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/reverse-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/safety/safety-checks.js +0 -0
- /package/dist/{algorithms → core/algorithms}/utils/response-builder.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/utils/response-builder.js +0 -0
- /package/dist/{commands → core/commands}/managed-sync.d.ts +0 -0
- /package/dist/{commands → core/commands}/mcp-server.d.ts +0 -0
- /package/dist/core/{context.d.ts → context/context.d.ts} +0 -0
- /package/dist/core/{agent-memory.d.ts → ingestion/agent-memory.d.ts} +0 -0
- /package/dist/core/{core-memory.d.ts → ingestion/core-memory.d.ts} +0 -0
- /package/dist/core/{privacy.d.ts → security/privacy.d.ts} +0 -0
- /package/dist/core/{privacy.js → security/privacy.js} +0 -0
- /package/dist/core/{secret-detector.d.ts → security/secret-detector.d.ts} +0 -0
- /package/dist/core/{secret-detector.js → security/secret-detector.js} +0 -0
- /package/dist/core/{cache.d.ts → storage/cache.d.ts} +0 -0
- /package/dist/core/{database.d.ts → storage/database.d.ts} +0 -0
- /package/dist/core/{database.js → storage/database.js} +0 -0
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: squish-mcp
|
|
3
|
-
description: Squish MCP tools for Claude Code, OpenCode, Cursor and other MCP clients. 16 tools for persistent memory storage, search, and context management.
|
|
4
|
-
version: 1.0.2
|
|
5
|
-
author: michielhdoteth
|
|
6
|
-
tags: [mcp, memory, persistence, search, semantic-search, claude-code, opencode, cursor]
|
|
7
|
-
emoji: plug
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Squish MCP Tools
|
|
11
|
-
|
|
12
|
-
Use these MCP tools when working with Claude Code, OpenCode, Cursor, or any MCP-compatible client.
|
|
13
|
-
|
|
14
|
-
## Install
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install -g squish-memory
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Then start the MCP server:
|
|
21
|
-
```bash
|
|
22
|
-
squish run mcp
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
This will also start the Web UI at http://localhost:37777
|
|
26
|
-
|
|
27
|
-
Configure in your client's MCP settings:
|
|
28
|
-
- **Command**: `squish-mcp`
|
|
29
|
-
- **Args**: (none needed)
|
|
30
|
-
- **Environment**:
|
|
31
|
-
- `SQUISH_MODE=local` or `team`
|
|
32
|
-
- `SQUISH_DATA_DIR=~/.squish`
|
|
33
|
-
|
|
34
|
-
## MCP Tools (16 Tools)
|
|
35
|
-
|
|
36
|
-
### 1. squish_remember
|
|
37
|
-
Store a new memory with automatic embedding.
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
{
|
|
41
|
-
name: "squish_remember",
|
|
42
|
-
description: "Store a new memory in Squish with automatic embedding",
|
|
43
|
-
inputSchema: {
|
|
44
|
-
type: "object",
|
|
45
|
-
properties: {
|
|
46
|
-
content: { type: "string", description: "Memory content to store" },
|
|
47
|
-
type: {
|
|
48
|
-
type: "string",
|
|
49
|
-
enum: ["observation", "fact", "decision", "context", "preference"],
|
|
50
|
-
description: "Memory type (default: observation)"
|
|
51
|
-
},
|
|
52
|
-
tags: {
|
|
53
|
-
type: "array",
|
|
54
|
-
items: { type: "string" },
|
|
55
|
-
description: "Optional tags"
|
|
56
|
-
},
|
|
57
|
-
project: { type: "string", description: "Project path" }
|
|
58
|
-
},
|
|
59
|
-
required: ["content"]
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 2. squish_search
|
|
65
|
-
Hybrid search across QMD, SQLite DB, and embeddings.
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
{
|
|
69
|
-
name: "squish_search",
|
|
70
|
-
description: "Hybrid search across QMD, SQLite DB, and embeddings with graph expansion",
|
|
71
|
-
inputSchema: {
|
|
72
|
-
type: "object",
|
|
73
|
-
properties: {
|
|
74
|
-
query: { type: "string", description: "Search query" },
|
|
75
|
-
limit: { type: "number", description: "Max results (default: 5, max: 100)" },
|
|
76
|
-
project: { type: "string", description: "Project path filter" },
|
|
77
|
-
mode: {
|
|
78
|
-
type: "string",
|
|
79
|
-
enum: ["hybrid", "qmd", "db", "semantic"],
|
|
80
|
-
description: "Search mode (default: hybrid)"
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
required: ["query"]
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### 3. squish_recall
|
|
89
|
-
Retrieve a specific memory by ID.
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
{
|
|
93
|
-
name: "squish_recall",
|
|
94
|
-
description: "Retrieve a specific memory by ID",
|
|
95
|
-
inputSchema: {
|
|
96
|
-
type: "object",
|
|
97
|
-
properties: {
|
|
98
|
-
memoryId: { type: "string", description: "Memory UUID to retrieve" }
|
|
99
|
-
},
|
|
100
|
-
required: ["memoryId"]
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### 4. squish_forget
|
|
106
|
-
Delete a memory by ID.
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
{
|
|
110
|
-
name: "squish_forget",
|
|
111
|
-
description: "Delete a memory by ID",
|
|
112
|
-
inputSchema: {
|
|
113
|
-
type: "object",
|
|
114
|
-
properties: {
|
|
115
|
-
memoryId: { type: "string", description: "Memory UUID to delete" }
|
|
116
|
-
},
|
|
117
|
-
required: ["memoryId"]
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### 5. squish_update
|
|
123
|
-
Update an existing memory.
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
{
|
|
127
|
-
name: "squish_update",
|
|
128
|
-
description: "Update an existing memory",
|
|
129
|
-
inputSchema: {
|
|
130
|
-
type: "object",
|
|
131
|
-
properties: {
|
|
132
|
-
memoryId: { type: "string", description: "Memory UUID to update" },
|
|
133
|
-
content: { type: "string", description: "New content" },
|
|
134
|
-
tags: { type: "array", items: { type: "string" }, description: "New tags" },
|
|
135
|
-
type: {
|
|
136
|
-
type: "string",
|
|
137
|
-
enum: ["observation", "fact", "decision", "context", "preference"],
|
|
138
|
-
description: "New type"
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
required: ["memoryId"]
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### 6. squish_associate
|
|
147
|
-
Create association between two memories.
|
|
148
|
-
|
|
149
|
-
```typescript
|
|
150
|
-
{
|
|
151
|
-
name: "squish_associate",
|
|
152
|
-
description: "Create an association between two memories in the graph",
|
|
153
|
-
inputSchema: {
|
|
154
|
-
type: "object",
|
|
155
|
-
properties: {
|
|
156
|
-
fromMemoryId: { type: "string", description: "Source memory UUID" },
|
|
157
|
-
toMemoryId: { type: "string", description: "Target memory UUID" },
|
|
158
|
-
type: {
|
|
159
|
-
type: "string",
|
|
160
|
-
enum: ["relates_to", "supersedes", "contradicts", "supports", "duplicate", "merged"],
|
|
161
|
-
description: "Association type"
|
|
162
|
-
},
|
|
163
|
-
weight: { type: "number", description: "Strength 0-1 (default: 0.5)" }
|
|
164
|
-
},
|
|
165
|
-
required: ["fromMemoryId", "toMemoryId", "type"]
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### 7. squish_related
|
|
171
|
-
Find related memories via graph.
|
|
172
|
-
|
|
173
|
-
```typescript
|
|
174
|
-
{
|
|
175
|
-
name: "squish_related",
|
|
176
|
-
description: "Get related memories via graph traversal",
|
|
177
|
-
inputSchema: {
|
|
178
|
-
type: "object",
|
|
179
|
-
properties: {
|
|
180
|
-
memoryId: { type: "string", description: "Memory UUID" },
|
|
181
|
-
depth: { type: "number", description: "Graph depth 1-5 (default: 2)" },
|
|
182
|
-
minWeight: { type: "number", description: "Min weight 0-1 (default: 0.3)" }
|
|
183
|
-
},
|
|
184
|
-
required: ["memoryId"]
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### 8. squish_context
|
|
190
|
-
Get project context.
|
|
191
|
-
|
|
192
|
-
```typescript
|
|
193
|
-
{
|
|
194
|
-
name: "squish_context",
|
|
195
|
-
description: "Get project context with relevant memories",
|
|
196
|
-
inputSchema: {
|
|
197
|
-
type: "object",
|
|
198
|
-
properties: {
|
|
199
|
-
project: { type: "string", description: "Project path" },
|
|
200
|
-
limit: { type: "number", description: "Max memories (default: 10)" }
|
|
201
|
-
},
|
|
202
|
-
required: ["project"]
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### 9. squish_observe
|
|
208
|
-
Record observations.
|
|
209
|
-
|
|
210
|
-
```typescript
|
|
211
|
-
{
|
|
212
|
-
name: "squish_observe",
|
|
213
|
-
description: "Store an observation about tool usage, patterns, or insights",
|
|
214
|
-
inputSchema: {
|
|
215
|
-
type: "object",
|
|
216
|
-
properties: {
|
|
217
|
-
type: {
|
|
218
|
-
type: "string",
|
|
219
|
-
enum: ["tool_use", "file_change", "error", "pattern", "insight"],
|
|
220
|
-
description: "Observation type"
|
|
221
|
-
},
|
|
222
|
-
action: { type: "string", description: "Action performed" },
|
|
223
|
-
summary: { type: "string", description: "Summary of observation" },
|
|
224
|
-
target: { type: "string", description: "Target file or resource" },
|
|
225
|
-
project: { type: "string", description: "Project path" }
|
|
226
|
-
},
|
|
227
|
-
required: ["type", "action", "summary"]
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### 10. squish_qmd_search
|
|
233
|
-
Search markdown files.
|
|
234
|
-
|
|
235
|
-
```typescript
|
|
236
|
-
{
|
|
237
|
-
name: "squish_qmd_search",
|
|
238
|
-
description: "Search markdown files using QMD (BM25 + vector)",
|
|
239
|
-
inputSchema: {
|
|
240
|
-
type: "object",
|
|
241
|
-
properties: {
|
|
242
|
-
query: { type: "string", description: "Search query" },
|
|
243
|
-
collection: { type: "string", description: "QMD collection name" },
|
|
244
|
-
limit: { type: "number", description: "Max results (default: 10)" }
|
|
245
|
-
},
|
|
246
|
-
required: ["query"]
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### 11. squish_embed
|
|
252
|
-
Generate embeddings.
|
|
253
|
-
|
|
254
|
-
```typescript
|
|
255
|
-
{
|
|
256
|
-
name: "squish_embed",
|
|
257
|
-
description: "Generate embeddings for text using configured provider",
|
|
258
|
-
inputSchema: {
|
|
259
|
-
type: "object",
|
|
260
|
-
properties: {
|
|
261
|
-
text: { type: "string", description: "Text to embed" }
|
|
262
|
-
},
|
|
263
|
-
required: ["text"]
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### 12. squish_health
|
|
269
|
-
Check system health. No input required.
|
|
270
|
-
|
|
271
|
-
```typescript
|
|
272
|
-
{
|
|
273
|
-
name: "squish_health",
|
|
274
|
-
description: "Check system health",
|
|
275
|
-
inputSchema: {
|
|
276
|
-
type: "object",
|
|
277
|
-
properties: {}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### 13. squish_stats
|
|
283
|
-
Get memory statistics.
|
|
284
|
-
|
|
285
|
-
```typescript
|
|
286
|
-
{
|
|
287
|
-
name: "squish_stats",
|
|
288
|
-
description: "Get memory statistics for a project",
|
|
289
|
-
inputSchema: {
|
|
290
|
-
type: "object",
|
|
291
|
-
properties: {
|
|
292
|
-
project: { type: "string", description: "Project path (defaults to current)" }
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
### 14. squish_projects
|
|
299
|
-
List all projects. No input required.
|
|
300
|
-
|
|
301
|
-
```typescript
|
|
302
|
-
{
|
|
303
|
-
name: "squish_projects",
|
|
304
|
-
description: "List all projects",
|
|
305
|
-
inputSchema: {
|
|
306
|
-
type: "object"
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
## Quick Reference
|
|
312
|
-
|
|
313
|
-
| Tool | Purpose | Required Input |
|
|
314
|
-
|------|---------|----------------|
|
|
315
|
-
| squish_remember | Store memory | content |
|
|
316
|
-
| squish_search | Find memories | query |
|
|
317
|
-
| squish_recall | Get by ID | memoryId |
|
|
318
|
-
| squish_forget | Delete memory | memoryId |
|
|
319
|
-
| squish_update | Edit memory | memoryId |
|
|
320
|
-
| squish_associate | Link memories | fromMemoryId, toMemoryId, type |
|
|
321
|
-
| squish_related | Find related | memoryId |
|
|
322
|
-
| squish_context | Project overview | project |
|
|
323
|
-
| squish_observe | Record observation | type, action, summary |
|
|
324
|
-
| squish_qmd_search | Search docs | query |
|
|
325
|
-
| squish_embed | Generate embedding | text |
|
|
326
|
-
| squish_health | Check status | - |
|
|
327
|
-
| squish_stats | View stats | project (optional) |
|
|
328
|
-
| squish_projects | List projects | - |
|
|
329
|
-
|
|
330
|
-
## Configuration
|
|
331
|
-
|
|
332
|
-
```json
|
|
333
|
-
{
|
|
334
|
-
"mcpServers": {
|
|
335
|
-
"squish": {
|
|
336
|
-
"command": "squish-mcp",
|
|
337
|
-
"env": {
|
|
338
|
-
"SQUISH_MODE": "local",
|
|
339
|
-
"SQUISH_DATA_DIR": "~/.squish"
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
## Migration from v0.9.x
|
|
347
|
-
|
|
348
|
-
**Breaking Changes:**
|
|
349
|
-
- Added `squish run mcp` and `squish run web` commands to start servers
|
|
350
|
-
- The `squish` command now shows interactive wizard (was MCP server + Web UI)
|
|
351
|
-
|
|
352
|
-
**What stays the same:**
|
|
353
|
-
- All MCP tool names and schemas
|
|
354
|
-
- Environment variables
|
|
355
|
-
- Configuration format
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://opencode.ai/config.json",
|
|
3
|
-
"mcp": {
|
|
4
|
-
"squish": {
|
|
5
|
-
"type": "local",
|
|
6
|
-
"command": ["npx", "-y", "squish-memory", "mcp"],
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"environment": {
|
|
9
|
-
"SQUISH_MODE": "local",
|
|
10
|
-
"SQUISH_DATA_DIR": "~/.squish"
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "squish-memory",
|
|
3
|
-
"version": "0.9.0",
|
|
4
|
-
"description": "Persistent memory system with semantic search for AI assistants",
|
|
5
|
-
"author": "michielhdoteth",
|
|
6
|
-
"repository": "https://github.com/michielhdoteth/squish",
|
|
7
|
-
"homepage": "https://github.com/michielhdoteth/squish",
|
|
8
|
-
"keywords": ["memory", "persistence", "search", "semantic-search", "ai-assistant", "mcp", "cli"],
|
|
9
|
-
"license": "MIT",
|
|
10
|
-
"skills": [
|
|
11
|
-
{
|
|
12
|
-
"name": "squish-memory",
|
|
13
|
-
"path": "skills/squish-memory",
|
|
14
|
-
"description": "Overview, quick start, and configuration"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"name": "squish-mcp",
|
|
18
|
-
"path": "skills/squish-mcp",
|
|
19
|
-
"description": "MCP tools (16 tools) for Claude Code, OpenCode, Cursor"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"name": "squish-cli",
|
|
23
|
-
"path": "skills/squish-cli",
|
|
24
|
-
"description": "CLI commands for OpenClaw and bash scripting"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"name": "memory-guide",
|
|
28
|
-
"path": "skills/memory-guide",
|
|
29
|
-
"description": "Usage guide and best practices"
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|