slowave 0.1.3__tar.gz
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.
- slowave-0.1.3/LICENSE +21 -0
- slowave-0.1.3/PKG-INFO +168 -0
- slowave-0.1.3/README.md +130 -0
- slowave-0.1.3/pyproject.toml +60 -0
- slowave-0.1.3/setup.cfg +4 -0
- slowave-0.1.3/slowave/__init__.py +10 -0
- slowave-0.1.3/slowave/__main__.py +13 -0
- slowave-0.1.3/slowave/cli/__init__.py +0 -0
- slowave-0.1.3/slowave/cli/main.py +607 -0
- slowave-0.1.3/slowave/core/__init__.py +0 -0
- slowave-0.1.3/slowave/core/config.py +56 -0
- slowave-0.1.3/slowave/core/consolidation.py +533 -0
- slowave-0.1.3/slowave/core/context.py +450 -0
- slowave-0.1.3/slowave/core/engine.py +751 -0
- slowave-0.1.3/slowave/core/paths.py +13 -0
- slowave-0.1.3/slowave/dashboard/__init__.py +0 -0
- slowave-0.1.3/slowave/dashboard/app.py +687 -0
- slowave-0.1.3/slowave/latent/__init__.py +0 -0
- slowave-0.1.3/slowave/latent/episodic_store.py +196 -0
- slowave-0.1.3/slowave/latent/graph_manager.py +160 -0
- slowave-0.1.3/slowave/latent/metrics.py +53 -0
- slowave-0.1.3/slowave/latent/replay_engine.py +497 -0
- slowave-0.1.3/slowave/latent/retrieval.py +514 -0
- slowave-0.1.3/slowave/latent/salience.py +61 -0
- slowave-0.1.3/slowave/latent/schema.py +298 -0
- slowave-0.1.3/slowave/latent/semantic_store.py +304 -0
- slowave-0.1.3/slowave/latent/synthetic.py +56 -0
- slowave-0.1.3/slowave/latent/temporal.py +130 -0
- slowave-0.1.3/slowave/latent/transition_model.py +57 -0
- slowave-0.1.3/slowave/latent/types.py +51 -0
- slowave-0.1.3/slowave/llm/__init__.py +37 -0
- slowave-0.1.3/slowave/llm/base.py +52 -0
- slowave-0.1.3/slowave/llm/ollama_backend.py +78 -0
- slowave-0.1.3/slowave/llm/openrouter_backend.py +204 -0
- slowave-0.1.3/slowave/llm/prompts/extract_schema.txt +103 -0
- slowave-0.1.3/slowave/llm/prompts/judge_contradiction.txt +23 -0
- slowave-0.1.3/slowave/mcp/__init__.py +0 -0
- slowave-0.1.3/slowave/mcp/server.py +337 -0
- slowave-0.1.3/slowave/storage/__init__.py +0 -0
- slowave-0.1.3/slowave/storage/schema.sql +205 -0
- slowave-0.1.3/slowave/storage/sqlite_db.py +161 -0
- slowave-0.1.3/slowave/symbolic/__init__.py +0 -0
- slowave-0.1.3/slowave/symbolic/contradiction.py +62 -0
- slowave-0.1.3/slowave/symbolic/encoder.py +77 -0
- slowave-0.1.3/slowave/symbolic/episode_text.py +91 -0
- slowave-0.1.3/slowave/symbolic/raw_log.py +152 -0
- slowave-0.1.3/slowave/symbolic/schema_extractor.py +122 -0
- slowave-0.1.3/slowave/symbolic/schema_store.py +732 -0
- slowave-0.1.3/slowave/utils/__init__.py +0 -0
- slowave-0.1.3/slowave/utils/logging.py +0 -0
- slowave-0.1.3/slowave/utils/vec.py +40 -0
- slowave-0.1.3/slowave.egg-info/PKG-INFO +168 -0
- slowave-0.1.3/slowave.egg-info/SOURCES.txt +55 -0
- slowave-0.1.3/slowave.egg-info/dependency_links.txt +1 -0
- slowave-0.1.3/slowave.egg-info/entry_points.txt +3 -0
- slowave-0.1.3/slowave.egg-info/requires.txt +13 -0
- slowave-0.1.3/slowave.egg-info/top_level.txt +1 -0
slowave-0.1.3/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 mrsalty
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
slowave-0.1.3/PKG-INFO
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: slowave
|
|
3
|
+
Version: 0.1.3
|
|
4
|
+
Summary: Brain-inspired long-term memory for AI agents — zero LLM during ingest or retrieval
|
|
5
|
+
Author: mrsalty
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/mrsalty/slowave
|
|
8
|
+
Project-URL: Repository, https://github.com/mrsalty/slowave
|
|
9
|
+
Project-URL: Issues, https://github.com/mrsalty/slowave/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/mrsalty/slowave/releases
|
|
11
|
+
Keywords: memory,agent,ai,mcp,neuroscience,rag,llm
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Requires-Python: >=3.10
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
License-File: LICENSE
|
|
25
|
+
Requires-Dist: numpy
|
|
26
|
+
Requires-Dist: torch
|
|
27
|
+
Requires-Dist: faiss-cpu
|
|
28
|
+
Requires-Dist: click>=8.1
|
|
29
|
+
Requires-Dist: sentence-transformers
|
|
30
|
+
Requires-Dist: mcp[cli]
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest; extra == "dev"
|
|
33
|
+
Requires-Dist: black; extra == "dev"
|
|
34
|
+
Requires-Dist: isort; extra == "dev"
|
|
35
|
+
Requires-Dist: build; extra == "dev"
|
|
36
|
+
Requires-Dist: twine; extra == "dev"
|
|
37
|
+
Dynamic: license-file
|
|
38
|
+
|
|
39
|
+
# Slowave
|
|
40
|
+
|
|
41
|
+
**Brain-inspired long-term memory for AI agents and desktop AI chats.** Slowave plugs into Claude Code, Cline, and Claude Desktop through MCP, giving them a shared memory that accumulates, consolidates, adapts, and recalls across sessions.
|
|
42
|
+
|
|
43
|
+
Slowave's core thesis is simple: **language is not the memory system; language is one interface to it.** The memory engine works in latent space, the way brains appear to operate over distributed internal representations rather than over transcripts. Text is embedded once, then memory evolves through geometry, time, salience, replay, and activation. The default path uses **no LLM for ingest, consolidation, or recall**: inference is local, fast, CPU-friendly, private, and independent of any model provider.
|
|
44
|
+
|
|
45
|
+
Critical features:
|
|
46
|
+
|
|
47
|
+
- **No LLM in the core memory loop** — no API key, no cloud extraction step, no per-query model call.
|
|
48
|
+
- **Local CPU inference** — BAAI/bge-small-en-v1.5 embeddings, SQLite, FAISS, and deterministic geometry.
|
|
49
|
+
- **Brain-inspired consolidation** — raw events become episodes, episodes replay into prototypes, prototypes become latent schemas.
|
|
50
|
+
- **Recall changes memory** — retrieved memories are reinforced; recall is an active operation, not a passive database lookup.
|
|
51
|
+
- **Time-aware memory** — salience, decay, temporal anchors, supersession, and contradiction handling keep memory current.
|
|
52
|
+
- **Generic ingestion** — not code-assistant-specific; it can remember coding work, planning, preferences, decisions, chat context, or any text interaction.
|
|
53
|
+
- **Gated working memory** — `slowave_context` injects only a compact, cue-relevant memory brief instead of dumping history into the prompt.
|
|
54
|
+
- **Provenance and inspection** — schemas trace back to episodes/raw events; the local dashboard exposes memory health and recall behavior.
|
|
55
|
+
|
|
56
|
+
## What Slowave is for
|
|
57
|
+
|
|
58
|
+
Slowave is a local long-term memory substrate for tools that otherwise forget between sessions. It is useful when you want an AI assistant to remember:
|
|
59
|
+
|
|
60
|
+
- project conventions and architectural decisions;
|
|
61
|
+
- personal preferences and communication style;
|
|
62
|
+
- recurring workflows and commands;
|
|
63
|
+
- previous debugging sessions and lessons learned;
|
|
64
|
+
- open questions, warnings, constraints, and artifacts;
|
|
65
|
+
- non-coding chat context from desktop AI conversations.
|
|
66
|
+
|
|
67
|
+
It is intentionally not just a RAG layer. Existing memory systems usually retrieve stored text or ask an LLM to rewrite memories. Slowave treats memory as a living system: sessions create episodes, replay distills patterns, time changes salience, contradiction updates beliefs, and recall itself reinforces what was useful.
|
|
68
|
+
|
|
69
|
+
## Install in minutes
|
|
70
|
+
|
|
71
|
+
Slowave is a local memory service. Installing the package gives you two commands:
|
|
72
|
+
|
|
73
|
+
- `slowave`: CLI, dashboard, manual recall/debugging.
|
|
74
|
+
- `slowave-mcp`: MCP server used by Claude Desktop, Claude Code, and Cline.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
brew tap mrsalty/slowave
|
|
78
|
+
brew install slowave
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
PyPI publishing is not enabled yet, so `pip install slowave` / `pipx install slowave` will not work until the package is published to PyPI. If you are not using Homebrew, install from source:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git clone https://github.com/mrsalty/slowave
|
|
85
|
+
cd slowave
|
|
86
|
+
python3 -m venv .venv
|
|
87
|
+
source .venv/bin/activate
|
|
88
|
+
pip install -e .
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Verify:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
which slowave-mcp
|
|
95
|
+
slowave --help
|
|
96
|
+
slowave-mcp --help
|
|
97
|
+
slowave stats
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Then choose your client and follow the short guide:
|
|
101
|
+
|
|
102
|
+
| Client | Setup guide |
|
|
103
|
+
|---|---|
|
|
104
|
+
| Claude Desktop | [integrations/claude-desktop/](integrations/claude-desktop/) |
|
|
105
|
+
| Claude Code | [integrations/claude-code/](integrations/claude-code/) |
|
|
106
|
+
| Cline | [integrations/cline/](integrations/cline/) |
|
|
107
|
+
|
|
108
|
+
**Important:** MCP setup alone is not enough. Every client needs:
|
|
109
|
+
|
|
110
|
+
1. MCP configuration so the `slowave_*` tools are visible.
|
|
111
|
+
2. Instruction/rules injection so the client actually calls Slowave during the task.
|
|
112
|
+
3. A background worker for ongoing consolidation into distilled schemas.
|
|
113
|
+
|
|
114
|
+
Episodes are created immediately when a session ends. The worker is what turns accumulated episodes into durable latent schemas for better future `slowave_context` injection.
|
|
115
|
+
|
|
116
|
+
The integration guides contain the exact MCP JSON, prompt/rules block, worker setup, and verification command for each client. Start at [integrations/](integrations/) if you are unsure.
|
|
117
|
+
|
|
118
|
+
Default storage: `~/.slowave/slowave.db`. No Ollama, OpenRouter, or other LLM backend is required for the default brain-only path.
|
|
119
|
+
|
|
120
|
+
## Local dashboard
|
|
121
|
+
|
|
122
|
+
Run a local read-only web UI for memory inspection:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
slowave dashboard
|
|
126
|
+
# open http://127.0.0.1:8765
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
The dashboard binds to `127.0.0.1` by default and shows DB health, Slowave/MCP processes, schemas, recall playground, and a schema graph.
|
|
130
|
+
|
|
131
|
+
## CLI usage
|
|
132
|
+
|
|
133
|
+
The CLI is useful for debugging, manual memory writes, dashboard access, and benchmark/research workflows. It should not be the first path for most users; real agent memory needs MCP plus prompt/rules injection.
|
|
134
|
+
|
|
135
|
+
See [docs/cli.md](docs/cli.md) for the command list and a CLI-only quickstart.
|
|
136
|
+
|
|
137
|
+
## Documentation
|
|
138
|
+
|
|
139
|
+
| | |
|
|
140
|
+
|---|---|
|
|
141
|
+
| [integrations/](integrations/) | Fast client-specific setup guides for Claude Desktop, Claude Code, and Cline |
|
|
142
|
+
| [docs/install.md](docs/install.md) | Install, MCP setup, prompt/rules injection, verification |
|
|
143
|
+
| [docs/agents.md](docs/agents.md) | MCP tool behavior and lifecycle for Claude Code, Cline, Claude Desktop |
|
|
144
|
+
| [docs/agent-enforcement.md](docs/agent-enforcement.md) | Copy/paste prompt templates that make clients call Slowave consistently |
|
|
145
|
+
| [docs/architecture.md](docs/architecture.md) | Brain-inspired mechanisms, data flow, storage, recall, consolidation |
|
|
146
|
+
| [docs/design.md](docs/design.md) | Why the LLM path was removed from the memory loop |
|
|
147
|
+
| [docs/dashboard.md](docs/dashboard.md) | Local dashboard guide |
|
|
148
|
+
| [docs/cli.md](docs/cli.md) | CLI quickstart and command reference |
|
|
149
|
+
| [docs/benchmarks.md](docs/benchmarks.md) | Reproduce benchmark numbers and ablations |
|
|
150
|
+
| [docs/release.md](docs/release.md) | Release workflow and versioning |
|
|
151
|
+
| [docs/stages/](docs/stages/) | Research history for each mechanism |
|
|
152
|
+
|
|
153
|
+
## Benchmarks
|
|
154
|
+
|
|
155
|
+
Public retrieval/RAG-style benchmarks are useful regression tests, but they do not measure every Slowave feature. They mostly test fact recovery, not long-term accumulation, distillation, time-aware adaptation, or recall-driven memory reinforcement.
|
|
156
|
+
|
|
157
|
+
| Benchmark | Cosine RAG | **Slowave** | Δ | Mem0 SOTA |
|
|
158
|
+
|---|---:|---:|---:|---:|
|
|
159
|
+
| LongMemEval (500q) | 60.0% | **70.0%** | +10pp | 94.4% |
|
|
160
|
+
| LoCoMo (1986q) | 68.0% | **75.5%** | +7.5pp | 92.5% |
|
|
161
|
+
|
|
162
|
+
Brain-only path: **$0/query · ~10ms recall · no API · data stays on device.**
|
|
163
|
+
|
|
164
|
+
The gap to Mem0 is structurally about categories that reward LLM extraction/meta-cognition by construction, not just retrieval. See [docs/design.md](docs/design.md) and [docs/benchmarks.md](docs/benchmarks.md).
|
|
165
|
+
|
|
166
|
+
## License
|
|
167
|
+
|
|
168
|
+
MIT.
|
slowave-0.1.3/README.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Slowave
|
|
2
|
+
|
|
3
|
+
**Brain-inspired long-term memory for AI agents and desktop AI chats.** Slowave plugs into Claude Code, Cline, and Claude Desktop through MCP, giving them a shared memory that accumulates, consolidates, adapts, and recalls across sessions.
|
|
4
|
+
|
|
5
|
+
Slowave's core thesis is simple: **language is not the memory system; language is one interface to it.** The memory engine works in latent space, the way brains appear to operate over distributed internal representations rather than over transcripts. Text is embedded once, then memory evolves through geometry, time, salience, replay, and activation. The default path uses **no LLM for ingest, consolidation, or recall**: inference is local, fast, CPU-friendly, private, and independent of any model provider.
|
|
6
|
+
|
|
7
|
+
Critical features:
|
|
8
|
+
|
|
9
|
+
- **No LLM in the core memory loop** — no API key, no cloud extraction step, no per-query model call.
|
|
10
|
+
- **Local CPU inference** — BAAI/bge-small-en-v1.5 embeddings, SQLite, FAISS, and deterministic geometry.
|
|
11
|
+
- **Brain-inspired consolidation** — raw events become episodes, episodes replay into prototypes, prototypes become latent schemas.
|
|
12
|
+
- **Recall changes memory** — retrieved memories are reinforced; recall is an active operation, not a passive database lookup.
|
|
13
|
+
- **Time-aware memory** — salience, decay, temporal anchors, supersession, and contradiction handling keep memory current.
|
|
14
|
+
- **Generic ingestion** — not code-assistant-specific; it can remember coding work, planning, preferences, decisions, chat context, or any text interaction.
|
|
15
|
+
- **Gated working memory** — `slowave_context` injects only a compact, cue-relevant memory brief instead of dumping history into the prompt.
|
|
16
|
+
- **Provenance and inspection** — schemas trace back to episodes/raw events; the local dashboard exposes memory health and recall behavior.
|
|
17
|
+
|
|
18
|
+
## What Slowave is for
|
|
19
|
+
|
|
20
|
+
Slowave is a local long-term memory substrate for tools that otherwise forget between sessions. It is useful when you want an AI assistant to remember:
|
|
21
|
+
|
|
22
|
+
- project conventions and architectural decisions;
|
|
23
|
+
- personal preferences and communication style;
|
|
24
|
+
- recurring workflows and commands;
|
|
25
|
+
- previous debugging sessions and lessons learned;
|
|
26
|
+
- open questions, warnings, constraints, and artifacts;
|
|
27
|
+
- non-coding chat context from desktop AI conversations.
|
|
28
|
+
|
|
29
|
+
It is intentionally not just a RAG layer. Existing memory systems usually retrieve stored text or ask an LLM to rewrite memories. Slowave treats memory as a living system: sessions create episodes, replay distills patterns, time changes salience, contradiction updates beliefs, and recall itself reinforces what was useful.
|
|
30
|
+
|
|
31
|
+
## Install in minutes
|
|
32
|
+
|
|
33
|
+
Slowave is a local memory service. Installing the package gives you two commands:
|
|
34
|
+
|
|
35
|
+
- `slowave`: CLI, dashboard, manual recall/debugging.
|
|
36
|
+
- `slowave-mcp`: MCP server used by Claude Desktop, Claude Code, and Cline.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
brew tap mrsalty/slowave
|
|
40
|
+
brew install slowave
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
PyPI publishing is not enabled yet, so `pip install slowave` / `pipx install slowave` will not work until the package is published to PyPI. If you are not using Homebrew, install from source:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git clone https://github.com/mrsalty/slowave
|
|
47
|
+
cd slowave
|
|
48
|
+
python3 -m venv .venv
|
|
49
|
+
source .venv/bin/activate
|
|
50
|
+
pip install -e .
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Verify:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
which slowave-mcp
|
|
57
|
+
slowave --help
|
|
58
|
+
slowave-mcp --help
|
|
59
|
+
slowave stats
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Then choose your client and follow the short guide:
|
|
63
|
+
|
|
64
|
+
| Client | Setup guide |
|
|
65
|
+
|---|---|
|
|
66
|
+
| Claude Desktop | [integrations/claude-desktop/](integrations/claude-desktop/) |
|
|
67
|
+
| Claude Code | [integrations/claude-code/](integrations/claude-code/) |
|
|
68
|
+
| Cline | [integrations/cline/](integrations/cline/) |
|
|
69
|
+
|
|
70
|
+
**Important:** MCP setup alone is not enough. Every client needs:
|
|
71
|
+
|
|
72
|
+
1. MCP configuration so the `slowave_*` tools are visible.
|
|
73
|
+
2. Instruction/rules injection so the client actually calls Slowave during the task.
|
|
74
|
+
3. A background worker for ongoing consolidation into distilled schemas.
|
|
75
|
+
|
|
76
|
+
Episodes are created immediately when a session ends. The worker is what turns accumulated episodes into durable latent schemas for better future `slowave_context` injection.
|
|
77
|
+
|
|
78
|
+
The integration guides contain the exact MCP JSON, prompt/rules block, worker setup, and verification command for each client. Start at [integrations/](integrations/) if you are unsure.
|
|
79
|
+
|
|
80
|
+
Default storage: `~/.slowave/slowave.db`. No Ollama, OpenRouter, or other LLM backend is required for the default brain-only path.
|
|
81
|
+
|
|
82
|
+
## Local dashboard
|
|
83
|
+
|
|
84
|
+
Run a local read-only web UI for memory inspection:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
slowave dashboard
|
|
88
|
+
# open http://127.0.0.1:8765
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The dashboard binds to `127.0.0.1` by default and shows DB health, Slowave/MCP processes, schemas, recall playground, and a schema graph.
|
|
92
|
+
|
|
93
|
+
## CLI usage
|
|
94
|
+
|
|
95
|
+
The CLI is useful for debugging, manual memory writes, dashboard access, and benchmark/research workflows. It should not be the first path for most users; real agent memory needs MCP plus prompt/rules injection.
|
|
96
|
+
|
|
97
|
+
See [docs/cli.md](docs/cli.md) for the command list and a CLI-only quickstart.
|
|
98
|
+
|
|
99
|
+
## Documentation
|
|
100
|
+
|
|
101
|
+
| | |
|
|
102
|
+
|---|---|
|
|
103
|
+
| [integrations/](integrations/) | Fast client-specific setup guides for Claude Desktop, Claude Code, and Cline |
|
|
104
|
+
| [docs/install.md](docs/install.md) | Install, MCP setup, prompt/rules injection, verification |
|
|
105
|
+
| [docs/agents.md](docs/agents.md) | MCP tool behavior and lifecycle for Claude Code, Cline, Claude Desktop |
|
|
106
|
+
| [docs/agent-enforcement.md](docs/agent-enforcement.md) | Copy/paste prompt templates that make clients call Slowave consistently |
|
|
107
|
+
| [docs/architecture.md](docs/architecture.md) | Brain-inspired mechanisms, data flow, storage, recall, consolidation |
|
|
108
|
+
| [docs/design.md](docs/design.md) | Why the LLM path was removed from the memory loop |
|
|
109
|
+
| [docs/dashboard.md](docs/dashboard.md) | Local dashboard guide |
|
|
110
|
+
| [docs/cli.md](docs/cli.md) | CLI quickstart and command reference |
|
|
111
|
+
| [docs/benchmarks.md](docs/benchmarks.md) | Reproduce benchmark numbers and ablations |
|
|
112
|
+
| [docs/release.md](docs/release.md) | Release workflow and versioning |
|
|
113
|
+
| [docs/stages/](docs/stages/) | Research history for each mechanism |
|
|
114
|
+
|
|
115
|
+
## Benchmarks
|
|
116
|
+
|
|
117
|
+
Public retrieval/RAG-style benchmarks are useful regression tests, but they do not measure every Slowave feature. They mostly test fact recovery, not long-term accumulation, distillation, time-aware adaptation, or recall-driven memory reinforcement.
|
|
118
|
+
|
|
119
|
+
| Benchmark | Cosine RAG | **Slowave** | Δ | Mem0 SOTA |
|
|
120
|
+
|---|---:|---:|---:|---:|
|
|
121
|
+
| LongMemEval (500q) | 60.0% | **70.0%** | +10pp | 94.4% |
|
|
122
|
+
| LoCoMo (1986q) | 68.0% | **75.5%** | +7.5pp | 92.5% |
|
|
123
|
+
|
|
124
|
+
Brain-only path: **$0/query · ~10ms recall · no API · data stays on device.**
|
|
125
|
+
|
|
126
|
+
The gap to Mem0 is structurally about categories that reward LLM extraction/meta-cognition by construction, not just retrieval. See [docs/design.md](docs/design.md) and [docs/benchmarks.md](docs/benchmarks.md).
|
|
127
|
+
|
|
128
|
+
## License
|
|
129
|
+
|
|
130
|
+
MIT.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=69", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "slowave"
|
|
7
|
+
version = "0.1.3"
|
|
8
|
+
description = "Brain-inspired long-term memory for AI agents — zero LLM during ingest or retrieval"
|
|
9
|
+
requires-python = ">=3.10"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
authors = [{ name = "mrsalty" }]
|
|
13
|
+
keywords = ["memory", "agent", "ai", "mcp", "neuroscience", "rag", "llm"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 3 - Alpha",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"Intended Audience :: Science/Research",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Programming Language :: Python :: 3.10",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
24
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
25
|
+
]
|
|
26
|
+
dependencies = [
|
|
27
|
+
"numpy",
|
|
28
|
+
"torch",
|
|
29
|
+
"faiss-cpu",
|
|
30
|
+
"click>=8.1",
|
|
31
|
+
"sentence-transformers",
|
|
32
|
+
"mcp[cli]",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[project.urls]
|
|
36
|
+
Homepage = "https://github.com/mrsalty/slowave"
|
|
37
|
+
Repository = "https://github.com/mrsalty/slowave"
|
|
38
|
+
Issues = "https://github.com/mrsalty/slowave/issues"
|
|
39
|
+
Changelog = "https://github.com/mrsalty/slowave/releases"
|
|
40
|
+
|
|
41
|
+
[project.optional-dependencies]
|
|
42
|
+
dev = ["pytest", "black", "isort", "build", "twine"]
|
|
43
|
+
|
|
44
|
+
[project.scripts]
|
|
45
|
+
slowave = "slowave.cli.main:main"
|
|
46
|
+
slowave-mcp = "slowave.mcp.server:main"
|
|
47
|
+
|
|
48
|
+
[tool.setuptools.packages.find]
|
|
49
|
+
include = ["slowave*"]
|
|
50
|
+
exclude = ["tests*", "migrations*", "scripts*"]
|
|
51
|
+
|
|
52
|
+
[tool.setuptools.package-data]
|
|
53
|
+
slowave = ["storage/schema.sql", "llm/prompts/*.txt"]
|
|
54
|
+
|
|
55
|
+
[tool.black]
|
|
56
|
+
line-length = 100
|
|
57
|
+
|
|
58
|
+
[tool.isort]
|
|
59
|
+
profile = "black"
|
|
60
|
+
line_length = 100
|
slowave-0.1.3/setup.cfg
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""Slowave: brain-inspired memory for AI agents.
|
|
2
|
+
|
|
3
|
+
Public API entry points are in `slowave.core.engine.SlowaveEngine` and
|
|
4
|
+
`slowave.core.config.SlowaveConfig`.
|
|
5
|
+
"""
|
|
6
|
+
from slowave.core.config import SlowaveConfig
|
|
7
|
+
from slowave.core.engine import SlowaveEngine
|
|
8
|
+
|
|
9
|
+
__all__ = ["SlowaveEngine", "SlowaveConfig"]
|
|
10
|
+
__version__ = "0.1.3"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""`python -m slowave` dispatches to the Click CLI."""
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
# macOS note: FAISS + PyTorch can sometimes load multiple OpenMP runtimes.
|
|
5
|
+
# Pragmatic workaround to avoid a hard crash.
|
|
6
|
+
os.environ.setdefault("KMP_DUPLICATE_LIB_OK", "TRUE")
|
|
7
|
+
os.environ.setdefault("OMP_NUM_THREADS", "1")
|
|
8
|
+
os.environ.setdefault("TOKENIZERS_PARALLELISM", "false")
|
|
9
|
+
|
|
10
|
+
from slowave.cli.main import main
|
|
11
|
+
|
|
12
|
+
if __name__ == "__main__":
|
|
13
|
+
main()
|
|
File without changes
|