@pcircle/memesh 3.2.0 → 4.0.0
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.de.md +28 -7
- package/README.es.md +28 -7
- package/README.fr.md +28 -7
- package/README.ja.md +28 -7
- package/README.ko.md +28 -7
- package/README.md +47 -14
- package/README.pt.md +28 -7
- package/README.th.md +28 -7
- package/README.vi.md +28 -7
- package/README.zh-CN.md +28 -7
- package/README.zh-TW.md +28 -7
- package/dashboard/dist/index.html +12 -3
- package/dist/core/auto-tagger.d.ts +5 -0
- package/dist/core/auto-tagger.d.ts.map +1 -0
- package/dist/core/auto-tagger.js +99 -0
- package/dist/core/auto-tagger.js.map +1 -0
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +29 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/embedder.d.ts +1 -0
- package/dist/core/embedder.d.ts.map +1 -1
- package/dist/core/embedder.js +120 -47
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/lifecycle.d.ts +7 -0
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +91 -0
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/operations.d.ts +1 -0
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +9 -0
- package/dist/core/operations.js.map +1 -1
- package/dist/core/patterns.d.ts +39 -0
- package/dist/core/patterns.d.ts.map +1 -0
- package/dist/core/patterns.js +109 -0
- package/dist/core/patterns.js.map +1 -0
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +17 -0
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/scoring.d.ts +6 -0
- package/dist/core/scoring.d.ts.map +1 -1
- package/dist/core/scoring.js +8 -3
- package/dist/core/scoring.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +29 -2
- package/dist/db.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +141 -1
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +17 -0
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +91 -1
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +10 -0
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +4 -0
- package/dist/transports/schemas.js.map +1 -1
- package/hooks/hooks.json +12 -0
- package/package.json +4 -1
- package/plugin.json +1 -1
- package/scripts/hooks/pre-edit-recall.js +163 -0
- package/scripts/hooks/session-start.js +52 -2
- package/scripts/hooks/session-summary.js +44 -1
- package/skills/memesh/SKILL.md +110 -52
- package/skills/memesh-review/SKILL.md +69 -26
package/README.de.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
12
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
|
-
<a href="https://pypi.org/project/memesh/"><img src="https://img.shields.io/badge/pip-memesh-3b82f6?style=flat-square" alt="PyPI" /></a>
|
|
15
14
|
</p>
|
|
16
15
|
</p>
|
|
17
16
|
|
|
@@ -62,6 +61,10 @@ memesh
|
|
|
62
61
|
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — verstehe das Wissen deiner KI" width="100%" />
|
|
63
62
|
</p>
|
|
64
63
|
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — interaktiver Wissensgraph mit Typfiltern und Ego-Modus" width="100%" />
|
|
66
|
+
</p>
|
|
67
|
+
|
|
65
68
|
---
|
|
66
69
|
|
|
67
70
|
## Für Wen ist Das?
|
|
@@ -122,7 +125,7 @@ Tools in jeden API-Aufruf einfügen
|
|
|
122
125
|
| **Einrichtung** | `npm i -g` — fertig | Neo4j + VectorDB + API-Schlüssel | Neo4j + Konfiguration |
|
|
123
126
|
| **Speicherung** | Einzelne SQLite-Datei | Neo4j + Qdrant | Neo4j |
|
|
124
127
|
| **Offline nutzbar** | Ja, immer | Nein | Nein |
|
|
125
|
-
| **Dashboard** | Integriert (
|
|
128
|
+
| **Dashboard** | Integriert (7 Tabs + Analytik) | Keins | Keins |
|
|
126
129
|
| **Abhängigkeiten** | 6 | 20+ | 10+ |
|
|
127
130
|
| **Preis** | Dauerhaft kostenlos | Kostenlose Stufe / Kostenpflichtig | Kostenlose Stufe / Kostenpflichtig |
|
|
128
131
|
|
|
@@ -136,15 +139,31 @@ Du musst nicht alles manuell merken. MeMesh hat **4 Hooks**, die Wissen erfassen
|
|
|
136
139
|
|
|
137
140
|
| Wann | Was MeMesh tut |
|
|
138
141
|
|------|------------------|
|
|
139
|
-
| **Zu Beginn jeder Session** | Lädt deine relevantesten Erinnerungen
|
|
142
|
+
| **Zu Beginn jeder Session** | Lädt deine relevantesten Erinnerungen + proaktive Warnungen aus früheren Lektionen |
|
|
140
143
|
| **Nach jedem `git commit`** | Erfasst was du geändert hast, mit Diff-Statistiken |
|
|
141
|
-
| **Wenn Claude beendet** | Erfasst bearbeitete Dateien, behobene Fehler und
|
|
144
|
+
| **Wenn Claude beendet** | Erfasst bearbeitete Dateien, behobene Fehler und generiert automatisch strukturierte Lektionen aus Fehlern |
|
|
142
145
|
| **Vor der Kontextkomprimierung** | Sichert Wissen, bevor es durch Kontextgrenzen verloren geht |
|
|
143
146
|
|
|
144
147
|
> **Jederzeit deaktivierbar:** `export MEMESH_AUTO_CAPTURE=false`
|
|
145
148
|
|
|
146
149
|
---
|
|
147
150
|
|
|
151
|
+
## Dashboard
|
|
152
|
+
|
|
153
|
+
7 Tabs, 11 Sprachen, null externe Abhängigkeiten. Zugriff über `http://localhost:3737/dashboard` wenn der Server läuft.
|
|
154
|
+
|
|
155
|
+
| Tab | Was du siehst |
|
|
156
|
+
|-----|---------------|
|
|
157
|
+
| **Search** | Volltextsuche + Vektor-Ähnlichkeitssuche über alle Erinnerungen |
|
|
158
|
+
| **Browse** | Paginierte Liste aller Entitäten mit Archivierung/Wiederherstellung |
|
|
159
|
+
| **Analytics** | Memory Health Score (0-100), 30-Tage-Timeline, Wert-Metriken, Wissensabdeckung, Aufräum-Vorschläge, deine Arbeitsmuster |
|
|
160
|
+
| **Graph** | Interaktiver kräftebasierter Wissensgraph mit Typfiltern, Suche, Ego-Modus, Aktualitäts-Heatmap |
|
|
161
|
+
| **Lessons** | Strukturierte Lektionen aus vergangenen Fehlern (Fehler, Ursache, Fix, Prävention) |
|
|
162
|
+
| **Manage** | Entitäten archivieren und wiederherstellen |
|
|
163
|
+
| **Settings** | LLM-Anbieter-Konfiguration, Sprachauswahl |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
148
167
|
## Intelligente Funktionen
|
|
149
168
|
|
|
150
169
|
**🧠 Smart Search** — Suche nach „login security" und finde Erinnerungen über „OAuth PKCE". MeMesh erweitert Suchanfragen mit verwandten Begriffen über das konfigurierte LLM.
|
|
@@ -183,7 +202,7 @@ memesh # öffnet Dashboard → Einstellungs-Tab
|
|
|
183
202
|
|
|
184
203
|
---
|
|
185
204
|
|
|
186
|
-
## Alle
|
|
205
|
+
## Alle 8 Gedächtnis-Tools
|
|
187
206
|
|
|
188
207
|
| Tool | Funktion |
|
|
189
208
|
|------|-------------|
|
|
@@ -193,6 +212,8 @@ memesh # öffnet Dashboard → Einstellungs-Tab
|
|
|
193
212
|
| `consolidate` | LLM-gestützte Komprimierung ausführlicher Erinnerungen |
|
|
194
213
|
| `export` | Teilt Erinnerungen als JSON zwischen Projekten oder Teammitgliedern |
|
|
195
214
|
| `import` | Importiert Erinnerungen mit Zusammenführungsstrategien (überspringen / überschreiben / anhängen) |
|
|
215
|
+
| `learn` | Strukturierte Lektionen aus Fehlern aufzeichnen (Fehler, Ursache, Fix, Prävention) |
|
|
216
|
+
| `user_patterns` | Analysiere deine Arbeitsmuster — Zeitplan, Tools, Stärken, Lernbereiche |
|
|
196
217
|
|
|
197
218
|
---
|
|
198
219
|
|
|
@@ -201,7 +222,7 @@ memesh # öffnet Dashboard → Einstellungs-Tab
|
|
|
201
222
|
```
|
|
202
223
|
┌─────────────────┐
|
|
203
224
|
│ Core Engine │
|
|
204
|
-
│ (
|
|
225
|
+
│ (8 operations) │
|
|
205
226
|
└────────┬────────┘
|
|
206
227
|
┌─────────────────┼─────────────────┐
|
|
207
228
|
│ │ │
|
|
@@ -222,7 +243,7 @@ Der Kern ist framework-unabhängig. Dieselbe Logik läuft vom Terminal, HTTP ode
|
|
|
222
243
|
```bash
|
|
223
244
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
224
245
|
cd memesh-llm-memory && npm install && npm run build
|
|
225
|
-
npm test -- --run #
|
|
246
|
+
npm test -- --run # 413 tests
|
|
226
247
|
```
|
|
227
248
|
|
|
228
249
|
Dashboard: `cd dashboard && npm install && npm run dev`
|
package/README.es.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
12
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
|
-
<a href="https://pypi.org/project/memesh/"><img src="https://img.shields.io/badge/pip-memesh-3b82f6?style=flat-square" alt="PyPI" /></a>
|
|
15
14
|
</p>
|
|
16
15
|
</p>
|
|
17
16
|
|
|
@@ -62,6 +61,10 @@ memesh
|
|
|
62
61
|
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — comprende el conocimiento de tu IA" width="100%" />
|
|
63
62
|
</p>
|
|
64
63
|
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — grafo de conocimiento interactivo con filtros de tipo y modo ego" width="100%" />
|
|
66
|
+
</p>
|
|
67
|
+
|
|
65
68
|
---
|
|
66
69
|
|
|
67
70
|
## ¿Para Quién Es?
|
|
@@ -122,7 +125,7 @@ Pega las herramientas en cualquier llamada a la API
|
|
|
122
125
|
| **Configuración** | `npm i -g` — listo | Neo4j + VectorDB + claves API | Neo4j + config |
|
|
123
126
|
| **Almacenamiento** | Archivo SQLite único | Neo4j + Qdrant | Neo4j |
|
|
124
127
|
| **Funciona sin conexión** | Sí, siempre | No | No |
|
|
125
|
-
| **Panel** | Integrado (
|
|
128
|
+
| **Panel** | Integrado (7 pestañas + analytics) | Ninguno | Ninguno |
|
|
126
129
|
| **Dependencias** | 6 | 20+ | 10+ |
|
|
127
130
|
| **Precio** | Gratis para siempre | Plan gratuito / De pago | Plan gratuito / De pago |
|
|
128
131
|
|
|
@@ -136,15 +139,31 @@ No necesitas recordar todo manualmente. MeMesh tiene **4 hooks** que capturan co
|
|
|
136
139
|
|
|
137
140
|
| Cuándo | Qué hace MeMesh |
|
|
138
141
|
|------|------------------|
|
|
139
|
-
| **Al inicio de cada sesión** | Carga tus recuerdos más relevantes
|
|
142
|
+
| **Al inicio de cada sesión** | Carga tus recuerdos más relevantes + advertencias proactivas de lecciones pasadas |
|
|
140
143
|
| **Tras cada `git commit`** | Registra lo que cambiaste, con estadísticas del diff |
|
|
141
|
-
| **Cuando Claude se detiene** | Captura archivos editados, errores corregidos y
|
|
144
|
+
| **Cuando Claude se detiene** | Captura archivos editados, errores corregidos y genera automáticamente lecciones estructuradas a partir de fallos |
|
|
142
145
|
| **Antes de la compactación de contexto** | Guarda el conocimiento antes de que se pierda por los límites del contexto |
|
|
143
146
|
|
|
144
147
|
> **Desactívalo cuando quieras:** `export MEMESH_AUTO_CAPTURE=false`
|
|
145
148
|
|
|
146
149
|
---
|
|
147
150
|
|
|
151
|
+
## Panel de Control
|
|
152
|
+
|
|
153
|
+
7 pestañas, 11 idiomas, cero dependencias externas. Accede en `http://localhost:3737/dashboard` cuando el servidor esté activo.
|
|
154
|
+
|
|
155
|
+
| Pestaña | Qué ves |
|
|
156
|
+
|---------|---------|
|
|
157
|
+
| **Search** | Búsqueda de texto completo + similitud vectorial en todas las memorias |
|
|
158
|
+
| **Browse** | Lista paginada de todas las entidades con archivado/restauración |
|
|
159
|
+
| **Analytics** | Puntuación de Salud de Memoria (0-100), timeline de 30 días, métricas de valor, cobertura de conocimiento, sugerencias de limpieza, tus patrones de trabajo |
|
|
160
|
+
| **Graph** | Grafo de conocimiento interactivo dirigido por fuerzas con filtros de tipo, búsqueda, modo ego, mapa de calor de recencia |
|
|
161
|
+
| **Lessons** | Lecciones estructuradas de fallos pasados (error, causa raíz, corrección, prevención) |
|
|
162
|
+
| **Manage** | Archivar y restaurar entidades |
|
|
163
|
+
| **Settings** | Configuración del proveedor LLM, selector de idioma |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
148
167
|
## Funcionalidades Inteligentes
|
|
149
168
|
|
|
150
169
|
**🧠 Búsqueda Inteligente** — Busca "login security" y encuentra recuerdos sobre "OAuth PKCE". MeMesh expande las consultas con términos relacionados usando el LLM configurado.
|
|
@@ -183,7 +202,7 @@ memesh # abre el panel → pestaña Configuración
|
|
|
183
202
|
|
|
184
203
|
---
|
|
185
204
|
|
|
186
|
-
## Las
|
|
205
|
+
## Las 8 Herramientas de Memoria
|
|
187
206
|
|
|
188
207
|
| Herramienta | Qué hace |
|
|
189
208
|
|------|-------------|
|
|
@@ -193,6 +212,8 @@ memesh # abre el panel → pestaña Configuración
|
|
|
193
212
|
| `consolidate` | Compresión de memorias extensas asistida por LLM |
|
|
194
213
|
| `export` | Comparte memorias como JSON entre proyectos o miembros del equipo |
|
|
195
214
|
| `import` | Importa memorias con estrategias de fusión (omitir / sobrescribir / añadir) |
|
|
215
|
+
| `learn` | Registra lecciones estructuradas a partir de errores (error, causa raíz, corrección, prevención) |
|
|
216
|
+
| `user_patterns` | Analiza tus patrones de trabajo — horario, herramientas, fortalezas, áreas de aprendizaje |
|
|
196
217
|
|
|
197
218
|
---
|
|
198
219
|
|
|
@@ -201,7 +222,7 @@ memesh # abre el panel → pestaña Configuración
|
|
|
201
222
|
```
|
|
202
223
|
┌─────────────────┐
|
|
203
224
|
│ Core Engine │
|
|
204
|
-
│ (
|
|
225
|
+
│ (8 operations) │
|
|
205
226
|
└────────┬────────┘
|
|
206
227
|
┌─────────────────┼─────────────────┐
|
|
207
228
|
│ │ │
|
|
@@ -222,7 +243,7 @@ El núcleo es independiente del framework. La misma lógica se ejecuta desde el
|
|
|
222
243
|
```bash
|
|
223
244
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
224
245
|
cd memesh-llm-memory && npm install && npm run build
|
|
225
|
-
npm test -- --run #
|
|
246
|
+
npm test -- --run # 413 tests
|
|
226
247
|
```
|
|
227
248
|
|
|
228
249
|
Panel: `cd dashboard && npm install && npm run dev`
|
package/README.fr.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
12
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
|
-
<a href="https://pypi.org/project/memesh/"><img src="https://img.shields.io/badge/pip-memesh-3b82f6?style=flat-square" alt="PyPI" /></a>
|
|
15
14
|
</p>
|
|
16
15
|
</p>
|
|
17
16
|
|
|
@@ -62,6 +61,10 @@ memesh
|
|
|
62
61
|
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — visualisez les connaissances de votre IA" width="100%" />
|
|
63
62
|
</p>
|
|
64
63
|
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — graphe de connaissances interactif avec filtres de type et mode ego" width="100%" />
|
|
66
|
+
</p>
|
|
67
|
+
|
|
65
68
|
---
|
|
66
69
|
|
|
67
70
|
## Pour Qui Est-ce Fait ?
|
|
@@ -122,7 +125,7 @@ Collez les outils dans n'importe quel appel API
|
|
|
122
125
|
| **Configuration** | `npm i -g` — terminé | Neo4j + VectorDB + clés API | Neo4j + config |
|
|
123
126
|
| **Stockage** | Fichier SQLite unique | Neo4j + Qdrant | Neo4j |
|
|
124
127
|
| **Fonctionne hors ligne** | Oui, toujours | Non | Non |
|
|
125
|
-
| **Tableau de bord** | Intégré (
|
|
128
|
+
| **Tableau de bord** | Intégré (7 onglets + analytiques) | Aucun | Aucun |
|
|
126
129
|
| **Dépendances** | 6 | 20+ | 10+ |
|
|
127
130
|
| **Prix** | Gratuit à vie | Offre gratuite / Payant | Offre gratuite / Payant |
|
|
128
131
|
|
|
@@ -136,15 +139,31 @@ Inutile de tout mémoriser manuellement. MeMesh dispose de **4 hooks** qui captu
|
|
|
136
139
|
|
|
137
140
|
| Quand | Ce que fait MeMesh |
|
|
138
141
|
|------|------------------|
|
|
139
|
-
| **Au démarrage de chaque session** | Charge vos souvenirs les plus pertinents
|
|
142
|
+
| **Au démarrage de chaque session** | Charge vos souvenirs les plus pertinents + avertissements proactifs des leçons passées |
|
|
140
143
|
| **Après chaque `git commit`** | Enregistre ce que vous avez modifié, avec les statistiques de diff |
|
|
141
|
-
| **Quand Claude s'arrête** | Capture les fichiers édités, les erreurs corrigées et
|
|
144
|
+
| **Quand Claude s'arrête** | Capture les fichiers édités, les erreurs corrigées et génère automatiquement des leçons structurées à partir des échecs |
|
|
142
145
|
| **Avant la compaction du contexte** | Sauvegarde les connaissances avant qu'elles se perdent dans les limites du contexte |
|
|
143
146
|
|
|
144
147
|
> **Désactivez à tout moment :** `export MEMESH_AUTO_CAPTURE=false`
|
|
145
148
|
|
|
146
149
|
---
|
|
147
150
|
|
|
151
|
+
## Tableau de Bord
|
|
152
|
+
|
|
153
|
+
7 onglets, 11 langues, zéro dépendance externe. Accessible à `http://localhost:3737/dashboard` lorsque le serveur tourne.
|
|
154
|
+
|
|
155
|
+
| Onglet | Ce que vous voyez |
|
|
156
|
+
|--------|-------------------|
|
|
157
|
+
| **Search** | Recherche plein texte + similarité vectorielle sur tous les souvenirs |
|
|
158
|
+
| **Browse** | Liste paginée de toutes les entités avec archivage/restauration |
|
|
159
|
+
| **Analytics** | Score de Santé Mémoire (0-100), timeline 30 jours, métriques de valeur, couverture des connaissances, suggestions de nettoyage, vos habitudes de travail |
|
|
160
|
+
| **Graph** | Graphe de connaissances interactif dirigé par forces avec filtres de type, recherche, mode ego, carte thermique de récence |
|
|
161
|
+
| **Lessons** | Leçons structurées tirées des échecs passés (erreur, cause racine, correction, prévention) |
|
|
162
|
+
| **Manage** | Archiver et restaurer des entités |
|
|
163
|
+
| **Settings** | Configuration du fournisseur LLM, sélecteur de langue |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
148
167
|
## Fonctionnalités Intelligentes
|
|
149
168
|
|
|
150
169
|
**🧠 Recherche Intelligente** — Cherchez « login security » et trouvez des souvenirs sur « OAuth PKCE ». MeMesh élargit les requêtes avec des termes connexes via le LLM configuré.
|
|
@@ -183,7 +202,7 @@ memesh # ouvre le tableau de bord → onglet Paramètres
|
|
|
183
202
|
|
|
184
203
|
---
|
|
185
204
|
|
|
186
|
-
## Les
|
|
205
|
+
## Les 8 Outils Mémoire
|
|
187
206
|
|
|
188
207
|
| Outil | Ce qu'il fait |
|
|
189
208
|
|------|-------------|
|
|
@@ -193,6 +212,8 @@ memesh # ouvre le tableau de bord → onglet Paramètres
|
|
|
193
212
|
| `consolidate` | Compression de souvenirs verbeux assistée par LLM |
|
|
194
213
|
| `export` | Partage les souvenirs en JSON entre projets ou membres d'équipe |
|
|
195
214
|
| `import` | Importe des souvenirs avec des stratégies de fusion (ignorer / écraser / ajouter) |
|
|
215
|
+
| `learn` | Enregistre des leçons structurées à partir des erreurs (erreur, cause racine, correction, prévention) |
|
|
216
|
+
| `user_patterns` | Analyse vos habitudes de travail — planning, outils, points forts, axes d'apprentissage |
|
|
196
217
|
|
|
197
218
|
---
|
|
198
219
|
|
|
@@ -201,7 +222,7 @@ memesh # ouvre le tableau de bord → onglet Paramètres
|
|
|
201
222
|
```
|
|
202
223
|
┌─────────────────┐
|
|
203
224
|
│ Core Engine │
|
|
204
|
-
│ (
|
|
225
|
+
│ (8 operations) │
|
|
205
226
|
└────────┬────────┘
|
|
206
227
|
┌─────────────────┼─────────────────┐
|
|
207
228
|
│ │ │
|
|
@@ -222,7 +243,7 @@ Le cœur est indépendant du framework. La même logique s'exécute depuis le te
|
|
|
222
243
|
```bash
|
|
223
244
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
224
245
|
cd memesh-llm-memory && npm install && npm run build
|
|
225
|
-
npm test -- --run #
|
|
246
|
+
npm test -- --run # 413 tests
|
|
226
247
|
```
|
|
227
248
|
|
|
228
249
|
Tableau de bord : `cd dashboard && npm install && npm run dev`
|
package/README.ja.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
12
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
|
-
<a href="https://pypi.org/project/memesh/"><img src="https://img.shields.io/badge/pip-memesh-3b82f6?style=flat-square" alt="PyPI" /></a>
|
|
15
14
|
</p>
|
|
16
15
|
</p>
|
|
17
16
|
|
|
@@ -62,6 +61,10 @@ memesh
|
|
|
62
61
|
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — AI の知識を可視化" width="100%" />
|
|
63
62
|
</p>
|
|
64
63
|
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — タイプフィルターとエゴモード付きインタラクティブ知識グラフ" width="100%" />
|
|
66
|
+
</p>
|
|
67
|
+
|
|
65
68
|
---
|
|
66
69
|
|
|
67
70
|
## 誰のためのツールか?
|
|
@@ -122,7 +125,7 @@ memesh export-schema \
|
|
|
122
125
|
| **設定方法** | `npm i-g` — 完了 | Neo4j + VectorDB + API キー | Neo4j + 設定 |
|
|
123
126
|
| **ストレージ** | SQLite ファイル 1 つ | Neo4j + Qdrant | Neo4j |
|
|
124
127
|
| **オフライン利用** | 常時対応 | 非対応 | 非対応 |
|
|
125
|
-
| **ダッシュボード** | 組み込み(
|
|
128
|
+
| **ダッシュボード** | 組み込み(7 タブ + アナリティクス) | なし | なし |
|
|
126
129
|
| **依存関係** | 6 | 20+ | 10+ |
|
|
127
130
|
| **価格** | 永久無料 | 無料枠 / 有料 | 無料枠 / 有料 |
|
|
128
131
|
|
|
@@ -136,15 +139,31 @@ memesh export-schema \
|
|
|
136
139
|
|
|
137
140
|
| タイミング | MeMesh が行うこと |
|
|
138
141
|
|------|------------------|
|
|
139
|
-
| **セッション開始時** |
|
|
142
|
+
| **セッション開始時** | 最も関連性の高いメモリを読み込み + 過去の教訓からのプロアクティブな警告 |
|
|
140
143
|
| **`git commit` 後** | 変更内容と差分統計を記録する |
|
|
141
|
-
| **Claude 終了時** |
|
|
144
|
+
| **Claude 終了時** | 編集したファイル・修正したエラーをキャプチャし、失敗から構造化された教訓を自動生成 |
|
|
142
145
|
| **コンテキスト圧縮前** | コンテキスト上限で失われる前に知識を保存する |
|
|
143
146
|
|
|
144
147
|
> **いつでも無効化:** `export MEMESH_AUTO_CAPTURE=false`
|
|
145
148
|
|
|
146
149
|
---
|
|
147
150
|
|
|
151
|
+
## ダッシュボード
|
|
152
|
+
|
|
153
|
+
7 タブ、11 言語、外部依存ゼロ。サーバー起動中は `http://localhost:3737/dashboard` でアクセス。
|
|
154
|
+
|
|
155
|
+
| タブ | 内容 |
|
|
156
|
+
|------|------|
|
|
157
|
+
| **Search** | すべてのメモリに対する全文検索 + ベクトル類似度検索 |
|
|
158
|
+
| **Browse** | すべてのエンティティのページネーション一覧(アーカイブ/復元対応) |
|
|
159
|
+
| **Analytics** | メモリヘルススコア(0-100)、30日タイムライン、価値指標、知識カバレッジ、クリーンアップ提案、作業パターン |
|
|
160
|
+
| **Graph** | タイプフィルター、検索、エゴモード、最新性ヒートマップ付きインタラクティブ力学グラフ |
|
|
161
|
+
| **Lessons** | 過去の失敗から生成された構造化レッスン(エラー、根本原因、修正方法、予防策) |
|
|
162
|
+
| **Manage** | エンティティのアーカイブと復元 |
|
|
163
|
+
| **Settings** | LLM プロバイダー設定、言語セレクター |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
148
167
|
## スマート機能
|
|
149
168
|
|
|
150
169
|
**🧠 スマート検索** — 「login security」で「OAuth PKCE」に関するメモリが見つかります。設定した LLM を使ってクエリを関連語に展開します。
|
|
@@ -183,7 +202,7 @@ memesh # ダッシュボードを開く → 設定タブ
|
|
|
183
202
|
|
|
184
203
|
---
|
|
185
204
|
|
|
186
|
-
## 全
|
|
205
|
+
## 全 8 つのメモリツール
|
|
187
206
|
|
|
188
207
|
| ツール | 機能 |
|
|
189
208
|
|------|-------------|
|
|
@@ -193,6 +212,8 @@ memesh # ダッシュボードを開く → 設定タブ
|
|
|
193
212
|
| `consolidate` | LLM を使って冗長なメモリを圧縮 |
|
|
194
213
|
| `export` | メモリを JSON でプロジェクトやチームメンバーと共有 |
|
|
195
214
|
| `import` | マージ戦略(スキップ / 上書き / 追加)を選んでメモリをインポート |
|
|
215
|
+
| `learn` | ミスから構造化されたレッスンを記録(エラー、根本原因、修正方法、予防策) |
|
|
216
|
+
| `user_patterns` | 作業パターンを分析 — スケジュール、ツール、強み、学習分野 |
|
|
196
217
|
|
|
197
218
|
---
|
|
198
219
|
|
|
@@ -201,7 +222,7 @@ memesh # ダッシュボードを開く → 設定タブ
|
|
|
201
222
|
```
|
|
202
223
|
┌─────────────────┐
|
|
203
224
|
│ Core Engine │
|
|
204
|
-
│ (
|
|
225
|
+
│ (8 operations) │
|
|
205
226
|
└────────┬────────┘
|
|
206
227
|
┌─────────────────┼─────────────────┐
|
|
207
228
|
│ │ │
|
|
@@ -222,7 +243,7 @@ memesh # ダッシュボードを開く → 設定タブ
|
|
|
222
243
|
```bash
|
|
223
244
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
224
245
|
cd memesh-llm-memory && npm install && npm run build
|
|
225
|
-
npm test -- --run #
|
|
246
|
+
npm test -- --run # 413 tests
|
|
226
247
|
```
|
|
227
248
|
|
|
228
249
|
ダッシュボード:`cd dashboard && npm install && npm run dev`
|
package/README.ko.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
12
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
|
-
<a href="https://pypi.org/project/memesh/"><img src="https://img.shields.io/badge/pip-memesh-3b82f6?style=flat-square" alt="PyPI" /></a>
|
|
15
14
|
</p>
|
|
16
15
|
</p>
|
|
17
16
|
|
|
@@ -62,6 +61,10 @@ memesh
|
|
|
62
61
|
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — AI의 지식을 한눈에 파악" width="100%" />
|
|
63
62
|
</p>
|
|
64
63
|
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — 타입 필터와 에고 모드가 있는 인터랙티브 지식 그래프" width="100%" />
|
|
66
|
+
</p>
|
|
67
|
+
|
|
65
68
|
---
|
|
66
69
|
|
|
67
70
|
## 누구를 위한 도구인가?
|
|
@@ -122,7 +125,7 @@ memesh export-schema \
|
|
|
122
125
|
| **설정 방법** | `npm i -g` — 완료 | Neo4j + VectorDB + API 키 | Neo4j + 설정 |
|
|
123
126
|
| **저장소** | SQLite 파일 하나 | Neo4j + Qdrant | Neo4j |
|
|
124
127
|
| **오프라인 사용** | 항상 가능 | 불가 | 불가 |
|
|
125
|
-
| **대시보드** | 내장 (
|
|
128
|
+
| **대시보드** | 내장 (7개 탭 + 분석) | 없음 | 없음 |
|
|
126
129
|
| **의존성** | 6개 | 20개 이상 | 10개 이상 |
|
|
127
130
|
| **가격** | 영구 무료 | 무료 티어 / 유료 | 무료 티어 / 유료 |
|
|
128
131
|
|
|
@@ -136,15 +139,31 @@ memesh export-schema \
|
|
|
136
139
|
|
|
137
140
|
| 언제 | MeMesh가 하는 일 |
|
|
138
141
|
|------|------------------|
|
|
139
|
-
| **모든 세션 시작 시** |
|
|
142
|
+
| **모든 세션 시작 시** | 가장 관련성 높은 메모리를 로드 + 과거 교훈으로부터의 사전 경고 |
|
|
140
143
|
| **모든 `git commit` 후** | 변경 내용과 diff 통계를 기록 |
|
|
141
|
-
| **Claude 종료 시** | 편집한 파일, 수정한
|
|
144
|
+
| **Claude 종료 시** | 편집한 파일, 수정한 오류를 포착하고 실패로부터 구조화된 교훈을 자동 생성 |
|
|
142
145
|
| **컨텍스트 압축 전** | 컨텍스트 한계로 사라지기 전에 지식을 저장 |
|
|
143
146
|
|
|
144
147
|
> **언제든 비활성화:** `export MEMESH_AUTO_CAPTURE=false`
|
|
145
148
|
|
|
146
149
|
---
|
|
147
150
|
|
|
151
|
+
## 대시보드
|
|
152
|
+
|
|
153
|
+
7개 탭, 11개 언어, 외부 의존성 제로. 서버 실행 중 `http://localhost:3737/dashboard`에서 접근.
|
|
154
|
+
|
|
155
|
+
| 탭 | 내용 |
|
|
156
|
+
|----|------|
|
|
157
|
+
| **Search** | 모든 메모리에 대한 전문 검색 + 벡터 유사도 검색 |
|
|
158
|
+
| **Browse** | 모든 엔티티의 페이지네이션 목록 (아카이브/복원 지원) |
|
|
159
|
+
| **Analytics** | 메모리 건강 점수 (0-100), 30일 타임라인, 가치 지표, 지식 커버리지, 정리 제안, 작업 패턴 |
|
|
160
|
+
| **Graph** | 타입 필터, 검색, 에고 모드, 최신성 히트맵이 있는 인터랙티브 포스 그래프 |
|
|
161
|
+
| **Lessons** | 과거 실패로부터 생성된 구조화된 교훈 (오류, 근본 원인, 수정, 예방) |
|
|
162
|
+
| **Manage** | 엔티티 아카이브 및 복원 |
|
|
163
|
+
| **Settings** | LLM 제공자 설정, 언어 선택 |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
148
167
|
## 스마트 기능
|
|
149
168
|
|
|
150
169
|
**🧠 스마트 검색** — "login security"를 검색하면 "OAuth PKCE"에 관한 메모리를 찾아냅니다. 설정한 LLM을 이용해 쿼리를 관련 용어로 확장합니다.
|
|
@@ -183,7 +202,7 @@ memesh # 대시보드 열기 → 설정 탭
|
|
|
183
202
|
|
|
184
203
|
---
|
|
185
204
|
|
|
186
|
-
## 전체
|
|
205
|
+
## 전체 8가지 메모리 도구
|
|
187
206
|
|
|
188
207
|
| 도구 | 기능 |
|
|
189
208
|
|------|-------------|
|
|
@@ -193,6 +212,8 @@ memesh # 대시보드 열기 → 설정 탭
|
|
|
193
212
|
| `consolidate` | LLM 기반 장황한 메모리 압축 |
|
|
194
213
|
| `export` | 메모리를 JSON으로 프로젝트 또는 팀원과 공유 |
|
|
195
214
|
| `import` | 병합 전략(건너뛰기 / 덮어쓰기 / 추가)을 선택해 메모리 가져오기 |
|
|
215
|
+
| `learn` | 실수로부터 구조화된 교훈 기록 (오류, 근본 원인, 수정, 예방) |
|
|
216
|
+
| `user_patterns` | 작업 패턴 분석 — 일정, 도구, 강점, 학습 영역 |
|
|
196
217
|
|
|
197
218
|
---
|
|
198
219
|
|
|
@@ -201,7 +222,7 @@ memesh # 대시보드 열기 → 설정 탭
|
|
|
201
222
|
```
|
|
202
223
|
┌─────────────────┐
|
|
203
224
|
│ Core Engine │
|
|
204
|
-
│ (
|
|
225
|
+
│ (8 operations) │
|
|
205
226
|
└────────┬────────┘
|
|
206
227
|
┌─────────────────┼─────────────────┐
|
|
207
228
|
│ │ │
|
|
@@ -222,7 +243,7 @@ memesh # 대시보드 열기 → 설정 탭
|
|
|
222
243
|
```bash
|
|
223
244
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
224
245
|
cd memesh-llm-memory && npm install && npm run build
|
|
225
|
-
npm test -- --run #
|
|
246
|
+
npm test -- --run # 413 tests
|
|
226
247
|
```
|
|
227
248
|
|
|
228
249
|
대시보드: `cd dashboard && npm install && npm run dev`
|
package/README.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
12
12
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
13
13
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
14
|
-
<a href="https://pypi.org/project/memesh/"><img src="https://img.shields.io/badge/pip-memesh-3b82f6?style=flat-square" alt="PyPI" /></a>
|
|
15
14
|
</p>
|
|
16
15
|
</p>
|
|
17
16
|
|
|
@@ -59,7 +58,11 @@ memesh
|
|
|
59
58
|
</p>
|
|
60
59
|
|
|
61
60
|
<p align="center">
|
|
62
|
-
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics —
|
|
61
|
+
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — health score, timeline, patterns, knowledge coverage" width="100%" />
|
|
62
|
+
</p>
|
|
63
|
+
|
|
64
|
+
<p align="center">
|
|
65
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — interactive knowledge graph with type filters and ego mode" width="100%" />
|
|
63
66
|
</p>
|
|
64
67
|
|
|
65
68
|
---
|
|
@@ -90,13 +93,12 @@ MCP protocol (auto-configured)
|
|
|
90
93
|
</td>
|
|
91
94
|
<td width="33%" align="center">
|
|
92
95
|
|
|
93
|
-
**
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
m.recall("auth")
|
|
96
|
+
**Any HTTP Client**
|
|
97
|
+
```bash
|
|
98
|
+
curl localhost:3737/v1/recall \
|
|
99
|
+
-d '{"query":"auth"}'
|
|
98
100
|
```
|
|
99
|
-
`
|
|
101
|
+
`memesh serve` (REST API)
|
|
100
102
|
|
|
101
103
|
</td>
|
|
102
104
|
<td width="33%" align="center">
|
|
@@ -122,7 +124,7 @@ Paste tools into any API call
|
|
|
122
124
|
| **Setup** | `npm i -g` — done | Neo4j + VectorDB + API keys | Neo4j + config |
|
|
123
125
|
| **Storage** | Single SQLite file | Neo4j + Qdrant | Neo4j |
|
|
124
126
|
| **Works offline** | Yes, always | No | No |
|
|
125
|
-
| **Dashboard** | Built-in (
|
|
127
|
+
| **Dashboard** | Built-in (7 tabs + analytics) | None | None |
|
|
126
128
|
| **Dependencies** | 6 | 20+ | 10+ |
|
|
127
129
|
| **Price** | Free forever | Free tier / Paid | Free tier / Paid |
|
|
128
130
|
|
|
@@ -136,15 +138,31 @@ You don't need to manually remember everything. MeMesh has **4 hooks** that capt
|
|
|
136
138
|
|
|
137
139
|
| When | What MeMesh does |
|
|
138
140
|
|------|------------------|
|
|
139
|
-
| **Every session start** | Loads your most relevant memories
|
|
141
|
+
| **Every session start** | Loads your most relevant memories + proactive warnings from past lessons |
|
|
140
142
|
| **After every `git commit`** | Records what you changed, with diff stats |
|
|
141
|
-
| **When Claude stops** | Captures files edited, errors fixed, and
|
|
143
|
+
| **When Claude stops** | Captures files edited, errors fixed, and auto-generates structured lessons from failures |
|
|
142
144
|
| **Before context compaction** | Saves knowledge before it's lost to context limits |
|
|
143
145
|
|
|
144
146
|
> **Opt out anytime:** `export MEMESH_AUTO_CAPTURE=false`
|
|
145
147
|
|
|
146
148
|
---
|
|
147
149
|
|
|
150
|
+
## Dashboard
|
|
151
|
+
|
|
152
|
+
7 tabs, 11 languages, zero external dependencies. Access at `http://localhost:3737/dashboard` when the server is running.
|
|
153
|
+
|
|
154
|
+
| Tab | What you see |
|
|
155
|
+
|-----|-------------|
|
|
156
|
+
| **Search** | Full-text + vector similarity search across all memories |
|
|
157
|
+
| **Browse** | Paginated list of all entities with archive/restore |
|
|
158
|
+
| **Analytics** | Memory Health Score (0-100), 30-day timeline, value metrics, knowledge coverage, cleanup suggestions, your work patterns |
|
|
159
|
+
| **Graph** | Interactive force-directed knowledge graph with type filters, search, ego mode, recency heatmap |
|
|
160
|
+
| **Lessons** | Structured lessons from past failures (error, root cause, fix, prevention) |
|
|
161
|
+
| **Manage** | Archive and restore entities |
|
|
162
|
+
| **Settings** | LLM provider config, language selector |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
148
166
|
## Smart Features
|
|
149
167
|
|
|
150
168
|
**🧠 Smart Search** — Search "login security" and find memories about "OAuth PKCE". MeMesh expands queries with related terms using your configured LLM.
|
|
@@ -159,6 +177,19 @@ You don't need to manually remember everything. MeMesh has **4 hooks** that capt
|
|
|
159
177
|
|
|
160
178
|
---
|
|
161
179
|
|
|
180
|
+
## Real-World Usage
|
|
181
|
+
|
|
182
|
+
> "MeMesh remembered that we chose PKCE over implicit flow three weeks ago. When I asked Claude about auth again, it already knew — no re-explaining needed."
|
|
183
|
+
> — **Solo developer, building a SaaS**
|
|
184
|
+
|
|
185
|
+
> "We export our team's memory every Friday and import it Monday. Everyone's Claude starts the week knowing what the team learned last week."
|
|
186
|
+
> — **3-person startup, shared knowledge base**
|
|
187
|
+
|
|
188
|
+
> "The dashboard showed me that 90% of my memories were auto-generated session logs. I started using `remember` deliberately for architecture decisions. Game changer."
|
|
189
|
+
> — **Developer who discovered the Analytics tab**
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
162
193
|
## Unlock Smart Mode (Optional)
|
|
163
194
|
|
|
164
195
|
MeMesh works fully offline out of the box. Add an LLM API key to unlock smarter search:
|
|
@@ -183,7 +214,7 @@ memesh # opens dashboard → Settings tab
|
|
|
183
214
|
|
|
184
215
|
---
|
|
185
216
|
|
|
186
|
-
## All
|
|
217
|
+
## All 8 Memory Tools
|
|
187
218
|
|
|
188
219
|
| Tool | What it does |
|
|
189
220
|
|------|-------------|
|
|
@@ -193,6 +224,8 @@ memesh # opens dashboard → Settings tab
|
|
|
193
224
|
| `consolidate` | LLM-powered compression of verbose memories |
|
|
194
225
|
| `export` | Share memories as JSON between projects or team members |
|
|
195
226
|
| `import` | Import memories with merge strategies (skip / overwrite / append) |
|
|
227
|
+
| `learn` | Record structured lessons from mistakes (error, root cause, fix, prevention) |
|
|
228
|
+
| `user_patterns` | Analyze your work patterns — schedule, tools, strengths, learning areas |
|
|
196
229
|
|
|
197
230
|
---
|
|
198
231
|
|
|
@@ -201,7 +234,7 @@ memesh # opens dashboard → Settings tab
|
|
|
201
234
|
```
|
|
202
235
|
┌─────────────────┐
|
|
203
236
|
│ Core Engine │
|
|
204
|
-
│ (
|
|
237
|
+
│ (8 operations) │
|
|
205
238
|
└────────┬────────┘
|
|
206
239
|
┌─────────────────┼─────────────────┐
|
|
207
240
|
│ │ │
|
|
@@ -222,7 +255,7 @@ Core is framework-agnostic. Same logic runs from terminal, HTTP, or MCP.
|
|
|
222
255
|
```bash
|
|
223
256
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
224
257
|
cd memesh-llm-memory && npm install && npm run build
|
|
225
|
-
npm test -- --run #
|
|
258
|
+
npm test -- --run # 413 tests
|
|
226
259
|
```
|
|
227
260
|
|
|
228
261
|
Dashboard: `cd dashboard && npm install && npm run dev`
|