@lotargo/memory_plugin 1.1.5 → 1.1.7
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 +133 -120
- package/mcp-server/admin/server.js +228 -228
- package/mcp-server/admin/snapshot.js +303 -303
- package/mcp-server/benchmarks/fetch_real_corpus.js +351 -351
- package/mcp-server/benchmarks/gpu_profile_benchmark.js +170 -0
- package/mcp-server/benchmarks/stress_ingestion.js +195 -193
- package/mcp-server/benchmarks/test_dual_layer.js +140 -140
- package/mcp-server/cli.js +293 -7
- package/mcp-server/config/config_manager.js +11 -7
- package/mcp-server/db/database.js +43 -43
- package/mcp-server/graph/graph_extractor.js +72 -72
- package/mcp-server/graph/knowledge_linker.js +102 -102
- package/mcp-server/index.js +454 -454
- package/mcp-server/ingest/chunker.js +337 -337
- package/mcp-server/ingest/exporter.js +80 -80
- package/mcp-server/ingest/normalizer.js +104 -104
- package/mcp-server/ingest/pipeline.js +22 -7
- package/mcp-server/ingest/sentence_segmenter.js +74 -74
- package/mcp-server/memory.js +72 -72
- package/mcp-server/ml/gpu_monitor.js +166 -0
- package/mcp-server/ml/model_manager.js +321 -17
- package/mcp-server/preinstall.js +44 -44
- package/mcp-server/retrieval/retriever.js +10 -5
- package/mcp-server/setup.js +148 -148
- package/mcp-server/storage/blob_store.js +62 -62
- package/opencode-plugin/index.js +244 -244
- package/package.json +58 -54
- package/skills/using-memory/SKILL.md +122 -122
package/README.md
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<img src="./assets/hero.jpg" alt="@lotargo/memory_plugin" width="800" style="max-width: 100%; border-radius: 12px; margin-bottom: 16px;">
|
|
4
|
+
|
|
5
|
+
<br>
|
|
6
|
+
|
|
7
|
+
<img src="./assets/title.svg" alt="@lotargo/memory_plugin" width="520" style="max-width: 100%; margin-bottom: 12px;">
|
|
8
|
+
|
|
9
|
+
<br>
|
|
4
10
|
|
|
5
11
|
[](https://www.npmjs.com/package/@lotargo/memory_plugin)
|
|
6
12
|
[](./LICENSE)
|
|
13
|
+
[](https://nodejs.org)
|
|
14
|
+
[](https://modelcontextprotocol.io)
|
|
15
|
+
[](#storage--privacy)
|
|
7
16
|
|
|
8
17
|
<br>
|
|
9
18
|
|
|
@@ -15,128 +24,134 @@ Automatically remembers durable user facts, ingests complex document repositorie
|
|
|
15
24
|
|
|
16
25
|
---
|
|
17
26
|
|
|
18
|
-
##
|
|
27
|
+
## Overview
|
|
19
28
|
|
|
20
|
-
Standard AI coding assistants lose context as soon as a chat session closes or a conversation is reset. You end up
|
|
29
|
+
Standard AI coding assistants lose context as soon as a chat session closes or a conversation is reset. You end up repeatedly re-explaining your preferences, architectural decisions, coding style, or project conventions.
|
|
21
30
|
|
|
22
31
|
`@lotargo/memory_plugin` gives your AI tools durable, 100% local long-term memory and document retrieval capabilities that persist across restarts and work seamlessly across all supported coding environments.
|
|
23
32
|
|
|
24
|
-
|
|
33
|
+
> **Project Scope & Runtime Notes**:
|
|
34
|
+
> `@lotargo/memory_plugin` is designed primarily as a practical plugin to expand capabilities and streamline daily interaction with AI coding tools. Benchmark scores in this repository represent internal synthetic evaluation runs and are not intended as generalized RAG benchmarks.
|
|
35
|
+
>
|
|
36
|
+
> **Hardware Acceleration**: GPU execution mode is an experimental feature and may vary in stability across different operating systems or models. For optimal stability and consistent runtime performance, using standard CPU mode with `multilingual-e5-small` or `multilingual-e5-base` is recommended.
|
|
25
37
|
|
|
26
|
-
|
|
27
|
-
- **Architectural Decisions**: *"In this project, we use Fastify instead of Express and strict schema validation via Zod."*
|
|
28
|
-
- **Coding Conventions**: *"Place all helper utilities inside `src/utils/` and always cover new functions with Vitest tests."*
|
|
29
|
-
- **Environment Constraints**: *"Our target deployment environment is Node.js 20 on AWS Lambda."*
|
|
38
|
+
### Practical Use Cases
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
40
|
+
- **Architectural Decisions**: _"In this project, we use Fastify instead of Express and strict schema validation via Zod."_
|
|
41
|
+
- **Coding Conventions**: _"Place all helper utilities inside `src/utils/` and cover new functions with Vitest tests."_
|
|
42
|
+
- **Environment Constraints**: _"Our target deployment environment is Node.js 20 on AWS Lambda."_
|
|
43
|
+
- **User Profile & Tone**: _"My name is Alex. I prefer concise, direct answers without conversational filler."_
|
|
35
44
|
|
|
36
45
|
---
|
|
37
46
|
|
|
38
|
-
##
|
|
47
|
+
## Quick Start
|
|
39
48
|
|
|
40
|
-
|
|
41
|
-
- Managed via `remember`, `recall`, and `forget`.
|
|
42
|
-
- Stores user preferences, identity, project conventions, and system rules in human-readable Markdown format.
|
|
43
|
-
- Guaranteed 100% precision instant retrieval as persistent context without threshold filtering or vector degradation.
|
|
49
|
+
### Minimum System Requirements
|
|
44
50
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- Dynamic 3-tier hierarchy chunking (Big / Medium / Small), SQLite FTS5 BM25 search, ONNX dense vector embeddings (`multilingual-e5-small`), Reciprocal Rank Fusion (RRF), and GraphRAG Lite code symbol extraction.
|
|
51
|
+
- **Node.js**: `18.0.0` or higher
|
|
52
|
+
- **Package Manager**: `npm` / `npx` (included with Node.js)
|
|
53
|
+
- **Supported Environment**: OpenCode, Antigravity / Gemini CLI, Claude Code, or Codex
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
### Installation
|
|
51
56
|
|
|
52
|
-
|
|
57
|
+
Run the unified setup command to configure all detected AI environments automatically:
|
|
53
58
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
```bash
|
|
60
|
+
npx @lotargo/memory_plugin setup
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
To target a specific environment:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Antigravity / Gemini CLI
|
|
67
|
+
npx @lotargo/memory_plugin setup --antigravity
|
|
68
|
+
|
|
69
|
+
# OpenCode
|
|
70
|
+
npx @lotargo/memory_plugin setup --opencode
|
|
71
|
+
|
|
72
|
+
# Claude Code
|
|
73
|
+
npx @lotargo/memory_plugin setup --claude
|
|
74
|
+
|
|
75
|
+
# Codex
|
|
76
|
+
npx @lotargo/memory_plugin setup --codex
|
|
77
|
+
```
|
|
62
78
|
|
|
63
79
|
---
|
|
64
80
|
|
|
65
|
-
##
|
|
81
|
+
## Dual-Layer Architecture
|
|
82
|
+
|
|
83
|
+
1. **Layer 1: Notebook Store (Durable Facts)**
|
|
84
|
+
- **Tools**: `remember`, `recall`, `forget`
|
|
85
|
+
- **Scope**: User preferences, identity, project conventions, system rules.
|
|
86
|
+
- **Storage**: Human-readable Markdown format (`global` and per-project stores).
|
|
87
|
+
- **Performance**: Guaranteed 100% precision instant lookup without vector degradation or threshold filtering.
|
|
66
88
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
| **Claude Code** | Supported | MCP Server (`~/.claude.json`) |
|
|
72
|
-
| **Codex** | Supported | MCP Server (`~/.codex/config.toml`) |
|
|
89
|
+
2. **Layer 2: RAG Knowledge Base (Technical Documents & Codebases)**
|
|
90
|
+
- **Tools**: `ingest_document`, `query_knowledge_base`, `manage_knowledge_base`
|
|
91
|
+
- **Capabilities**: Ingests raw text files, Markdown, HTML, and full code repositories.
|
|
92
|
+
- **Engine Components**: 3-tier hierarchy chunking (Big / Medium / Small), SQLite FTS5 BM25 search, ONNX dense vector embeddings (`multilingual-e5-small`), Reciprocal Rank Fusion (RRF / RSF), and GraphRAG Lite code symbol extraction.
|
|
73
93
|
|
|
74
94
|
---
|
|
75
95
|
|
|
76
|
-
##
|
|
96
|
+
## Key Features
|
|
77
97
|
|
|
78
|
-
- **
|
|
79
|
-
- **
|
|
80
|
-
- **
|
|
98
|
+
- **Zero Heavy Infrastructure**: No Docker, no Python server, no C++ compilation (`node-gyp`). Uses Node.js native SQLite database.
|
|
99
|
+
- **Bilingual & Multilingual Support**: State-of-the-art semantic precision across Russian, English, and technical code symbols.
|
|
100
|
+
- **3-Tier Hierarchy Chunking**: Document (Big) -> Section (Medium) -> Micro-Chunk (Small).
|
|
101
|
+
- **Hybrid RRF/RSF Fusion**: Combines SQLite FTS5 keyword precision with ONNX dense vector similarity.
|
|
102
|
+
- **GraphRAG Lite**: Automatically links documents and extracted code symbols (classes, functions, types).
|
|
103
|
+
- **Content-Addressable Storage (CAS)**: Local S3-style compressed blob store for raw original documents.
|
|
104
|
+
- **Dual-Source Model Failover**: Automatic HuggingFace CDN model downloading with GitHub Repository Mirror fallback.
|
|
105
|
+
- **Interactive CLI Management**: Terminal GUI interface for runtime engine tuning, database maintenance, and diagnostics.
|
|
81
106
|
|
|
82
107
|
---
|
|
83
108
|
|
|
84
|
-
##
|
|
109
|
+
## Supported Platforms
|
|
85
110
|
|
|
86
|
-
|
|
111
|
+
| Platform | Status | Configuration Mechanism |
|
|
112
|
+
| :--------------------------- | :----------- | :-------------------------------------------------------------------------- |
|
|
113
|
+
| **Antigravity / Gemini CLI** | Supported | MCP Server (`~/.gemini/config/mcp_config.json` & `.agents/mcp_config.json`) |
|
|
114
|
+
| **OpenCode** | Native | Native plugin + MCP Server (`~/.config/opencode/opencode.json`) |
|
|
115
|
+
| **Claude Code** | Supported | MCP Server (`~/.claude.json`) |
|
|
116
|
+
| **Codex** | Supported | MCP Server (`~/.codex/config.toml`) |
|
|
117
|
+
| **Google Jules** | Experimental | MCP Server via global install (`npm install -g @lotargo/memory_plugin`) |
|
|
87
118
|
|
|
88
|
-
###
|
|
89
|
-
```bash
|
|
90
|
-
npx @lotargo/memory_plugin setup
|
|
91
|
-
```
|
|
119
|
+
### Google Jules Integration (Experimental)
|
|
92
120
|
|
|
93
|
-
|
|
121
|
+
The plugin has been verified inside the **Google Jules** cloud workspace environment.
|
|
94
122
|
|
|
95
|
-
- **
|
|
96
|
-
```bash
|
|
97
|
-
npx @lotargo/memory_plugin setup --antigravity
|
|
98
|
-
```
|
|
99
|
-
- **OpenCode only**:
|
|
100
|
-
```bash
|
|
101
|
-
npx @lotargo/memory_plugin setup --opencode
|
|
102
|
-
```
|
|
103
|
-
- **Claude Code only**:
|
|
123
|
+
- **Setup Method**: Global pre-installation:
|
|
104
124
|
```bash
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
- **Codex only**:
|
|
108
|
-
```bash
|
|
109
|
-
npx @lotargo/memory_plugin setup --codex
|
|
125
|
+
npm install -g @lotargo/memory_plugin
|
|
110
126
|
```
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
npx @lotargo/memory_plugin admin
|
|
115
|
-
```
|
|
127
|
+
- **Verification**: Google Jules automatically discovers the registered MCP server upon workspace initialization and seamlessly interacts with memory & RAG tools (`remember`, `recall`, `ingest_document`, `query_knowledge_base`).
|
|
128
|
+
- **Current Limitation**: All memory stores and vector indexes operate locally within the workspace environment. Cross-session cloud synchronization across different Jules runs is planned for upcoming releases.
|
|
116
129
|
|
|
117
130
|
---
|
|
118
131
|
|
|
119
132
|
## Available MCP Tools
|
|
120
133
|
|
|
121
134
|
### 1. Memory Tools (Key-Value Notebook)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
|
125
|
-
| `
|
|
126
|
-
| `
|
|
135
|
+
|
|
136
|
+
| Tool | Scope / Target | Description |
|
|
137
|
+
| :--------- | :---------------------------- | :------------------------------------------- |
|
|
138
|
+
| `remember` | `global` or `project` | Save an important durable fact or preference |
|
|
139
|
+
| `recall` | `project`, `global`, or `all` | Display saved facts |
|
|
140
|
+
| `forget` | Index ID or query | Remove a saved fact |
|
|
127
141
|
|
|
128
142
|
### 2. Hybrid RAG Knowledge Base Tools
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
|
132
|
-
| `
|
|
133
|
-
| `
|
|
143
|
+
|
|
144
|
+
| Tool | Target | Description |
|
|
145
|
+
| :---------------------- | :------------------------------ | :--------------------------------------------------------------------------- |
|
|
146
|
+
| `ingest_document` | Local files, Web URLs, Raw text | Ingest into 3-tier index with ONNX vector embeddings & symbol extraction |
|
|
147
|
+
| `query_knowledge_base` | Text / Code query | Perform hybrid RSF/RRF search (BM25 + Vector) to retrieve candidate sections |
|
|
148
|
+
| `manage_knowledge_base` | Actions / Documents | List documents, delete entries, view DB stats, or export/import snapshots |
|
|
134
149
|
|
|
135
150
|
---
|
|
136
151
|
|
|
137
152
|
## Interactive CLI & Engine Tuning
|
|
138
153
|
|
|
139
|
-
Launch the interactive CLI terminal interface to
|
|
154
|
+
Launch the interactive CLI terminal interface to manage engine settings, inspect databases, and tune retrieval parameters:
|
|
140
155
|
|
|
141
156
|
```bash
|
|
142
157
|
# From local repository folder:
|
|
@@ -144,34 +159,29 @@ node mcp-server/index.js cli
|
|
|
144
159
|
# or
|
|
145
160
|
npx . cli
|
|
146
161
|
|
|
147
|
-
# If installed / linked globally
|
|
162
|
+
# If installed / linked globally:
|
|
148
163
|
memory_plugin cli
|
|
149
164
|
# or
|
|
150
165
|
memory-cli
|
|
151
166
|
```
|
|
152
167
|
|
|
153
|
-
### CLI Menu
|
|
168
|
+
### CLI Menu Overview
|
|
154
169
|
|
|
155
|
-
The interactive menu exposes
|
|
170
|
+
The interactive menu exposes runtime parameters that `hybridQuery` honors, allowing search behavior modifications without restarting the MCP server. Use **Up / Down** arrows to navigate, **ENTER** to select, and **BACKSPACE** to go back.
|
|
156
171
|
|
|
157
|
-
| Block
|
|
158
|
-
|
|
159
|
-
| **Engine Settings** | Fusion Algorithm
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
| **Notebook**
|
|
164
|
-
| **RAG Docs**
|
|
165
|
-
| **Diagnostics**
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
| | Reset Config to Factory Defaults | Restore `config_defaults.json` to disk. |
|
|
172
|
+
| Block | Menu Item | Functionality |
|
|
173
|
+
| :------------------ | :--------------------------- | :----------------------------------------------------------------------------- |
|
|
174
|
+
| **Engine Settings** | Fusion Algorithm | Switch between `rsf`, `rrf`, `semantic_only`, `lexical_only`. |
|
|
175
|
+
| | RSF Alpha Balance | Weight of semantic over lexical in `rsf` fusion (`α ∈ [0,1]`). Default: `0.5`. |
|
|
176
|
+
| | Embedding Model | Select ONNX model (e.g. `Xenova/multilingual-e5-small`). |
|
|
177
|
+
| | Reranker Model | Enable Cross-Encoder reranking or disable for zero-latency fusion. |
|
|
178
|
+
| **Notebook** | Layer 1 Facts | Browse and manage `global` and per-project `.md` fact stores. |
|
|
179
|
+
| **RAG Docs** | Layer 2 RAG Base | List ingested documents, inspect chunk counts, and purge entries. |
|
|
180
|
+
| **Diagnostics** | Run Search Quality Benchmark | Execute in-process search evaluation across benchmark query set. |
|
|
181
|
+
| | Verification Query | Run a test `hybridQuery` against the active index. |
|
|
182
|
+
| | Clear Cache & Reset | Clear cached benchmark corpus or restore factory default config. |
|
|
169
183
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
- **Iterative tuning**: change `alpha` and re-run the benchmark in <60 s to see if MRR/Recall move — no model reload, corpus is cached.
|
|
173
|
-
- **Reproducible diagnostics**: the benchmark tabulates MRR/Recall/NDCG per mode and per category, so you can attribute a regression to a specific query or fusion knob.
|
|
174
|
-
- **Zero config drift**: settings persist to `~/.config/opencode/memory/config.json` and are picked up by the MCP server on next `query_knowledge_base` / `hybridQuery` call.
|
|
184
|
+
Settings persist to `~/.config/opencode/memory/config.json` and are immediately loaded by the MCP server.
|
|
175
185
|
|
|
176
186
|
---
|
|
177
187
|
|
|
@@ -185,50 +195,53 @@ cd mcp-server
|
|
|
185
195
|
# Run unit and integration tests
|
|
186
196
|
npm test
|
|
187
197
|
|
|
188
|
-
# Run
|
|
198
|
+
# Run search quality & ingestion benchmarks
|
|
189
199
|
npm run benchmark
|
|
190
200
|
```
|
|
191
201
|
|
|
192
202
|
### Benchmark Methodology
|
|
193
203
|
|
|
194
|
-
The benchmark suite (`mcp-server/benchmarks/`)
|
|
204
|
+
The benchmark suite (`mcp-server/benchmarks/`) evaluates retrieval quality across three phases:
|
|
205
|
+
|
|
206
|
+
1. **Dual-Layer Verification**: Asserts Notebook and RAG layers are isolated (zero crosstalk, 100% precision on `recall`).
|
|
207
|
+
2. **Ingestion Benchmark**: Ingests test documents with ONNX `multilingual-e5-small` embeddings, reporting throughput, DB size, CAS blob footprint, and heap delta.
|
|
208
|
+
3. **Search Quality Benchmark**: Evaluates cross-lingual and code-keyword queries against 4 retrieval strategies with bootstrap 95% CIs, paired t-tests, and hyperparameter sweeps over RSF $\alpha$ and RRF $k$.
|
|
195
209
|
|
|
196
|
-
|
|
197
|
-
2. **Ingestion benchmark** — fetches 27 real GitHub README documents, ingests them with ONNX `multilingual-e5-small` embeddings, and reports throughput, DB size, blob footprint, and heap delta.
|
|
198
|
-
3. **Search quality benchmark** — evaluates 21 challenging Russian→English / cross-lingual / code-keyword queries against 4 retrieval strategies with per-category breakdown, bootstrap 95% CIs, paired t-tests, and grid searches over RSF `α` and RRF `k`.
|
|
210
|
+
### Search Quality Results (Smoke Test)
|
|
199
211
|
|
|
200
|
-
|
|
212
|
+
_Note: The following metrics reflect a quick smoke-test evaluation run performed on a reduced subset of documents to verify retrieval logic precision._
|
|
201
213
|
|
|
202
|
-
|
|
214
|
+
Evaluated across a reduced document subset using Mean Reciprocal Rank (MRR@5), Recall@5, and Normalized Discounted Cumulative Gain (NDCG@5):
|
|
203
215
|
|
|
204
|
-
|
|
216
|
+
| Retrieval Strategy | MRR@5 | Recall@5 | NDCG@5 |
|
|
217
|
+
| :---------------------------- | :--------: | :---------: | :--------: |
|
|
218
|
+
| BM25 Lexical Search Only | 0.6706 | 76.19% | 0.6934 |
|
|
219
|
+
| Dense ONNX Vector Only | 0.8135 | 100.00% | 0.8612 |
|
|
220
|
+
| Hybrid RRF ($k=10$) | 0.8810 | 95.24% | 0.8997 |
|
|
221
|
+
| **Hybrid RSF ($\alpha=0.5$)** | **0.9286** | **100.00%** | **0.9473** |
|
|
205
222
|
|
|
206
|
-
|
|
223
|
+
For complete methodology details, see [`docs/BENCHMARKS.md`](./docs/BENCHMARKS.md).
|
|
207
224
|
|
|
208
|
-
|
|
225
|
+
---
|
|
209
226
|
|
|
210
|
-
|
|
211
|
-
*Model: Xenova/multilingual-e5-small over full 32-document technical corpus (21 queries).*
|
|
227
|
+
## Documentation & Reports
|
|
212
228
|
|
|
213
|
-
|
|
214
|
-
|---|:---:|:---:|:---:|
|
|
215
|
-
| BM25 Lexical Search Only | 0.5873 | 66.67% | 0.6077 |
|
|
216
|
-
| Dense ONNX Vector Only | 0.8333 | 85.71% | 0.8396 |
|
|
217
|
-
| Hybrid RRF ($k=60$) | 0.9048 | 90.48% | 0.9048 |
|
|
218
|
-
| **Hybrid RSF ($\alpha=0.5$)** | **0.9206** | **95.24%** | **0.9286** |
|
|
229
|
+
Detailed technical documentation and architectural specifications are available in the [`docs/`](./docs) directory:
|
|
219
230
|
|
|
220
|
-
|
|
231
|
+
- [**Verification Report (`MEMORY_PLUGIN_REPORT.md`)**](./docs/MEMORY_PLUGIN_REPORT.md): Summary report covering MCP Tool Registry, JSON-RPC integration testing, layer isolation validation, and search precision.
|
|
232
|
+
- [**Comprehensive Technical Report (`MEMORY_PLUGIN_COMPREHENSIVE_REPORT.md`)**](./docs/MEMORY_PLUGIN_COMPREHENSIVE_REPORT.md): Scientific analysis of system architecture, dual-layer model, hardware environment specifications, mathematical search formulations, and event-loop profiling.
|
|
233
|
+
- [**Benchmark Methodology & Guide (`BENCHMARKS.md`)**](./docs/BENCHMARKS.md): Guide to automated benchmark execution, hyperparameter sweeps (RSF $\alpha$, RRF $k$), search quality metrics, and performance tracking across releases.
|
|
221
234
|
|
|
222
235
|
---
|
|
223
236
|
|
|
224
237
|
## Storage & Privacy
|
|
225
238
|
|
|
226
239
|
- **100% Local Storage**: All SQLite indexes, ONNX models, CAS blobs, and Markdown notebooks are stored locally under `~/.config/opencode/memory/`.
|
|
227
|
-
- **Dual-Source Failover Model Fetching**: Primary model weights are fetched from HuggingFace CDN with automatic failover to GitHub Repository Mirror
|
|
240
|
+
- **Dual-Source Failover Model Fetching**: Primary model weights are fetched from HuggingFace CDN with automatic failover to GitHub Repository Mirror.
|
|
228
241
|
- **Zero External Telemetry**: No third-party network calls are required after initial model setup.
|
|
229
242
|
|
|
230
243
|
---
|
|
231
244
|
|
|
232
245
|
## License
|
|
233
246
|
|
|
234
|
-
MIT
|
|
247
|
+
[MIT](./LICENSE)
|