memorius 0.1.0__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.
- memorius-0.1.0/PKG-INFO +259 -0
- memorius-0.1.0/README.md +223 -0
- memorius-0.1.0/memorius/__init__.py +29 -0
- memorius-0.1.0/memorius/cli/main.py +306 -0
- memorius-0.1.0/memorius/config.py +133 -0
- memorius-0.1.0/memorius/embeddings.py +157 -0
- memorius-0.1.0/memorius/hooks/__init__.py +306 -0
- memorius-0.1.0/memorius/hooks/cli.py +226 -0
- memorius-0.1.0/memorius/hooks/engine.py +447 -0
- memorius-0.1.0/memorius/mcp_server.py +250 -0
- memorius-0.1.0/memorius/normalizers/__init__.py +467 -0
- memorius-0.1.0/memorius/normalizers/cli.py +218 -0
- memorius-0.1.0/memorius/plugin_gen/__init__.py +1 -0
- memorius-0.1.0/memorius/plugin_gen/cli.py +739 -0
- memorius-0.1.0/memorius/rest_server.py +81 -0
- memorius-0.1.0/memorius/vault.py +555 -0
- memorius-0.1.0/memorius.egg-info/PKG-INFO +259 -0
- memorius-0.1.0/memorius.egg-info/SOURCES.txt +24 -0
- memorius-0.1.0/memorius.egg-info/dependency_links.txt +1 -0
- memorius-0.1.0/memorius.egg-info/entry_points.txt +5 -0
- memorius-0.1.0/memorius.egg-info/requires.txt +22 -0
- memorius-0.1.0/memorius.egg-info/top_level.txt +1 -0
- memorius-0.1.0/pyproject.toml +64 -0
- memorius-0.1.0/setup.cfg +4 -0
- memorius-0.1.0/tests/test_core.py +175 -0
- memorius-0.1.0/tests/test_integration.py +250 -0
memorius-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: memorius
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Self-contained memory vault for any AI agent — vector search, session diaries, and agent-agnostic hooks. The better MemPalace.
|
|
5
|
+
Author: Memorius Contributors
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Dream-Pixels-Forge/memorius
|
|
8
|
+
Project-URL: Repository, https://github.com/Dream-Pixels-Forge/memorius
|
|
9
|
+
Project-URL: Issues, https://github.com/Dream-Pixels-Forge/memorius/issues
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Environment :: No Input/Output (Daemon)
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
17
|
+
Requires-Python: >=3.11
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: pyyaml>=6.0
|
|
20
|
+
Requires-Dist: chromadb>=0.4.0
|
|
21
|
+
Requires-Dist: httpx>=0.24.0
|
|
22
|
+
Provides-Extra: rest
|
|
23
|
+
Requires-Dist: fastapi>=0.104.0; extra == "rest"
|
|
24
|
+
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "rest"
|
|
25
|
+
Requires-Dist: pydantic>=2.0.0; extra == "rest"
|
|
26
|
+
Requires-Dist: sse-starlette>=1.0.0; extra == "rest"
|
|
27
|
+
Provides-Extra: local-embeddings
|
|
28
|
+
Requires-Dist: sentence-transformers>=2.2.0; extra == "local-embeddings"
|
|
29
|
+
Provides-Extra: openai
|
|
30
|
+
Requires-Dist: openai>=1.0.0; extra == "openai"
|
|
31
|
+
Provides-Extra: all
|
|
32
|
+
Requires-Dist: memorius[local-embeddings,openai,rest]; extra == "all"
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
35
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
36
|
+
|
|
37
|
+
# Memorius
|
|
38
|
+
|
|
39
|
+
**Universal memory vault for any AI agent.**
|
|
40
|
+
|
|
41
|
+
Memorius is a self-contained, agent-agnostic memory system that gives LLMs and AI agents persistent, searchable memory with a hierarchical knowledge organization. Drop-in replacement for MemPalace with multi-backend vector storage, pluggable embeddings, built-in MCP + REST servers, and agent-agnostic hooks.
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
pip install memorius
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Initialize a vault
|
|
51
|
+
memorius init
|
|
52
|
+
|
|
53
|
+
# Store a memory
|
|
54
|
+
memorius store "The sky is blue because Rayleigh scattering scatters shorter wavelengths more" --vault main --shelf science --folder physics
|
|
55
|
+
|
|
56
|
+
# Semantic search
|
|
57
|
+
memorius search "why is the sky blue"
|
|
58
|
+
|
|
59
|
+
# Mine memories from a conversation
|
|
60
|
+
memorius mine transcript.txt --vault conversations
|
|
61
|
+
|
|
62
|
+
# Check status
|
|
63
|
+
memorius status
|
|
64
|
+
|
|
65
|
+
# Write a diary entry
|
|
66
|
+
memorius diary --session "session-001" --title "Research findings"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Architecture
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
┌─────────────────────────────────────────────────────────┐
|
|
73
|
+
│ Memorius │
|
|
74
|
+
├─────────────────────────────────────────────────────────┤
|
|
75
|
+
│ CLI memorius init | store | search | mine | ... │
|
|
76
|
+
│ MCP JSON-RPC protocol server (stdin/stdout) │
|
|
77
|
+
│ REST FastAPI HTTP server (optional) │
|
|
78
|
+
│ Hooks Agent-agnostic lifecycle hooks │
|
|
79
|
+
├─────────────────────────────────────────────────────────┤
|
|
80
|
+
│ Vault Engine │
|
|
81
|
+
│ ├── ChromaStore Vector search (ChromaDB) │
|
|
82
|
+
│ ├── SQLiteStore Metadata & hierarchy (SQLite) │
|
|
83
|
+
│ └── Embeddings Pluggable providers │
|
|
84
|
+
├─────────────────────────────────────────────────────────┤
|
|
85
|
+
│ Vault > Shelf > Folder > Note hierarchy │
|
|
86
|
+
│ Diaries Session diary entries │
|
|
87
|
+
│ Mine Extract memories from transcripts │
|
|
88
|
+
├─────────────────────────────────────────────────────────┤
|
|
89
|
+
│ Plugin Gen → Generate per-agent plugins │
|
|
90
|
+
│ Normalizers → Import Discord/Telegram/WhatsApp/etc │
|
|
91
|
+
└─────────────────────────────────────────────────────────┘
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Configuration
|
|
95
|
+
|
|
96
|
+
Config lives at `~/.memorius/config.yaml` (auto-created on `memorius init`):
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
storage:
|
|
100
|
+
path: ~/.memorius/data
|
|
101
|
+
|
|
102
|
+
embeddings:
|
|
103
|
+
provider: chroma-default # chroma-default | sentence-transformers | openai
|
|
104
|
+
model: all-MiniLM-L6-v2
|
|
105
|
+
|
|
106
|
+
vault:
|
|
107
|
+
default: main
|
|
108
|
+
|
|
109
|
+
server:
|
|
110
|
+
mcp_port: 8910
|
|
111
|
+
rest_port: 8912
|
|
112
|
+
host: 127.0.0.1
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Environment variable overrides:
|
|
116
|
+
|
|
117
|
+
| Variable | Overrides |
|
|
118
|
+
|---|---|
|
|
119
|
+
| `MEMORIUS_STORAGE_PATH` | `storage.path` |
|
|
120
|
+
| `MEMORIUS_EMBEDDINGS_PROVIDER` | `embeddings.provider` |
|
|
121
|
+
| `MEMORIUS_DEFAULT_VAULT` | `vault.default` |
|
|
122
|
+
| `MEMORIUS_MCP_PORT` | `server.mcp_port` |
|
|
123
|
+
| `MEMORIUS_REST_PORT` | `server.rest_port` |
|
|
124
|
+
| `MEMORIUS_HOST` | `server.host` |
|
|
125
|
+
| `MEMORIUS_OPENAI_API_KEY` | `embeddings.openai.api_key` |
|
|
126
|
+
|
|
127
|
+
## Embedding Providers
|
|
128
|
+
|
|
129
|
+
| Provider | Requirement | Quality |
|
|
130
|
+
|---|---|---|
|
|
131
|
+
| `chroma-default` | ChromaDB (bundled ONNX) | Good (384d) |
|
|
132
|
+
| `sentence-transformers` | `pip install memorius[local-embeddings]` | Better (768d+) |
|
|
133
|
+
| `openai` | `OPENAI_API_KEY` env var | Best (1536d) |
|
|
134
|
+
|
|
135
|
+
## CLI Reference
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
Usage:
|
|
139
|
+
memorius init Initialize a new vault
|
|
140
|
+
memorius status Show vault status
|
|
141
|
+
memorius store <text> Store a memory
|
|
142
|
+
--vault, -v Vault name (default: main)
|
|
143
|
+
--shelf, -s Shelf name (default: default)
|
|
144
|
+
--folder, -f Folder name (default: default)
|
|
145
|
+
--note, -n Note name (default: default)
|
|
146
|
+
memorius search <query> Semantic search
|
|
147
|
+
--vault, -v Filter by vault
|
|
148
|
+
--shelf, -s Filter by shelf
|
|
149
|
+
--limit, -l Max results (default: 10)
|
|
150
|
+
memorius mine <file|text> Extract memories from transcript
|
|
151
|
+
--vault, -v Target vault (default: main)
|
|
152
|
+
memorius diary <session> Write a diary entry
|
|
153
|
+
--title, -t Entry title
|
|
154
|
+
--summary, -s Entry summary
|
|
155
|
+
--vault, -v Vault name (default: main)
|
|
156
|
+
memorius diaries List recent diary entries
|
|
157
|
+
memorius ls Explore vault hierarchy
|
|
158
|
+
memorius serve Start MCP server (stdio)
|
|
159
|
+
memorius serve-rest Start REST API server
|
|
160
|
+
memorius --version Show version
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## MCP Protocol
|
|
164
|
+
|
|
165
|
+
MCP is the primary interface for AI agents to interact with Memorius. Connect any MCP-compatible client (Claude Code, Cursor, Codex CLI, Gemini CLI, etc.) by pointing it at the MCP server:
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"mcpServers": {
|
|
170
|
+
"memorius": {
|
|
171
|
+
"command": "memorius",
|
|
172
|
+
"args": ["serve"]
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Available MCP tools:
|
|
179
|
+
|
|
180
|
+
| Tool | Description |
|
|
181
|
+
|---|---|
|
|
182
|
+
| `memorius_status` | Memory vault status |
|
|
183
|
+
| `memorius_store` | Store content in vault/shelf/folder/note hierarchy |
|
|
184
|
+
| `memorius_search` | Semantic search across vault |
|
|
185
|
+
| `memorius_mine` | Extract memories from conversation |
|
|
186
|
+
| `memorius_diary_write` | Write session diary entry |
|
|
187
|
+
| `memorius_diary_list` | List diary entries |
|
|
188
|
+
| `memorius_vault_ls` | Browse vault hierarchy |
|
|
189
|
+
|
|
190
|
+
## REST API
|
|
191
|
+
|
|
192
|
+
Start the REST server:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
memorius serve-rest
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Endpoints:
|
|
199
|
+
|
|
200
|
+
| Method | Path | Description |
|
|
201
|
+
|---|---|---|
|
|
202
|
+
| GET | `/health` | Health check |
|
|
203
|
+
| POST | `/store` | Store a memory |
|
|
204
|
+
| POST | `/search` | Semantic search |
|
|
205
|
+
| POST | `/mine` | Extract memories |
|
|
206
|
+
| GET | `/status` | System status |
|
|
207
|
+
| POST | `/diary` | Write diary entry |
|
|
208
|
+
| GET | `/palace` | Browse hierarchy |
|
|
209
|
+
|
|
210
|
+
## Agent Hooks (optional)
|
|
211
|
+
|
|
212
|
+
Memorius includes agent-agnostic lifecycle hooks. Hook scripts are generated per agent:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
memorius-plugin-gen init
|
|
216
|
+
# Edit universal-manifest.yaml
|
|
217
|
+
memorius-plugin-gen generate
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
This generates plugins for Claude Code, Codex CLI, Cursor, Gemini CLI, Windsurf, and more.
|
|
221
|
+
|
|
222
|
+
## Plugin Generator (optional)
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
memorius-plugin-gen list # Show supported agents
|
|
226
|
+
memorius-plugin-gen init # Create universal-manifest.yaml
|
|
227
|
+
memorius-plugin-gen generate # Generate plugins for all agents
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Conversation Normalizers (optional)
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
memorius-normalize input.json # Auto-detect and normalize
|
|
234
|
+
memorius-normalize input.json --format discord
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Supported formats: Discord, Telegram, WhatsApp, generic JSON, plain text.
|
|
238
|
+
|
|
239
|
+
## Development
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
git clone https://github.com/Dream-Pixels-Forge/memorius.git
|
|
243
|
+
cd memorius
|
|
244
|
+
python3 -m venv .venv
|
|
245
|
+
source .venv/bin/activate
|
|
246
|
+
pip install -e ".[dev]"
|
|
247
|
+
|
|
248
|
+
# Run tests
|
|
249
|
+
pytest
|
|
250
|
+
|
|
251
|
+
# Run end-to-end
|
|
252
|
+
memorius init
|
|
253
|
+
memorius store "test memory"
|
|
254
|
+
memorius search "test"
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## License
|
|
258
|
+
|
|
259
|
+
MIT
|
memorius-0.1.0/README.md
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Memorius
|
|
2
|
+
|
|
3
|
+
**Universal memory vault for any AI agent.**
|
|
4
|
+
|
|
5
|
+
Memorius is a self-contained, agent-agnostic memory system that gives LLMs and AI agents persistent, searchable memory with a hierarchical knowledge organization. Drop-in replacement for MemPalace with multi-backend vector storage, pluggable embeddings, built-in MCP + REST servers, and agent-agnostic hooks.
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
pip install memorius
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Initialize a vault
|
|
15
|
+
memorius init
|
|
16
|
+
|
|
17
|
+
# Store a memory
|
|
18
|
+
memorius store "The sky is blue because Rayleigh scattering scatters shorter wavelengths more" --vault main --shelf science --folder physics
|
|
19
|
+
|
|
20
|
+
# Semantic search
|
|
21
|
+
memorius search "why is the sky blue"
|
|
22
|
+
|
|
23
|
+
# Mine memories from a conversation
|
|
24
|
+
memorius mine transcript.txt --vault conversations
|
|
25
|
+
|
|
26
|
+
# Check status
|
|
27
|
+
memorius status
|
|
28
|
+
|
|
29
|
+
# Write a diary entry
|
|
30
|
+
memorius diary --session "session-001" --title "Research findings"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Architecture
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
┌─────────────────────────────────────────────────────────┐
|
|
37
|
+
│ Memorius │
|
|
38
|
+
├─────────────────────────────────────────────────────────┤
|
|
39
|
+
│ CLI memorius init | store | search | mine | ... │
|
|
40
|
+
│ MCP JSON-RPC protocol server (stdin/stdout) │
|
|
41
|
+
│ REST FastAPI HTTP server (optional) │
|
|
42
|
+
│ Hooks Agent-agnostic lifecycle hooks │
|
|
43
|
+
├─────────────────────────────────────────────────────────┤
|
|
44
|
+
│ Vault Engine │
|
|
45
|
+
│ ├── ChromaStore Vector search (ChromaDB) │
|
|
46
|
+
│ ├── SQLiteStore Metadata & hierarchy (SQLite) │
|
|
47
|
+
│ └── Embeddings Pluggable providers │
|
|
48
|
+
├─────────────────────────────────────────────────────────┤
|
|
49
|
+
│ Vault > Shelf > Folder > Note hierarchy │
|
|
50
|
+
│ Diaries Session diary entries │
|
|
51
|
+
│ Mine Extract memories from transcripts │
|
|
52
|
+
├─────────────────────────────────────────────────────────┤
|
|
53
|
+
│ Plugin Gen → Generate per-agent plugins │
|
|
54
|
+
│ Normalizers → Import Discord/Telegram/WhatsApp/etc │
|
|
55
|
+
└─────────────────────────────────────────────────────────┘
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Configuration
|
|
59
|
+
|
|
60
|
+
Config lives at `~/.memorius/config.yaml` (auto-created on `memorius init`):
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
storage:
|
|
64
|
+
path: ~/.memorius/data
|
|
65
|
+
|
|
66
|
+
embeddings:
|
|
67
|
+
provider: chroma-default # chroma-default | sentence-transformers | openai
|
|
68
|
+
model: all-MiniLM-L6-v2
|
|
69
|
+
|
|
70
|
+
vault:
|
|
71
|
+
default: main
|
|
72
|
+
|
|
73
|
+
server:
|
|
74
|
+
mcp_port: 8910
|
|
75
|
+
rest_port: 8912
|
|
76
|
+
host: 127.0.0.1
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Environment variable overrides:
|
|
80
|
+
|
|
81
|
+
| Variable | Overrides |
|
|
82
|
+
|---|---|
|
|
83
|
+
| `MEMORIUS_STORAGE_PATH` | `storage.path` |
|
|
84
|
+
| `MEMORIUS_EMBEDDINGS_PROVIDER` | `embeddings.provider` |
|
|
85
|
+
| `MEMORIUS_DEFAULT_VAULT` | `vault.default` |
|
|
86
|
+
| `MEMORIUS_MCP_PORT` | `server.mcp_port` |
|
|
87
|
+
| `MEMORIUS_REST_PORT` | `server.rest_port` |
|
|
88
|
+
| `MEMORIUS_HOST` | `server.host` |
|
|
89
|
+
| `MEMORIUS_OPENAI_API_KEY` | `embeddings.openai.api_key` |
|
|
90
|
+
|
|
91
|
+
## Embedding Providers
|
|
92
|
+
|
|
93
|
+
| Provider | Requirement | Quality |
|
|
94
|
+
|---|---|---|
|
|
95
|
+
| `chroma-default` | ChromaDB (bundled ONNX) | Good (384d) |
|
|
96
|
+
| `sentence-transformers` | `pip install memorius[local-embeddings]` | Better (768d+) |
|
|
97
|
+
| `openai` | `OPENAI_API_KEY` env var | Best (1536d) |
|
|
98
|
+
|
|
99
|
+
## CLI Reference
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Usage:
|
|
103
|
+
memorius init Initialize a new vault
|
|
104
|
+
memorius status Show vault status
|
|
105
|
+
memorius store <text> Store a memory
|
|
106
|
+
--vault, -v Vault name (default: main)
|
|
107
|
+
--shelf, -s Shelf name (default: default)
|
|
108
|
+
--folder, -f Folder name (default: default)
|
|
109
|
+
--note, -n Note name (default: default)
|
|
110
|
+
memorius search <query> Semantic search
|
|
111
|
+
--vault, -v Filter by vault
|
|
112
|
+
--shelf, -s Filter by shelf
|
|
113
|
+
--limit, -l Max results (default: 10)
|
|
114
|
+
memorius mine <file|text> Extract memories from transcript
|
|
115
|
+
--vault, -v Target vault (default: main)
|
|
116
|
+
memorius diary <session> Write a diary entry
|
|
117
|
+
--title, -t Entry title
|
|
118
|
+
--summary, -s Entry summary
|
|
119
|
+
--vault, -v Vault name (default: main)
|
|
120
|
+
memorius diaries List recent diary entries
|
|
121
|
+
memorius ls Explore vault hierarchy
|
|
122
|
+
memorius serve Start MCP server (stdio)
|
|
123
|
+
memorius serve-rest Start REST API server
|
|
124
|
+
memorius --version Show version
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## MCP Protocol
|
|
128
|
+
|
|
129
|
+
MCP is the primary interface for AI agents to interact with Memorius. Connect any MCP-compatible client (Claude Code, Cursor, Codex CLI, Gemini CLI, etc.) by pointing it at the MCP server:
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"mcpServers": {
|
|
134
|
+
"memorius": {
|
|
135
|
+
"command": "memorius",
|
|
136
|
+
"args": ["serve"]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Available MCP tools:
|
|
143
|
+
|
|
144
|
+
| Tool | Description |
|
|
145
|
+
|---|---|
|
|
146
|
+
| `memorius_status` | Memory vault status |
|
|
147
|
+
| `memorius_store` | Store content in vault/shelf/folder/note hierarchy |
|
|
148
|
+
| `memorius_search` | Semantic search across vault |
|
|
149
|
+
| `memorius_mine` | Extract memories from conversation |
|
|
150
|
+
| `memorius_diary_write` | Write session diary entry |
|
|
151
|
+
| `memorius_diary_list` | List diary entries |
|
|
152
|
+
| `memorius_vault_ls` | Browse vault hierarchy |
|
|
153
|
+
|
|
154
|
+
## REST API
|
|
155
|
+
|
|
156
|
+
Start the REST server:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
memorius serve-rest
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Endpoints:
|
|
163
|
+
|
|
164
|
+
| Method | Path | Description |
|
|
165
|
+
|---|---|---|
|
|
166
|
+
| GET | `/health` | Health check |
|
|
167
|
+
| POST | `/store` | Store a memory |
|
|
168
|
+
| POST | `/search` | Semantic search |
|
|
169
|
+
| POST | `/mine` | Extract memories |
|
|
170
|
+
| GET | `/status` | System status |
|
|
171
|
+
| POST | `/diary` | Write diary entry |
|
|
172
|
+
| GET | `/palace` | Browse hierarchy |
|
|
173
|
+
|
|
174
|
+
## Agent Hooks (optional)
|
|
175
|
+
|
|
176
|
+
Memorius includes agent-agnostic lifecycle hooks. Hook scripts are generated per agent:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
memorius-plugin-gen init
|
|
180
|
+
# Edit universal-manifest.yaml
|
|
181
|
+
memorius-plugin-gen generate
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
This generates plugins for Claude Code, Codex CLI, Cursor, Gemini CLI, Windsurf, and more.
|
|
185
|
+
|
|
186
|
+
## Plugin Generator (optional)
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
memorius-plugin-gen list # Show supported agents
|
|
190
|
+
memorius-plugin-gen init # Create universal-manifest.yaml
|
|
191
|
+
memorius-plugin-gen generate # Generate plugins for all agents
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Conversation Normalizers (optional)
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
memorius-normalize input.json # Auto-detect and normalize
|
|
198
|
+
memorius-normalize input.json --format discord
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Supported formats: Discord, Telegram, WhatsApp, generic JSON, plain text.
|
|
202
|
+
|
|
203
|
+
## Development
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
git clone https://github.com/Dream-Pixels-Forge/memorius.git
|
|
207
|
+
cd memorius
|
|
208
|
+
python3 -m venv .venv
|
|
209
|
+
source .venv/bin/activate
|
|
210
|
+
pip install -e ".[dev]"
|
|
211
|
+
|
|
212
|
+
# Run tests
|
|
213
|
+
pytest
|
|
214
|
+
|
|
215
|
+
# Run end-to-end
|
|
216
|
+
memorius init
|
|
217
|
+
memorius store "test memory"
|
|
218
|
+
memorius search "test"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## License
|
|
222
|
+
|
|
223
|
+
MIT
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""memorius — self-contained memory vault for any AI agent.
|
|
2
|
+
|
|
3
|
+
Architecture:
|
|
4
|
+
|
|
5
|
+
Storage Layer:
|
|
6
|
+
chroma_db: Vector store for semantic search (ChromaDB)
|
|
7
|
+
sqlite_store: Metadata store for vaults, shelves, folders, notes, and diaries (SQLite)
|
|
8
|
+
Hierarchy: Vault > Shelf > Folder > Note
|
|
9
|
+
|
|
10
|
+
Vault Layer:
|
|
11
|
+
vault: Vault > Shelf > Folder > Note hierarchy
|
|
12
|
+
diary: Session diary entries with timestamps
|
|
13
|
+
mine: Extract memories from conversations/transcripts
|
|
14
|
+
search: Multi-modal search (vector + metadata + temporal)
|
|
15
|
+
|
|
16
|
+
Server Layer:
|
|
17
|
+
mcp: MCP protocol server (primary interface for tool-calling agents)
|
|
18
|
+
rest: FastAPI REST server (alternative interface for web/curl)
|
|
19
|
+
|
|
20
|
+
Integration Layer:
|
|
21
|
+
hooks: Agent-agnostic hook lifecycle system
|
|
22
|
+
plugin_gen: Per-agent plugin manifest generator
|
|
23
|
+
normalizers: Conversation format importers (Discord, Telegram, WhatsApp)
|
|
24
|
+
|
|
25
|
+
CLI Layer:
|
|
26
|
+
memorius: Main CLI — init, mine, search, diary, status, serve, hook
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
__version__ = "0.1.0"
|