@pcircle/memesh 4.0.3 → 4.1.1
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 +227 -53
- package/README.es.md +230 -56
- package/README.fr.md +230 -56
- package/README.ja.md +229 -55
- package/README.ko.md +230 -56
- package/README.md +54 -3
- package/README.pt.md +230 -56
- package/README.th.md +230 -56
- package/README.vi.md +228 -54
- package/README.zh-CN.md +230 -56
- package/README.zh-TW.md +228 -54
- package/dashboard/dist/index.html +3 -3
- package/dist/core/analytics.d.ts +53 -0
- package/dist/core/analytics.d.ts.map +1 -0
- package/dist/core/analytics.js +127 -0
- package/dist/core/analytics.js.map +1 -0
- package/dist/core/auto-tagger.d.ts.map +1 -1
- package/dist/core/auto-tagger.js +14 -54
- package/dist/core/auto-tagger.js.map +1 -1
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +6 -10
- package/dist/core/config.js.map +1 -1
- package/dist/core/consolidator.d.ts.map +1 -1
- package/dist/core/consolidator.js +11 -61
- package/dist/core/consolidator.js.map +1 -1
- package/dist/core/doctor.d.ts +40 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +264 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/failure-analyzer.d.ts +2 -1
- package/dist/core/failure-analyzer.d.ts.map +1 -1
- package/dist/core/failure-analyzer.js +14 -47
- package/dist/core/failure-analyzer.js.map +1 -1
- package/dist/core/graph.d.ts +13 -0
- package/dist/core/graph.d.ts.map +1 -0
- package/dist/core/graph.js +13 -0
- package/dist/core/graph.js.map +1 -0
- package/dist/core/lesson-engine.d.ts +2 -1
- package/dist/core/lesson-engine.d.ts.map +1 -1
- package/dist/core/lesson-engine.js +2 -0
- package/dist/core/lesson-engine.js.map +1 -1
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +2 -1
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/llm-client.d.ts +6 -0
- package/dist/core/llm-client.d.ts.map +1 -0
- package/dist/core/llm-client.js +64 -0
- package/dist/core/llm-client.js.map +1 -0
- package/dist/core/operations.d.ts +0 -1
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +40 -61
- package/dist/core/operations.js.map +1 -1
- package/dist/core/prompt-safety.d.ts +3 -0
- package/dist/core/prompt-safety.d.ts.map +1 -0
- package/dist/core/prompt-safety.js +13 -0
- package/dist/core/prompt-safety.js.map +1 -0
- package/dist/core/query-expander.d.ts.map +1 -1
- package/dist/core/query-expander.js +11 -72
- package/dist/core/query-expander.js.map +1 -1
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +72 -0
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/skill-usage-log.d.ts +11 -0
- package/dist/core/skill-usage-log.d.ts.map +1 -0
- package/dist/core/skill-usage-log.js +125 -0
- package/dist/core/skill-usage-log.js.map +1 -0
- package/dist/core/stats.d.ts +12 -0
- package/dist/core/stats.d.ts.map +1 -0
- package/dist/core/stats.js +19 -0
- package/dist/core/stats.js.map +1 -0
- package/dist/core/types.d.ts +9 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/verifier.d.ts +37 -0
- package/dist/core/verifier.d.ts.map +1 -0
- package/dist/core/verifier.js +195 -0
- package/dist/core/verifier.js.map +1 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +14 -0
- package/dist/db.js.map +1 -1
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +8 -43
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/skills-manifest.json +71 -0
- package/dist/storage/conflicts.d.ts +4 -0
- package/dist/storage/conflicts.d.ts.map +1 -0
- package/dist/storage/conflicts.js +32 -0
- package/dist/storage/conflicts.js.map +1 -0
- package/dist/storage/fts-index.d.ts +4 -0
- package/dist/storage/fts-index.d.ts.map +1 -0
- package/dist/storage/fts-index.js +18 -0
- package/dist/storage/fts-index.js.map +1 -0
- package/dist/transports/cli/cli.js +203 -69
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/server.d.ts +1 -0
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +138 -231
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +93 -0
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +51 -1
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +28 -0
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +25 -0
- package/dist/transports/schemas.js.map +1 -1
- package/hooks/hooks.json +10 -0
- package/package.json +5 -3
- package/plugin.json +1 -1
- package/scripts/hooks/_shared.js +207 -1
- package/scripts/hooks/post-commit.js +5 -76
- package/scripts/hooks/pre-bash-orchestration-nudge.js +150 -0
- package/scripts/hooks/pre-compact.js +8 -76
- package/scripts/hooks/pre-edit-recall.js +0 -0
- package/scripts/hooks/session-start.js +69 -8
- package/scripts/hooks/session-summary.js +12 -81
- package/skills/agentic-orchestration/SKILL.md +399 -0
package/README.ko.md
CHANGED
|
@@ -1,110 +1,284 @@
|
|
|
1
|
+
<!-- translated from README.md @ ab9d25f8d9cb7c78c4cc271717709e2efb4bac76 -->
|
|
2
|
+
<!-- DO NOT edit this file by hand. The maintainer regenerates it from README.md via a private toolkit script (see internal docs). Manual edits will be overwritten on next sync. -->
|
|
3
|
+
|
|
1
4
|
🌐 [English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [Português](README.pt.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Tiếng Việt](README.vi.md) | [Español](README.es.md) | [ภาษาไทย](README.th.md)
|
|
2
5
|
|
|
3
6
|
<p align="center">
|
|
4
7
|
<h1 align="center">MeMesh LLM Memory</h1>
|
|
5
8
|
<p align="center">
|
|
6
|
-
<strong>Claude Code와 MCP
|
|
7
|
-
SQLite 파일 하나. Docker
|
|
9
|
+
<strong>Claude Code와 MCP 코딩 에이전트를 위한 로컬 메모리.</strong><br />
|
|
10
|
+
SQLite 파일 하나. Docker 없음. 클라우드 필수 아님.
|
|
11
|
+
</p>
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
14
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
15
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
16
|
+
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
8
17
|
</p>
|
|
9
18
|
</p>
|
|
10
19
|
|
|
11
|
-
|
|
20
|
+
---
|
|
12
21
|
|
|
13
|
-
##
|
|
22
|
+
## 문제점
|
|
14
23
|
|
|
15
|
-
|
|
24
|
+
코딩 에이전트는 세션이 끝나면 모든 것을 잊어버립니다. 아키텍처 결정, 버그 수정, 실패한 테스트, 힘들게 얻은 교훈 — 매번 다시 설명해야 합니다. Claude Code는 매번 새로 시작하고, 이미 알아야 할 제약 조건을 다시 발견하며, 불필요하게 컨텍스트를 소비합니다.
|
|
16
25
|
|
|
17
|
-
**MeMesh는
|
|
26
|
+
**MeMesh는 코딩 에이전트에게 영구적이고 검색 가능하며 진화하는 로컬 메모리를 제공합니다.**
|
|
18
27
|
|
|
19
|
-
이
|
|
28
|
+
이 패키지는 MeMesh 제품군의 로컬 메모리 레이어입니다. 의도적으로 작고 오픈소스입니다: npm으로 설치하고, 메모리는 `~/.memesh/knowledge-graph.db`에 보관하며, Claude Code 또는 MCP 호환 클라이언트와 연결합니다. 호스팅 워크스페이스와 엔터프라이즈 OS 제품은 이 패키지의 README와 로드맵과 별개로 유지됩니다.
|
|
20
29
|
|
|
21
|
-
|
|
30
|
+
---
|
|
22
31
|
|
|
23
|
-
|
|
32
|
+
## 60초 안에 시작하기
|
|
33
|
+
|
|
34
|
+
### 1단계: 설치
|
|
24
35
|
|
|
25
36
|
```bash
|
|
26
37
|
npm install -g @pcircle/memesh
|
|
27
38
|
```
|
|
28
39
|
|
|
29
|
-
### 2
|
|
40
|
+
### 2단계: 의사결정 저장
|
|
30
41
|
|
|
31
42
|
```bash
|
|
32
43
|
memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
|
|
33
44
|
```
|
|
34
45
|
|
|
35
|
-
### 3
|
|
46
|
+
### 3단계: 나중에 회상
|
|
36
47
|
|
|
37
48
|
```bash
|
|
38
49
|
memesh recall "login security"
|
|
39
|
-
# →
|
|
50
|
+
# → 다른 단어를 검색했어도 "OAuth 2.0 with PKCE"를 찾습니다
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**이게 전부입니다.** MeMesh가 이제 세션 간에 기억하고 회상합니다.
|
|
54
|
+
|
|
55
|
+
설치와 로컬 연결을 확인하려면:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
memesh doctor
|
|
40
59
|
```
|
|
41
60
|
|
|
42
|
-
|
|
61
|
+
대시보드를 열어서 메모리를 탐색합니다:
|
|
43
62
|
|
|
44
63
|
```bash
|
|
45
64
|
memesh
|
|
46
65
|
```
|
|
47
66
|
|
|
48
|
-
|
|
67
|
+
<p align="center">
|
|
68
|
+
<img src="docs/images/dashboard-search.png" alt="MeMesh Search — 모든 메모리를 즉시 찾습니다" width="100%" />
|
|
69
|
+
</p>
|
|
70
|
+
|
|
71
|
+
<p align="center">
|
|
72
|
+
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — 건강 점수, 타임라인, 패턴, 지식 커버리지" width="100%" />
|
|
73
|
+
</p>
|
|
74
|
+
|
|
75
|
+
<p align="center">
|
|
76
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — 타입 필터와 에고 모드가 있는 인터랙티브 지식 그래프" width="100%" />
|
|
77
|
+
</p>
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 누가 사용할까요?
|
|
82
|
+
|
|
83
|
+
| 이런 개발자라면 | MeMesh가 도와줍니다 |
|
|
84
|
+
|---|---|
|
|
85
|
+
| **Claude Code를 사용 중** | 프로젝트 결정, 파일별 교훈, 과거 실패를 작업 중에 자동으로 회상 |
|
|
86
|
+
| **코딩 에이전트 파워 유저** | MCP 호환 도구 전체에서 하나의 로컬 메모리 레이어 공유 |
|
|
87
|
+
| **팀이 AI 코딩 워크플로우 실험 중** | 호스팅 인프라 도입 없이 프로젝트 지식 내보내기/가져오기 |
|
|
88
|
+
| **에이전트 개발자** | MCP, HTTP, CLI, Python SDK를 통해 로컬 메모리 추가 |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 코딩 에이전트를 우선으로 설계
|
|
93
|
+
|
|
94
|
+
<table>
|
|
95
|
+
<tr>
|
|
96
|
+
<td width="33%" align="center">
|
|
97
|
+
|
|
98
|
+
**Claude Code / Desktop**
|
|
99
|
+
```bash
|
|
100
|
+
memesh-mcp
|
|
101
|
+
```
|
|
102
|
+
MCP 도구 + Claude Code 훅
|
|
103
|
+
|
|
104
|
+
</td>
|
|
105
|
+
<td width="33%" align="center">
|
|
106
|
+
|
|
107
|
+
**모든 HTTP 클라이언트**
|
|
108
|
+
```bash
|
|
109
|
+
curl localhost:3737/v1/recall \
|
|
110
|
+
-H "Content-Type: application/json" \
|
|
111
|
+
-d '{"query":"auth"}'
|
|
112
|
+
```
|
|
113
|
+
`memesh serve` (REST API)
|
|
114
|
+
|
|
115
|
+
</td>
|
|
116
|
+
<td width="33%" align="center">
|
|
117
|
+
|
|
118
|
+
**모든 LLM (OpenAI 형식)**
|
|
119
|
+
```bash
|
|
120
|
+
memesh export-schema \
|
|
121
|
+
--format openai
|
|
122
|
+
```
|
|
123
|
+
모든 API 호출에 도구 붙여넣기
|
|
124
|
+
|
|
125
|
+
</td>
|
|
126
|
+
</tr>
|
|
127
|
+
</table>
|
|
128
|
+
|
|
129
|
+
---
|
|
49
130
|
|
|
50
|
-
|
|
51
|
-
- 같은 로컬 메모리를 여러 MCP coding agents에서 함께 쓰고 싶은 고급 사용자
|
|
52
|
-
- export / import로 팀 지식을 공유하려는 소규모 AI-native 개발팀
|
|
53
|
-
- CLI, HTTP, MCP 흐름에 로컬 메모리를 붙이고 싶은 agent 개발자
|
|
131
|
+
## OpenMemory, Cursor Memories, Mem0, Zep와는 왜 다를까요?
|
|
54
132
|
|
|
55
|
-
|
|
133
|
+
| | **MeMesh** | OpenMemory | Cursor Memories | Mem0 | Zep / Graphiti |
|
|
134
|
+
|---|---|---|---|---|---|
|
|
135
|
+
| **최적화 대상** | 코딩 에이전트 로컬 메모리 | 로컬/크로스 클라이언트 MCP 메모리 | Cursor 네이티브 프로젝트 메모리 | 관리형 앱/에이전트 메모리 | 시계열 지식 그래프 |
|
|
136
|
+
| **설치 방식** | `npm install -g @pcircle/memesh` | 로컬 앱/서버 흐름 | Cursor 내장 | 클라우드 API / SDK / MCP | 서비스/프레임워크 구성 |
|
|
137
|
+
| **저장소** | 로컬 SQLite 파일 하나 | 로컬 메모리 스택 | Cursor 관리 규칙/메모리 | 호스팅 또는 셀프 호스팅 스택 | 그래프 데이터베이스 |
|
|
138
|
+
| **클라우드 필수** | 아니오 | 로컬 모드는 아니오 | Cursor 계정/설정에 따라 | 플랫폼을 위해서 필수 | 보통 필수/셀프 호스팅 |
|
|
139
|
+
| **Claude Code 훅** | 1순위 | MCP 도구 | 없음 | MCP 도구 | Claude Code 특화 아님 |
|
|
140
|
+
| **대시보드** | 내장 | 내장 | Cursor 설정 | 플랫폼 대시보드 | 플랫폼/그래프 도구 |
|
|
141
|
+
| **트레이드오프** | 간단한 로컬 솔루션, 엔터프라이즈 규모 아님 | 더 넓은 로컬 앱 풋프린트 | Cursor에 종속 | 강력한 관리형 플랫폼, 로컬 우선 아님 | 강력한 그래프 모델, 복잡한 구성 |
|
|
56
142
|
|
|
57
|
-
|
|
58
|
-
- 가벼운 설치: `npm install -g` 후 바로 사용 가능
|
|
59
|
-
- 연결 방식이 명확함: CLI, HTTP, MCP 지원
|
|
60
|
-
- Claude Code 친화적: hooks로 작업 중 관련 메모리를 쉽게 불러옴
|
|
61
|
-
- 확인과 정리가 쉬움: dashboard가 있어 블랙박스가 아님
|
|
62
|
-
- import 안전 경계: import한 메모리는 검색되더라도, 검토하거나 다시 저장하기 전에는 Claude hooks에 자동 주입되지 않음
|
|
143
|
+
**MeMesh는 엔터프라이즈급 관리 인프라를 포기하고 즉각적인 로컬 구성, 검사 가능한 저장소, 코딩 에이전트 워크플로우 훅을 얻습니다.**
|
|
63
144
|
|
|
64
|
-
|
|
145
|
+
---
|
|
65
146
|
|
|
66
|
-
|
|
147
|
+
## Claude Code에서 자동으로 일어나는 일
|
|
67
148
|
|
|
68
|
-
|
|
69
|
-
- 파일 편집 전에 그 파일이나 프로젝트와 관련된 메모리를 먼저 찾음
|
|
70
|
-
- `git commit` 후 변경 내용을 기록함
|
|
71
|
-
- 세션 종료 시 이번 수정, 오류, lesson learned를 정리함
|
|
72
|
-
- context compact 전에 중요한 내용을 로컬 메모리에 저장함
|
|
149
|
+
모든 것을 수동으로 기억할 필요는 없습니다. MeMesh는 작업 중에 지식을 캡처하고 주입하는 **6가지 훅**이 있습니다:
|
|
73
150
|
|
|
74
|
-
|
|
151
|
+
| 시점 | MeMesh가 수행하는 작업 |
|
|
152
|
+
|------|---|
|
|
153
|
+
| **매 세션 시작** | 가장 관련 있는 메모리 + 과거 교훈의 사전 경고 + 에이전트 오케스트레이션 배너 로드 |
|
|
154
|
+
| **파일 편집 전** | Claude가 코드를 작성하기 전에 파일 또는 프로젝트와 연결된 메모리 회상 |
|
|
155
|
+
| **Bash 명령 전** | Claude가 높은 검증 가능성의 명령어(테스트, 빌드, 린트, 마이그레이션, 배포, 벤치마크)를 백그라운드 에이전트로 실행하도록 유도 |
|
|
156
|
+
| **모든 `git commit` 후** | 변경 사항을 diff 통계와 함께 기록 |
|
|
157
|
+
| **Claude가 멈출 때** | 편집된 파일, 수정된 에러, 실패로부터 자동 생성된 구조화된 교훈 캡처 |
|
|
158
|
+
| **컨텍스트 압축 전** | 컨텍스트 제한으로 손실되기 전에 지식 저장 |
|
|
75
159
|
|
|
76
|
-
|
|
160
|
+
> **언제든 해제 가능:** `export MEMESH_AUTO_CAPTURE=false`
|
|
77
161
|
|
|
78
|
-
|
|
79
|
-
- Browse: 전체 메모리 보기
|
|
80
|
-
- Analytics: 건강도와 추세 확인
|
|
81
|
-
- Graph: 지식 관계 보기
|
|
82
|
-
- Lessons: 과거 교훈 보기
|
|
83
|
-
- Manage: 아카이브와 복원
|
|
84
|
-
- Settings: LLM provider와 언어 설정
|
|
162
|
+
---
|
|
85
163
|
|
|
86
|
-
##
|
|
164
|
+
## 대시보드
|
|
87
165
|
|
|
88
|
-
|
|
166
|
+
7개 탭, 11개 언어, 외부 의존성 없음. 서버 실행 중 `http://localhost:3737/dashboard`에서 접근합니다.
|
|
89
167
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
168
|
+
| 탭 | 내용 |
|
|
169
|
+
|------|---|
|
|
170
|
+
| **Search** | 모든 메모리에 걸친 전체 텍스트 + 벡터 유사성 검색 |
|
|
171
|
+
| **Browse** | 보관 및 복구 옵션이 있는 모든 엔티티 페이지 리스트 |
|
|
172
|
+
| **Analytics** | 메모리 건강 점수(0-100), 30일 타임라인, 가치 지표, 지식 커버리지, 정리 제안, 작업 패턴 |
|
|
173
|
+
| **Graph** | 타입 필터, 검색, 에고 모드, 최근성 히트맵이 있는 인터랙티브 포스 디렉션 지식 그래프 |
|
|
174
|
+
| **Lessons** | 과거 실패로부터 구조화된 교훈(에러, 근본 원인, 수정, 예방) |
|
|
175
|
+
| **Manage** | 엔티티 보관 및 복구 |
|
|
176
|
+
| **Settings** | LLM 프로바이더 설정, 즉시 언어 선택기 |
|
|
93
177
|
|
|
94
|
-
|
|
178
|
+
---
|
|
95
179
|
|
|
96
|
-
##
|
|
180
|
+
## 스마트 기능
|
|
97
181
|
|
|
98
|
-
|
|
99
|
-
- 플랫폼별 안내: [docs/platforms/README.md](docs/platforms/README.md)
|
|
100
|
-
- API 참고: [docs/api/API_REFERENCE.md](docs/api/API_REFERENCE.md)
|
|
182
|
+
**🧠 스마트 검색** — "login security"를 검색하면 "OAuth PKCE"에 관한 메모리를 찾습니다. MeMesh는 설정된 LLM으로 쿼리를 관련 용어로 확장합니다.
|
|
101
183
|
|
|
102
|
-
|
|
184
|
+
**📊 점수 순위 매김** — 결과는 관련성(30%) + 최근성(25%) + 빈도(15%) + 신뢰도(15%) + 회상 영향(10%) + 시계열 유효성(5%)으로 순위 매겨집니다.
|
|
185
|
+
|
|
186
|
+
**🔄 지식 진화** — 결정은 변합니다. `forget`으로 오래된 메모리 보관(절대 삭제 안 함). `supersedes` 관계가 구 → 신 을 연결합니다. AI는 항상 최신 버전을 봅니다.
|
|
187
|
+
|
|
188
|
+
**⚠️ 충돌 감지** — 서로 모순되는 메모리 두 개가 있으면 MeMesh가 경고합니다.
|
|
189
|
+
|
|
190
|
+
**📦 팀 공유** — `memesh export > team-knowledge.json` → 팀과 공유 → `memesh import team-knowledge.json`
|
|
191
|
+
임포트된 번들은 계속 검색 가능하지만, MeMesh는 검토하거나 로컬에 다시 저장할 때까지 Claude 훅에 임포트된 메모리를 자동 주입하지 않습니다.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 사용 예시
|
|
196
|
+
|
|
197
|
+
> "MeMesh가 3주 전에 암시적 흐름보다 PKCE를 선택했다는 것을 기억했습니다. 다시 인증에 대해 Claude에게 물었을 때, 이미 알고 있었습니다 — 설명할 필요 없었습니다."
|
|
198
|
+
> — **SaaS를 만드는 개별 개발자**
|
|
199
|
+
|
|
200
|
+
> "매주 금요일 팀 메모리를 내보내고 월요일에 임포트합니다. 모든 Claude가 주간 시작 시 팀이 지난주에 배운 것을 알고 시작합니다."
|
|
201
|
+
> — **3명 스타트업, 공유 지식베이스**
|
|
202
|
+
|
|
203
|
+
> "대시보드를 보니 메모리의 90%가 자동 생성된 세션 로그였습니다. `remember`를 의식적으로 사용해서 아키텍처 결정을 저장하기 시작했습니다. 정말 바뀌었습니다."
|
|
204
|
+
> — **Analytics 탭을 발견한 개발자**
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 스마트 모드 언잠금 (선택)
|
|
209
|
+
|
|
210
|
+
MeMesh는 기본적으로 오프라인에서 작동합니다. 쿼리 확장, 더 스마트한 추출, 압축을 원할 때만 LLM API 키를 추가합니다:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
memesh config set llm.provider anthropic
|
|
214
|
+
memesh config set llm.api-key sk-ant-...
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
또는 대시보드 Settings 탭 사용 (비주얼 설정):
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
memesh # 대시보드 열기 → Settings 탭
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
| | Level 0 (기본) | Level 1 (스마트 모드) |
|
|
224
|
+
|---|---|---|
|
|
225
|
+
| **검색** | FTS5 키워드 매칭 | + LLM 쿼리 확장 (~97% 회상율) |
|
|
226
|
+
| **자동 캡처** | 규칙 기반 패턴 | + LLM이 결정과 교훈 추출 |
|
|
227
|
+
| **압축** | 사용 불가 | `consolidate`로 장황한 메모리 압축 |
|
|
228
|
+
| **비용** | 무료, API 키 불필요 | ~$0.0001 검색당 (Haiku) |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 9가지 메모리 도구 전체
|
|
233
|
+
|
|
234
|
+
| 도구 | 역할 |
|
|
235
|
+
|---|---|
|
|
236
|
+
| `remember` | 관찰, 관계, 태그를 포함한 지식 저장 |
|
|
237
|
+
| `recall` | 다중 요소 점수 매김과 LLM 쿼리 확장이 있는 스마트 검색 |
|
|
238
|
+
| `forget` | 소프트 보관(절대 삭제 안 함) 또는 특정 관찰 제거 |
|
|
239
|
+
| `consolidate` | LLM 기반 장황한 메모리 압축 |
|
|
240
|
+
| `export` | 프로젝트나 팀 멤버 간 메모리 JSON 공유 |
|
|
241
|
+
| `import` | 병합 전략(스킵/덮어쓰기/추가)이 있는 메모리 임포트 |
|
|
242
|
+
| `learn` | 실수로부터 구조화된 교훈 기록(에러, 근본 원인, 수정, 예방) |
|
|
243
|
+
| `user_patterns` | 작업 패턴 분석 — 일정, 도구, 강점, 학습 영역 |
|
|
244
|
+
| `verify_agent_work` | 백그라운드 에이전트 작업에 대한 검증 보고서 유지; 청구된 파일 변경사항을 `git diff`와 현실 확인 |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 아키텍처
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
┌─────────────────┐
|
|
252
|
+
│ Core Engine │
|
|
253
|
+
│ (8 operations) │
|
|
254
|
+
└────────┬────────┘
|
|
255
|
+
┌─────────────────┼─────────────────┐
|
|
256
|
+
│ │ │
|
|
257
|
+
CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
|
|
258
|
+
│ │ │
|
|
259
|
+
└─────────────────┼─────────────────┘
|
|
260
|
+
│
|
|
261
|
+
SQLite + FTS5 + sqlite-vec
|
|
262
|
+
(~/.memesh/knowledge-graph.db)
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
코어는 프레임워크에 구애받지 않습니다. 같은 로직이 터미널, HTTP, MCP에서 실행됩니다.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 기여하기
|
|
103
270
|
|
|
104
271
|
```bash
|
|
105
272
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
106
|
-
cd memesh-llm-memory
|
|
107
|
-
npm
|
|
108
|
-
npm run
|
|
109
|
-
npm test
|
|
273
|
+
cd memesh-llm-memory && npm install && npm run build
|
|
274
|
+
npm test # 489 tests
|
|
275
|
+
npm run test:e2e-dashboard
|
|
110
276
|
```
|
|
277
|
+
|
|
278
|
+
대시보드: `cd dashboard && npm install && npm run dev`
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
<p align="center">
|
|
283
|
+
<strong>MIT</strong> — Made by <a href="https://pcircle.ai">PCIRCLE AI</a>
|
|
284
|
+
</p>
|
package/README.md
CHANGED
|
@@ -26,6 +26,22 @@ This package is the local memory layer of the MeMesh product family. It is inten
|
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
+
## Proof — 95.40% R@5 on LongMemEval-S
|
|
30
|
+
|
|
31
|
+
MeMesh's retrieval engine is **FTS5 alone** (no LLM, no embeddings on the hot path), measured against the public [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) benchmark (500 questions, MIT-licensed):
|
|
32
|
+
|
|
33
|
+
| System | R@5 | Source |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| **MeMesh (Mode A, FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
36
|
+
| MemPalace | 96.6% | Vendor self-report |
|
|
37
|
+
| Supermemory | ~82% | Vendor estimate |
|
|
38
|
+
| Zep | 63.8% | LongMemEval paper |
|
|
39
|
+
| Mem0 | 49.0% | LongMemEval paper |
|
|
40
|
+
|
|
41
|
+
Reproduction commands, dataset SHA256, raw per-question results, and known-failure analysis are all in [`benchmarks/longmemeval/`](benchmarks/longmemeval/). Re-runnable in ~10 seconds.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
29
45
|
## Get Started in 60 Seconds
|
|
30
46
|
|
|
31
47
|
### Step 1: Install
|
|
@@ -34,8 +50,18 @@ This package is the local memory layer of the MeMesh product family. It is inten
|
|
|
34
50
|
npm install -g @pcircle/memesh
|
|
35
51
|
```
|
|
36
52
|
|
|
53
|
+
> **First-install notes (one-time):**
|
|
54
|
+
> - **Native modules** — `better-sqlite3` and `sqlite-vec` install via prebuilt binaries on macOS (arm64/x64), Linux (x64/arm64), and Windows x64. On uncommon platforms or when prebuilds fail, you'll need a working C/C++ toolchain.
|
|
55
|
+
> - **Embedding model** — the first call that triggers a local embedding (e.g. `recall` with semantic mode) downloads `Xenova/all-MiniLM-L6-v2` (~80 MB) into `~/.memesh/models/`. Subsequent calls are instant. The default retrieval path (FTS5) does not require this download.
|
|
56
|
+
|
|
37
57
|
### Step 2: Store a decision
|
|
38
58
|
|
|
59
|
+
```bash
|
|
60
|
+
memesh remember "Use OAuth 2.0 with PKCE for the new auth"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Or use the explicit form when you want a stable name and type for later filtering:
|
|
64
|
+
|
|
39
65
|
```bash
|
|
40
66
|
memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
|
|
41
67
|
```
|
|
@@ -49,6 +75,12 @@ memesh recall "login security"
|
|
|
49
75
|
|
|
50
76
|
**That's it.** MeMesh is now remembering and recalling across sessions.
|
|
51
77
|
|
|
78
|
+
If you want to verify the install and local wiring end to end:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
memesh doctor
|
|
82
|
+
```
|
|
83
|
+
|
|
52
84
|
Open the dashboard to explore your memory:
|
|
53
85
|
|
|
54
86
|
```bash
|
|
@@ -137,12 +169,13 @@ Paste tools into any API call
|
|
|
137
169
|
|
|
138
170
|
## What Happens Automatically In Claude Code
|
|
139
171
|
|
|
140
|
-
You don't need to manually remember everything. MeMesh has **
|
|
172
|
+
You don't need to manually remember everything. MeMesh has **6 hooks** that capture and inject knowledge while you work:
|
|
141
173
|
|
|
142
174
|
| When | What MeMesh does |
|
|
143
175
|
|------|------------------|
|
|
144
176
|
| **Every session start** | Loads your most relevant memories + proactive warnings from past lessons |
|
|
145
177
|
| **Before editing files** | Recalls memories tied to the file or project before Claude writes code |
|
|
178
|
+
| **Before bash commands** | (Opt-in) Nudges Claude to dispatch high-verifiability commands (test, build, lint, migrate, deploy, benchmark) as background agents |
|
|
146
179
|
| **After every `git commit`** | Records what you changed, with diff stats |
|
|
147
180
|
| **When Claude stops** | Captures files edited, errors fixed, and auto-generates structured lessons from failures |
|
|
148
181
|
| **Before context compaction** | Saves knowledge before it's lost to context limits |
|
|
@@ -151,6 +184,23 @@ You don't need to manually remember everything. MeMesh has **5 hooks** that capt
|
|
|
151
184
|
|
|
152
185
|
---
|
|
153
186
|
|
|
187
|
+
## Configuration
|
|
188
|
+
|
|
189
|
+
All configuration is via environment variables. Defaults are local-only and zero-network — you don't need to set anything to get a working system.
|
|
190
|
+
|
|
191
|
+
| Variable | Default | What it does |
|
|
192
|
+
|---|---|---|
|
|
193
|
+
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Override the SQLite database location. |
|
|
194
|
+
| `MEMESH_AUTO_CAPTURE` | `true` | Disable the auto-capture hooks (`Stop`, `PreCompact`) entirely. |
|
|
195
|
+
| `MEMESH_AUTO_DETECT_LLM` | unset | Set to `1` to let memesh auto-detect a provider from your shell env (`OPENAI_API_KEY` etc.) and switch to BYOK embeddings. **Default fresh-install is local ONNX (384-dim) only** — opt in if you want cloud embeddings. Without this flag set, an `OPENAI_API_KEY` lying around in your shell is ignored. |
|
|
196
|
+
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | unset | Set to `1` to enable an experimental working-model protocol (CTO / Orchestrator / Agents framing). Adds a session-start banner, a Bash command nudge, and `verify_agent_work` telemetry. The protocol's effectiveness is being instrumented, not yet proven — opt in if you want to participate. **Default is OFF**: the core memory features work without this flag. |
|
|
197
|
+
| `OPENAI_API_KEY` | unset | Your OpenAI key. Only used when `MEMESH_AUTO_DETECT_LLM=1` or you explicitly configure the provider. |
|
|
198
|
+
| `OLLAMA_HOST` | `http://localhost:11434` | Override the Ollama endpoint when using a local Ollama provider. |
|
|
199
|
+
|
|
200
|
+
`memesh doctor` prints the resolved configuration so you can see what's active.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
154
204
|
## Dashboard
|
|
155
205
|
|
|
156
206
|
7 tabs, 11 languages, zero external dependencies. Access at `http://localhost:3737/dashboard` when the server is running.
|
|
@@ -219,7 +269,7 @@ memesh # opens dashboard → Settings tab
|
|
|
219
269
|
|
|
220
270
|
---
|
|
221
271
|
|
|
222
|
-
## All
|
|
272
|
+
## All 9 Memory Tools
|
|
223
273
|
|
|
224
274
|
| Tool | What it does |
|
|
225
275
|
|------|-------------|
|
|
@@ -231,6 +281,7 @@ memesh # opens dashboard → Settings tab
|
|
|
231
281
|
| `import` | Import memories with merge strategies (skip / overwrite / append) |
|
|
232
282
|
| `learn` | Record structured lessons from mistakes (error, root cause, fix, prevention) |
|
|
233
283
|
| `user_patterns` | Analyze your work patterns — schedule, tools, strengths, learning areas |
|
|
284
|
+
| `verify_agent_work` | Persist a verification report for background-agent work; reality-checks claimed file changes against `git diff` |
|
|
234
285
|
|
|
235
286
|
---
|
|
236
287
|
|
|
@@ -260,7 +311,7 @@ Core is framework-agnostic. Same logic runs from terminal, HTTP, or MCP.
|
|
|
260
311
|
```bash
|
|
261
312
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
262
313
|
cd memesh-llm-memory && npm install && npm run build
|
|
263
|
-
npm test #
|
|
314
|
+
npm test # 489 tests
|
|
264
315
|
npm run test:e2e-dashboard
|
|
265
316
|
```
|
|
266
317
|
|