@pcircle/memesh 4.1.6 → 4.2.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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.de.md +43 -8
- package/README.es.md +77 -15
- package/README.fr.md +44 -9
- package/README.ja.md +78 -15
- package/README.ko.md +81 -18
- package/README.md +9 -7
- package/README.pt.md +43 -8
- package/README.th.md +41 -6
- package/README.vi.md +43 -8
- package/README.zh-CN.md +78 -15
- package/README.zh-TW.md +107 -44
- package/dashboard/dist/index.html +8 -8
- package/dist/cli/view-live.js +2 -2
- package/dist/cli/view.d.ts.map +1 -1
- package/dist/cli/view.js +8 -11
- package/dist/cli/view.js.map +1 -1
- package/dist/core/auto-tagger.d.ts +7 -2
- package/dist/core/auto-tagger.d.ts.map +1 -1
- package/dist/core/auto-tagger.js +12 -4
- package/dist/core/auto-tagger.js.map +1 -1
- package/dist/core/config.d.ts +2 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +19 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/consolidator.d.ts.map +1 -1
- package/dist/core/consolidator.js +13 -4
- package/dist/core/consolidator.js.map +1 -1
- package/dist/core/digest-validator.d.ts +18 -0
- package/dist/core/digest-validator.d.ts.map +1 -0
- package/dist/core/digest-validator.js +79 -0
- package/dist/core/digest-validator.js.map +1 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +28 -11
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/dreamer.d.ts +8 -1
- package/dist/core/dreamer.d.ts.map +1 -1
- package/dist/core/dreamer.js +68 -14
- package/dist/core/dreamer.js.map +1 -1
- package/dist/core/embedder.d.ts.map +1 -1
- package/dist/core/embedder.js +2 -2
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/extractor.d.ts.map +1 -1
- package/dist/core/extractor.js +2 -1
- package/dist/core/extractor.js.map +1 -1
- package/dist/core/failure-analyzer.d.ts +6 -1
- package/dist/core/failure-analyzer.d.ts.map +1 -1
- package/dist/core/failure-analyzer.js +10 -2
- package/dist/core/failure-analyzer.js.map +1 -1
- package/dist/core/install-hooks.d.ts.map +1 -1
- package/dist/core/install-hooks.js +1 -7
- package/dist/core/install-hooks.js.map +1 -1
- package/dist/core/install-id.d.ts.map +1 -1
- package/dist/core/install-id.js +2 -3
- package/dist/core/install-id.js.map +1 -1
- package/dist/core/kg-backfill.d.ts +30 -0
- package/dist/core/kg-backfill.d.ts.map +1 -0
- package/dist/core/kg-backfill.js +197 -0
- package/dist/core/kg-backfill.js.map +1 -0
- package/dist/core/llm-client.d.ts +13 -0
- package/dist/core/llm-client.d.ts.map +1 -1
- package/dist/core/llm-client.js +63 -3
- package/dist/core/llm-client.js.map +1 -1
- package/dist/core/llm-telemetry.d.ts +35 -0
- package/dist/core/llm-telemetry.d.ts.map +1 -0
- package/dist/core/llm-telemetry.js +96 -0
- package/dist/core/llm-telemetry.js.map +1 -0
- package/dist/core/llm-validator.d.ts.map +1 -1
- package/dist/core/llm-validator.js +3 -3
- package/dist/core/llm-validator.js.map +1 -1
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +4 -35
- package/dist/core/operations.js.map +1 -1
- package/dist/core/paths.d.ts +6 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +27 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/prompt-safety.d.ts.map +1 -1
- package/dist/core/prompt-safety.js.map +1 -1
- package/dist/core/scoring.d.ts +5 -0
- package/dist/core/scoring.d.ts.map +1 -1
- package/dist/core/scoring.js +8 -0
- package/dist/core/scoring.js.map +1 -1
- package/dist/core/serializer.js +1 -1
- package/dist/core/serializer.js.map +1 -1
- package/dist/core/skill-usage-log.js +2 -2
- package/dist/core/skill-usage-log.js.map +1 -1
- package/dist/core/types.d.ts +2 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/verifier.d.ts.map +1 -1
- package/dist/core/verifier.js +4 -4
- package/dist/core/verifier.js.map +1 -1
- package/dist/core/version-check.d.ts.map +1 -1
- package/dist/core/version-check.js +4 -3
- package/dist/core/version-check.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +71 -14
- package/dist/db.js.map +1 -1
- package/dist/knowledge-graph.d.ts +1 -1
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +1 -1
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/skills-manifest.json +16 -16
- package/dist/storage/fts-index.js +1 -1
- package/dist/storage/fts-index.js.map +1 -1
- package/dist/transports/cli/cli.js +118 -6
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +192 -24
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +1 -1
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +1 -1
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/package.json +2 -2
- package/scripts/hooks/_shared.js +177 -14
- package/scripts/hooks/post-commit.js +50 -8
- package/scripts/hooks/pre-bash-orchestration-nudge.js +8 -3
- package/scripts/hooks/pre-compact.js +13 -16
- package/scripts/hooks/pre-edit-recall.js +28 -13
- package/scripts/hooks/session-start.js +194 -184
- package/scripts/hooks/session-summary.js +377 -41
- package/dist/core/query-expander.d.ts +0 -4
- package/dist/core/query-expander.d.ts.map +0 -1
- package/dist/core/query-expander.js +0 -53
- package/dist/core/query-expander.js.map +0 -1
package/README.ko.md
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
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
|
-
|
|
4
1
|
🌐 [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)
|
|
5
2
|
|
|
6
3
|
<p align="center">
|
|
@@ -29,17 +26,52 @@
|
|
|
29
26
|
|
|
30
27
|
---
|
|
31
28
|
|
|
29
|
+
## 검증 — LongMemEval-S에서 R@5 95.40%
|
|
30
|
+
|
|
31
|
+
MeMesh의 검색 엔진은 **FTS5 단독**(핫 패스에 LLM 없음, 임베딩 없음)이며, 공개 [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) 벤치마크(500개 질문, MIT 라이선스)로 측정되었습니다:
|
|
32
|
+
|
|
33
|
+
| 시스템 | R@5 | 출처 |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| **MeMesh (Mode A, FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
36
|
+
| MemPalace | 96.6% | 벤더 자체 보고 |
|
|
37
|
+
| Supermemory | ~82% | 벤더 추정치 |
|
|
38
|
+
| Zep | 63.8% | LongMemEval 논문 |
|
|
39
|
+
| Mem0 | 49.0% | LongMemEval 논문 |
|
|
40
|
+
|
|
41
|
+
재현 명령어, 데이터셋 SHA256, 질문별 원시 결과, 알려진 실패 분석이 모두 [`benchmarks/longmemeval/`](benchmarks/longmemeval/)에 있습니다. 약 10초 내에 재실행 가능합니다.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
32
45
|
## 60초 안에 시작하기
|
|
33
46
|
|
|
34
|
-
###
|
|
47
|
+
### 옵션 A — Claude Code 플러그인 (한 줄 설치)
|
|
48
|
+
|
|
49
|
+
Claude Code를 사용한다면 CLI 안에서 MeMesh를 플러그인으로 설치합니다:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
/plugin marketplace add PCIRCLE-AI/memesh-llm-memory
|
|
53
|
+
/plugin install memesh@pcircle-memesh
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Claude Code가 훅, 스킬, MCP 서버를 자동으로 연결합니다. 세션 내 자동 캡처, 능동적 회상, Claude Code 대화 내 `/memesh` 스킬(remember / recall / learn / forget), 그리고 에이전트가 사용할 수 있는 MCP 도구 `remember` / `recall` / `forget` / `learn`을 모두 얻을 수 있습니다. CLI와 로컬 대시보드도 추가 글로벌 설치 없이 완전히 접근 가능합니다 — `npx @pcircle/memesh <command>`로 모든 CLI 명령을 실행하고, `npx @pcircle/memesh`로 `localhost:3737`의 대시보드를 시작합니다. MCP 서버는 Anthropic 공식 플러그인(예: `context7`)과 동일한 `npx` 기반 실행 패턴을 사용하므로, 어떤 기능도 `npm install -g`가 필요하지 않습니다.
|
|
57
|
+
|
|
58
|
+
### 옵션 B — npm 글로벌 (선택적 최적화)
|
|
59
|
+
|
|
60
|
+
바이너리를 셸 `PATH`에 직접 두고 싶거나(매 호출마다 `npx` 조회 없이 모든 터미널에서 단순 `memesh`, `memesh-mcp` 등이 작동), `memesh-mcp`를 **Claude Code 이외의 MCP 클라이언트**(Cursor, Cline, 터미널 전용 워크플로우)에 고정 경로 stdio 명령으로 노출하고 싶다면:
|
|
35
61
|
|
|
36
62
|
```bash
|
|
37
63
|
npm install -g @pcircle/memesh
|
|
38
64
|
```
|
|
39
65
|
|
|
40
|
-
|
|
66
|
+
> **첫 설치 안내(일회성):**
|
|
67
|
+
> - **네이티브 모듈** — `better-sqlite3`와 `sqlite-vec`는 macOS(arm64/x64), Linux(x64/arm64), Windows x64에서 사전 빌드 바이너리로 설치됩니다. 흔치 않은 플랫폼이거나 사전 빌드가 실패하는 경우 작동하는 C/C++ 툴체인이 필요합니다.
|
|
68
|
+
> - **임베딩 모델** — 로컬 임베딩을 트리거하는 첫 호출(예: 시맨틱 모드의 `recall`)이 `Xenova/all-MiniLM-L6-v2`(~80 MB)를 `~/.memesh/models/`에 다운로드합니다. 이후 호출은 즉시 실행됩니다. 기본 검색 경로(FTS5)는 이 다운로드가 필요하지 않습니다.
|
|
41
69
|
|
|
42
|
-
|
|
70
|
+
### 1.5단계: MeMesh를 Claude Code에 연결 (npm 경로만)
|
|
71
|
+
|
|
72
|
+
**옵션 A**(`/plugin install memesh@pcircle-memesh`)로 설치했다면, 이 단계를 건너뜁니다 — Claude Code가 플러그인 훅을 자동으로 연결합니다.
|
|
73
|
+
|
|
74
|
+
**옵션 B**(`npm install -g`)로 설치했다면, CLI는 PATH에 있고 MCP 서버는 등록되지만, Claude Code 세션 훅은 자동으로 연결되지 않습니다. 훅이 없으면 `memesh remember` / `recall`을 수동으로 사용할 수 있지만, **자동 캡처 루프**(세션 → 교훈 → 다음 세션에서 회상)는 작동하지 않습니다.
|
|
43
75
|
|
|
44
76
|
```bash
|
|
45
77
|
memesh install-hooks # ~/.claude/settings.json에 memesh 훅 추가
|
|
@@ -50,6 +82,14 @@ memesh doctor # "Hooks wired into Claude Code" PASS 확인
|
|
|
50
82
|
|
|
51
83
|
### 2단계: 의사결정 저장
|
|
52
84
|
|
|
85
|
+
> 아래 bash 예제는 `memesh`가 `PATH`에 있다고 가정합니다(옵션 B). 옵션 A(플러그인 전용) 사용자는 두 가지 동등한 경로가 있습니다: Claude Code 대화에서 직접 요청하거나(`/memesh` 스킬 + MCP 도구가 동일한 흐름을 커버), 셸에서 `memesh`를 `npx @pcircle/memesh`로 대체합니다 — 동일한 플래그, 글로벌 설치 불필요.
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
memesh remember "Use OAuth 2.0 with PKCE for the new auth"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
또는 나중에 필터링할 수 있도록 안정적인 이름과 타입을 원하면 명시적 형식을 사용합니다:
|
|
92
|
+
|
|
53
93
|
```bash
|
|
54
94
|
memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
|
|
55
95
|
```
|
|
@@ -63,7 +103,7 @@ memesh recall "login security"
|
|
|
63
103
|
|
|
64
104
|
**이게 전부입니다.** MeMesh가 이제 세션 간에 기억하고 회상합니다.
|
|
65
105
|
|
|
66
|
-
설치와 로컬 연결을 확인하려면:
|
|
106
|
+
설치와 로컬 연결을 엔드 투 엔드로 확인하려면:
|
|
67
107
|
|
|
68
108
|
```bash
|
|
69
109
|
memesh doctor
|
|
@@ -157,13 +197,14 @@ memesh export-schema \
|
|
|
157
197
|
|
|
158
198
|
## Claude Code에서 자동으로 일어나는 일
|
|
159
199
|
|
|
160
|
-
모든 것을 수동으로 기억할 필요는 없습니다. MeMesh는 작업 중에 지식을 캡처하고 주입하는 **
|
|
200
|
+
모든 것을 수동으로 기억할 필요는 없습니다. MeMesh는 작업 중에 지식을 캡처하고 주입하는 **7가지 훅**이 있습니다:
|
|
161
201
|
|
|
162
202
|
| 시점 | MeMesh가 수행하는 작업 |
|
|
163
203
|
|------|---|
|
|
164
|
-
| **매 세션 시작** | 가장 관련 있는 메모리 + 과거 교훈의 사전 경고
|
|
204
|
+
| **매 세션 시작** | 가장 관련 있는 메모리 + 과거 교훈의 사전 경고 로드 |
|
|
165
205
|
| **파일 편집 전** | Claude가 코드를 작성하기 전에 파일 또는 프로젝트와 연결된 메모리 회상 |
|
|
166
|
-
| **Bash 명령 전** | Claude가 높은 검증 가능성의 명령어(테스트, 빌드, 린트, 마이그레이션, 배포, 벤치마크)를 백그라운드 에이전트로 실행하도록 유도 |
|
|
206
|
+
| **Bash 명령 전** | (옵트인) Claude가 높은 검증 가능성의 명령어(테스트, 빌드, 린트, 마이그레이션, 배포, 벤치마크)를 백그라운드 에이전트로 실행하도록 유도 |
|
|
207
|
+
| **기억 요청 시** | "remember this" / "guardar en memesh" / "sauvegarder dans memesh" / "記下來" 의도(5개 언어)를 감지하고 Claude가 memesh를 사용하도록 알림 |
|
|
167
208
|
| **모든 `git commit` 후** | 변경 사항을 diff 통계와 함께 기록 |
|
|
168
209
|
| **Claude가 멈출 때** | 편집된 파일, 수정된 에러, 실패로부터 자동 생성된 구조화된 교훈 캡처 |
|
|
169
210
|
| **컨텍스트 압축 전** | 컨텍스트 제한으로 손실되기 전에 지식 저장 |
|
|
@@ -172,6 +213,26 @@ memesh export-schema \
|
|
|
172
213
|
|
|
173
214
|
---
|
|
174
215
|
|
|
216
|
+
## 구성
|
|
217
|
+
|
|
218
|
+
모든 구성은 환경 변수를 통해 이루어집니다. 기본값은 로컬 전용이고 네트워크 사용이 없습니다 — 작동하는 시스템을 얻기 위해 아무것도 설정할 필요가 없습니다.
|
|
219
|
+
|
|
220
|
+
| 변수 | 기본값 | 역할 |
|
|
221
|
+
|---|---|---|
|
|
222
|
+
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | SQLite 데이터베이스 위치를 재정의합니다. |
|
|
223
|
+
| `MEMESH_AUTO_CAPTURE` | `true` | 자동 캡처 훅(`Stop`, `PreCompact`)을 완전히 비활성화합니다. |
|
|
224
|
+
| `MEMESH_AUTO_DETECT_LLM` | unset | `1`로 설정하면 memesh가 셸 환경 변수(`OPENAI_API_KEY` 등)에서 프로바이더를 자동 감지하고 BYOK 임베딩으로 전환합니다. **새 설치의 기본값은 로컬 ONNX(384-dim) 전용** — 클라우드 임베딩을 원하면 옵트인하세요. 이 플래그가 설정되지 않으면, 셸에 남아있는 `OPENAI_API_KEY`는 무시됩니다. |
|
|
225
|
+
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | unset | `1`로 설정하면 실험적 작업 모델 프로토콜(CTO / Orchestrator / Agents 프레이밍)을 활성화합니다. 세션 시작 배너, Bash 명령 nudge, `verify_agent_work` 텔레메트리를 추가합니다. 이 프로토콜의 효과는 측정 중이며 아직 입증되지 않았습니다 — 참여하려면 옵트인하세요. **기본값은 OFF**: 코어 메모리 기능은 이 플래그 없이도 작동합니다. |
|
|
226
|
+
| `MEMESH_AUTO_UPDATE` | `off` | 자동 업데이트 정책. `off`(기본값)는 자동 업데이트하지 않습니다; `patch`는 `X.Y.Z → X.Y.Z+N`을 허용합니다; `minor`는 `X.Y.Z → X.Y+1.0`을 추가합니다; `major`는 모든 bump를 허용합니다. 허용된 경우, 분리된 `npm install -g`가 세션 종료 시(Stop 훅) 실행되어 작업을 차단하지 않습니다 — 결과는 `~/.memesh/auto-update.log`에 기록됩니다. `~/.memesh/config.json`에서도 `autoUpdate`로 설정 가능합니다(env가 우선). 설치된 버전이 메인테이너에 의해 deprecated된 경우(보안 권고), `off`에서도 `patch`가 강제 허용됩니다 — minor / major bump는 조용한 동작 변화를 피하기 위해 수동으로 유지됩니다. |
|
|
227
|
+
| `OPENAI_API_KEY` | unset | OpenAI 키. `MEMESH_AUTO_DETECT_LLM=1`이거나 명시적으로 프로바이더를 구성한 경우에만 사용됩니다. |
|
|
228
|
+
| `OLLAMA_HOST` | `http://localhost:11434` | 로컬 Ollama 프로바이더를 사용할 때 Ollama 엔드포인트를 재정의합니다. |
|
|
229
|
+
|
|
230
|
+
`memesh doctor`는 활성화된 항목을 볼 수 있도록 해결된 구성을 출력합니다.
|
|
231
|
+
|
|
232
|
+
npm이 설치된 버전을 deprecated로 플래그하면(일반적으로 보안 권고), 다음 세션 시작 시 강력한 `⚠️ MeMesh <ver> is DEPRECATED` 배너가 앞에 추가되고, 업그레이드할 때까지 `memesh update-status`가 동일한 라인을 표시합니다. 일시적인 네트워크 실패가 경고를 흐리지 않도록 검사가 `~/.memesh/update-check.<version>.json`에 캐시됩니다.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
175
236
|
## 대시보드
|
|
176
237
|
|
|
177
238
|
7개 탭, 11개 언어, 외부 의존성 없음. 서버 실행 중 `http://localhost:3737/dashboard`에서 접근합니다.
|
|
@@ -190,11 +251,11 @@ memesh export-schema \
|
|
|
190
251
|
|
|
191
252
|
## 스마트 기능
|
|
192
253
|
|
|
193
|
-
**🧠 스마트 검색** —
|
|
254
|
+
**🧠 스마트 검색** — FTS5 + sqlite-vec를 사용해 모든 메모리에서 즉시 검색. 핫 패스에 LLM이 없어 LongMemEval-S에서 R@5 95.40% 달성.
|
|
194
255
|
|
|
195
256
|
**📊 점수 순위 매김** — 결과는 관련성(30%) + 최근성(25%) + 빈도(15%) + 신뢰도(15%) + 회상 영향(10%) + 시계열 유효성(5%)으로 순위 매겨집니다.
|
|
196
257
|
|
|
197
|
-
**🔄 지식 진화** — 결정은 변합니다. `forget`으로 오래된 메모리 보관(절대 삭제 안 함). `supersedes` 관계가 구 →
|
|
258
|
+
**🔄 지식 진화** — 결정은 변합니다. `forget`으로 오래된 메모리 보관(절대 삭제 안 함). `supersedes` 관계가 구 → 신을 연결합니다. AI는 항상 최신 버전을 봅니다.
|
|
198
259
|
|
|
199
260
|
**⚠️ 충돌 감지** — 서로 모순되는 메모리 두 개가 있으면 MeMesh가 경고합니다.
|
|
200
261
|
|
|
@@ -216,9 +277,9 @@ memesh export-schema \
|
|
|
216
277
|
|
|
217
278
|
---
|
|
218
279
|
|
|
219
|
-
## 스마트 모드
|
|
280
|
+
## 스마트 모드 언락 (선택)
|
|
220
281
|
|
|
221
|
-
MeMesh는 기본적으로 오프라인에서
|
|
282
|
+
MeMesh는 기본적으로 오프라인에서 작동합니다 — 회상은 엄격히 LLM-free로 유지됩니다(기본 설치만으로 LongMemEval-S에서 R@5 95.40%). LLM API 키는 그 위에 LLM 증강 분석 흐름을 원할 때만 추가합니다: 더 스마트한 세션 추출, 새 메모리의 자동 태그 부여, 실패로부터의 교훈 생성, `consolidate` / `dream` 압축:
|
|
222
283
|
|
|
223
284
|
```bash
|
|
224
285
|
memesh config set llm.provider anthropic
|
|
@@ -233,10 +294,12 @@ memesh # 대시보드 열기 → Settings 탭
|
|
|
233
294
|
|
|
234
295
|
| | Level 0 (기본) | Level 1 (스마트 모드) |
|
|
235
296
|
|---|---|---|
|
|
236
|
-
| **검색** | FTS5
|
|
297
|
+
| **검색** | FTS5 + sqlite-vec, R@5 95.40% (~18ms/쿼리) | 변경 없음 — 회상은 모든 레벨에서 LLM-free |
|
|
237
298
|
| **자동 캡처** | 규칙 기반 패턴 | + LLM이 결정과 교훈 추출 |
|
|
238
|
-
|
|
|
239
|
-
|
|
|
299
|
+
| **자동 태그 부여** | 수동 태그만 | + LLM이 새 메모리에 태그 생성 |
|
|
300
|
+
| **실패 분석** | 사용 불가 | + LLM이 세션 에러를 구조화된 교훈으로 변환 |
|
|
301
|
+
| **압축** | 사용 불가 | `consolidate` + `dream`이 장황한 메모리 압축 |
|
|
302
|
+
| **비용** | 무료, API 키 불필요 | ~$0.0001 분석 호출당 (Haiku) |
|
|
240
303
|
|
|
241
304
|
---
|
|
242
305
|
|
|
@@ -245,7 +308,7 @@ memesh # 대시보드 열기 → Settings 탭
|
|
|
245
308
|
| 도구 | 역할 |
|
|
246
309
|
|---|---|
|
|
247
310
|
| `remember` | 관찰, 관계, 태그를 포함한 지식 저장 |
|
|
248
|
-
| `recall` | 다중 요소 점수
|
|
311
|
+
| `recall` | 다중 요소 점수 매김(관련성, 최근성, 빈도, 신뢰도, 시계열 유효성)이 있는 FTS5 + sqlite-vec 검색 — 핫 패스에 LLM 없음 |
|
|
249
312
|
| `forget` | 소프트 보관(절대 삭제 안 함) 또는 특정 관찰 제거 |
|
|
250
313
|
| `consolidate` | LLM 기반 장황한 메모리 압축 |
|
|
251
314
|
| `export` | 프로젝트나 팀 멤버 간 메모리 JSON 공유 |
|
package/README.md
CHANGED
|
@@ -50,7 +50,7 @@ If you use Claude Code, install MeMesh as a plugin from inside the CLI:
|
|
|
50
50
|
|
|
51
51
|
```
|
|
52
52
|
/plugin marketplace add PCIRCLE-AI/memesh-llm-memory
|
|
53
|
-
/plugin install memesh@pcircle-
|
|
53
|
+
/plugin install memesh@pcircle-memesh
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Claude Code wires hooks, skills, and the MCP server automatically. You get in-session auto-capture, proactive recall, the `/memesh` skill (remember / recall / learn / forget) inside the Claude Code conversation, and `remember` / `recall` / `forget` / `learn` available as MCP tools to the agent. The CLI and the local dashboard are also fully accessible without any extra global install — `npx @pcircle/memesh <command>` runs every CLI command, and `npx @pcircle/memesh` launches the dashboard at `localhost:3737`. The MCP server uses the same `npx`-based launch pattern as Anthropic's official plugins (e.g. `context7`), so no `npm install -g` is needed for any feature.
|
|
@@ -69,7 +69,7 @@ npm install -g @pcircle/memesh
|
|
|
69
69
|
|
|
70
70
|
### Step 1.5: Wire MeMesh into Claude Code (npm path only)
|
|
71
71
|
|
|
72
|
-
If you installed via **Option A** (`/plugin install memesh@pcircle-
|
|
72
|
+
If you installed via **Option A** (`/plugin install memesh@pcircle-memesh`), skip this step — Claude Code wires plugin hooks automatically.
|
|
73
73
|
|
|
74
74
|
If you installed via **Option B** (`npm install -g`), the CLI is on your PATH and the MCP server is registered, but the Claude Code session hooks are not auto-wired. Without them you can still use `memesh remember` / `recall` manually, but the **auto-capture loop** (sessions → lessons → recall on next session) is silent.
|
|
75
75
|
|
|
@@ -279,7 +279,7 @@ Imported bundles stay searchable, but MeMesh does not auto-inject imported memor
|
|
|
279
279
|
|
|
280
280
|
## Unlock Smart Mode (Optional)
|
|
281
281
|
|
|
282
|
-
MeMesh works offline by default. Add an LLM API key only if you want
|
|
282
|
+
MeMesh works offline by default — recall stays strictly LLM-free (95.40% R@5 on LongMemEval-S out of the box). Add an LLM API key only if you want LLM-augmented analysis flows on top: smarter session extraction, auto-tagging of new memories, lesson generation from failures, and `consolidate` / `dream` compression:
|
|
283
283
|
|
|
284
284
|
```bash
|
|
285
285
|
memesh config set llm.provider anthropic
|
|
@@ -294,10 +294,12 @@ memesh # opens dashboard → Settings tab
|
|
|
294
294
|
|
|
295
295
|
| | Level 0 (default) | Level 1 (Smart Mode) |
|
|
296
296
|
|---|---|---|
|
|
297
|
-
| **Search** | FTS5
|
|
297
|
+
| **Search** | FTS5 + sqlite-vec, 95.40% R@5 (~18ms/query) | unchanged — recall is LLM-free at every level |
|
|
298
298
|
| **Auto-capture** | Rule-based patterns | + LLM extracts decisions & lessons |
|
|
299
|
-
| **
|
|
300
|
-
| **
|
|
299
|
+
| **Auto-tagging** | Manual tags only | + LLM generates tags for new memories |
|
|
300
|
+
| **Failure analysis** | Not available | + LLM converts session errors into structured lessons |
|
|
301
|
+
| **Compression** | Not available | `consolidate` + `dream` compress verbose memories |
|
|
302
|
+
| **Cost** | Free, no API key | ~$0.0001 per analysis call (Haiku) |
|
|
301
303
|
|
|
302
304
|
---
|
|
303
305
|
|
|
@@ -306,7 +308,7 @@ memesh # opens dashboard → Settings tab
|
|
|
306
308
|
| Tool | What it does |
|
|
307
309
|
|------|-------------|
|
|
308
310
|
| `remember` | Store knowledge with observations, relations, and tags |
|
|
309
|
-
| `recall` |
|
|
311
|
+
| `recall` | FTS5 + sqlite-vec search with multi-factor scoring (relevance, recency, frequency, confidence, temporal validity) — no LLM in the hot path |
|
|
310
312
|
| `forget` | Soft-archive (never deletes) or remove specific observations |
|
|
311
313
|
| `consolidate` | LLM-powered compression of verbose memories |
|
|
312
314
|
| `export` | Share memories as JSON between projects or team members |
|
package/README.pt.md
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
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
|
-
|
|
4
1
|
🌐 [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)
|
|
5
2
|
|
|
6
3
|
<p align="center">
|
|
@@ -29,6 +26,22 @@ Este pacote é a camada de memória local da família de produtos MeMesh. É pro
|
|
|
29
26
|
|
|
30
27
|
---
|
|
31
28
|
|
|
29
|
+
## Prova — 95,40% R@5 no LongMemEval-S
|
|
30
|
+
|
|
31
|
+
O motor de recuperação do MeMesh é **apenas FTS5** (sem LLM, sem embeddings no hot path), medido contra o benchmark público [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 perguntas, licença MIT):
|
|
32
|
+
|
|
33
|
+
| Sistema | R@5 | Fonte |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| **MeMesh (Mode A, FTS5)** | **95,40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
36
|
+
| MemPalace | 96,6% | Auto-relato do fornecedor |
|
|
37
|
+
| Supermemory | ~82% | Estimativa do fornecedor |
|
|
38
|
+
| Zep | 63,8% | Paper LongMemEval |
|
|
39
|
+
| Mem0 | 49,0% | Paper LongMemEval |
|
|
40
|
+
|
|
41
|
+
Comandos de reprodução, SHA256 do dataset, resultados brutos por pergunta e análise de falhas conhecidas estão todos em [`benchmarks/longmemeval/`](benchmarks/longmemeval/). Reexecutável em ~10 segundos.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
32
45
|
## Comece em 60 Segundos
|
|
33
46
|
|
|
34
47
|
### Passo 1: Instale
|
|
@@ -173,6 +186,26 @@ Você não precisa lembrar tudo manualmente. MeMesh tem **7 hooks** que capturam
|
|
|
173
186
|
|
|
174
187
|
---
|
|
175
188
|
|
|
189
|
+
## Configuração
|
|
190
|
+
|
|
191
|
+
Toda a configuração é feita por variáveis de ambiente. Os padrões são local-only e zero-network — você não precisa configurar nada para ter um sistema funcional.
|
|
192
|
+
|
|
193
|
+
| Variável | Padrão | O que faz |
|
|
194
|
+
|---|---|---|
|
|
195
|
+
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Sobrescreve a localização do banco SQLite. |
|
|
196
|
+
| `MEMESH_AUTO_CAPTURE` | `true` | Desativa completamente os hooks de auto-captura (`Stop`, `PreCompact`). |
|
|
197
|
+
| `MEMESH_AUTO_DETECT_LLM` | unset | Defina como `1` para que o memesh detecte automaticamente um provedor a partir do seu env de shell (`OPENAI_API_KEY` etc.) e mude para embeddings BYOK. **A instalação fresca por padrão é apenas ONNX local (384-dim)** — opte se quiser embeddings na nuvem. Sem essa flag, uma `OPENAI_API_KEY` esquecida no seu shell é ignorada. |
|
|
198
|
+
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | unset | Defina como `1` para habilitar um protocolo experimental de modelo de trabalho (enquadramento CTO / Orchestrator / Agents). Adiciona um banner de início de sessão, um nudge para comandos Bash e telemetria `verify_agent_work`. A eficácia do protocolo está sendo instrumentada, ainda não comprovada — opte se quiser participar. **Padrão é OFF**: as funcionalidades de memória core funcionam sem essa flag. |
|
|
199
|
+
| `MEMESH_AUTO_UPDATE` | `off` | Política de auto-update. `off` (padrão) nunca faz auto-update; `patch` permite `X.Y.Z → X.Y.Z+N`; `minor` adiciona `X.Y.Z → X.Y+1.0`; `major` permite qualquer bump. Quando permitido, um `npm install -g` desanexado dispara no fim da sessão (hook Stop) para nunca bloquear seu trabalho — os resultados aparecem em `~/.memesh/auto-update.log`. Também configurável como `autoUpdate` em `~/.memesh/config.json` (env vence). Quando a versão instalada é depreciada pelos mantenedores (advisory de segurança), `patch` é forçado mesmo em `off` — bumps minor / major continuam manuais para evitar drift silencioso de comportamento. |
|
|
200
|
+
| `OPENAI_API_KEY` | unset | Sua chave OpenAI. Usada apenas quando `MEMESH_AUTO_DETECT_LLM=1` ou você configura o provedor explicitamente. |
|
|
201
|
+
| `OLLAMA_HOST` | `http://localhost:11434` | Sobrescreve o endpoint do Ollama ao usar um provedor Ollama local. |
|
|
202
|
+
|
|
203
|
+
`memesh doctor` imprime a configuração resolvida para você ver o que está ativo.
|
|
204
|
+
|
|
205
|
+
Quando o npm sinaliza uma versão instalada como depreciada (tipicamente um advisory de segurança), o próximo início de sessão antepõe um banner forte `⚠️ MeMesh <ver> is DEPRECATED` e `memesh update-status` mostra a mesma linha até você atualizar. A verificação fica em cache em `~/.memesh/update-check.<version>.json` para que uma falha de rede transitória não atenue o aviso.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
176
209
|
## Dashboard
|
|
177
210
|
|
|
178
211
|
7 abas, 11 idiomas, zero dependências externas. Acesse em `http://localhost:3737/dashboard` quando o servidor estiver rodando.
|
|
@@ -219,7 +252,7 @@ Bundles importados permanecem pesquisáveis, mas MeMesh não injeta automaticame
|
|
|
219
252
|
|
|
220
253
|
## Desbloqueie Smart Mode (Opcional)
|
|
221
254
|
|
|
222
|
-
MeMesh funciona offline por padrão. Adicione uma chave de API de LLM apenas se quiser
|
|
255
|
+
MeMesh funciona offline por padrão — o recall permanece estritamente LLM-free (95,40% R@5 no LongMemEval-S, sem LLM). Adicione uma chave de API de LLM apenas se quiser fluxos de análise LLM-augmented adicionais: extração de sessão mais inteligente, auto-tagging de novas memórias, geração de lessons a partir de falhas, e compressão `consolidate` / `dream`:
|
|
223
256
|
|
|
224
257
|
```bash
|
|
225
258
|
memesh config set llm.provider anthropic
|
|
@@ -234,10 +267,12 @@ memesh # abre dashboard → aba Settings
|
|
|
234
267
|
|
|
235
268
|
| | Level 0 (padrão) | Level 1 (Smart Mode) |
|
|
236
269
|
|---|---|---|
|
|
237
|
-
| **Busca** |
|
|
270
|
+
| **Busca** | FTS5 + sqlite-vec, 95,40% R@5 (~18ms/query) | inalterado — recall é LLM-free em todos os níveis |
|
|
238
271
|
| **Auto-capture** | Padrões baseados em regras | + LLM extrai decisões & lições |
|
|
239
|
-
| **
|
|
240
|
-
| **
|
|
272
|
+
| **Auto-tagging** | Apenas tags manuais | + LLM gera tags para novas memórias |
|
|
273
|
+
| **Análise de falhas** | Não disponível | + LLM converte erros de sessão em structured lessons |
|
|
274
|
+
| **Compressão** | Não disponível | `consolidate` + `dream` comprimem memórias verbosas |
|
|
275
|
+
| **Custo** | Grátis, sem chave de API | ~$0.0001 por analysis call (Haiku) |
|
|
241
276
|
|
|
242
277
|
---
|
|
243
278
|
|
|
@@ -246,7 +281,7 @@ memesh # abre dashboard → aba Settings
|
|
|
246
281
|
| Ferramenta | O que faz |
|
|
247
282
|
|------|-------------|
|
|
248
283
|
| `remember` | Armazena conhecimento com observações, relações e tags |
|
|
249
|
-
| `recall` | Busca
|
|
284
|
+
| `recall` | Busca FTS5 + sqlite-vec com scoring multi-fator (relevância, recência, frequência, confiança, validade temporal) — sem LLM no hot path |
|
|
250
285
|
| `forget` | Soft-archive (nunca deleta) ou remove observações específicas |
|
|
251
286
|
| `consolidate` | Compressão com LLM de memórias verbosas |
|
|
252
287
|
| `export` | Compartilha memórias como JSON entre projetos ou membros da equipe |
|
package/README.th.md
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
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
|
-
|
|
4
1
|
🌐 [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)
|
|
5
2
|
|
|
6
3
|
<p align="center">
|
|
@@ -29,6 +26,22 @@
|
|
|
29
26
|
|
|
30
27
|
---
|
|
31
28
|
|
|
29
|
+
## หลักฐาน — 95.40% R@5 บน LongMemEval-S
|
|
30
|
+
|
|
31
|
+
เครื่องมือเรียกคืนของ MeMesh ใช้ **FTS5 เพียงอย่างเดียว** (ไม่มี LLM ไม่มี embedding บนเส้นทางหลัก) วัดผลด้วยเบนช์มาร์กสาธารณะ [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 คำถาม สัญญาอนุญาต MIT):
|
|
32
|
+
|
|
33
|
+
| ระบบ | R@5 | ที่มา |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| **MeMesh (Mode A, FTS5)** | **95.40%** | [benchmarks/longmemeval/RESULTS.md](benchmarks/longmemeval/RESULTS.md) |
|
|
36
|
+
| MemPalace | 96.6% | รายงานของผู้พัฒนาเอง |
|
|
37
|
+
| Supermemory | ~82% | ประมาณการของผู้พัฒนา |
|
|
38
|
+
| Zep | 63.8% | เปเปอร์ LongMemEval |
|
|
39
|
+
| Mem0 | 49.0% | เปเปอร์ LongMemEval |
|
|
40
|
+
|
|
41
|
+
คำสั่งสำหรับทำซ้ำ SHA256 ของชุดข้อมูล ผลดิบรายคำถาม และการวิเคราะห์ความล้มเหลวที่รู้จัก ทั้งหมดอยู่ใน [`benchmarks/longmemeval/`](benchmarks/longmemeval/) รันซ้ำได้ใน ~10 วินาที
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
32
45
|
## เริ่มต้นใน 60 วินาที
|
|
33
46
|
|
|
34
47
|
### ขั้นตอนที่ 1: ติดตั้ง
|
|
@@ -173,6 +186,26 @@ memesh export-schema \
|
|
|
173
186
|
|
|
174
187
|
---
|
|
175
188
|
|
|
189
|
+
## การตั้งค่า
|
|
190
|
+
|
|
191
|
+
การตั้งค่าทั้งหมดทำผ่านตัวแปรสภาพแวดล้อม ค่าเริ่มต้นทำงานภายในเครื่องล้วน ๆ และไม่มีเครือข่าย — ไม่ต้องตั้งค่าอะไรเพื่อให้ระบบใช้งานได้
|
|
192
|
+
|
|
193
|
+
| ตัวแปร | ค่าเริ่มต้น | ทำอะไร |
|
|
194
|
+
|---|---|---|
|
|
195
|
+
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | เปลี่ยนตำแหน่งฐานข้อมูล SQLite |
|
|
196
|
+
| `MEMESH_AUTO_CAPTURE` | `true` | ปิดการใช้ hook จับข้อมูลอัตโนมัติทั้งหมด (`Stop`, `PreCompact`) |
|
|
197
|
+
| `MEMESH_AUTO_DETECT_LLM` | ไม่ตั้ง | ตั้งเป็น `1` เพื่อให้ memesh ตรวจหาผู้ให้บริการจาก shell env (`OPENAI_API_KEY` ฯลฯ) โดยอัตโนมัติและสลับไปใช้ BYOK embeddings **ค่าเริ่มต้นของการติดตั้งใหม่คือ ONNX ภายในเครื่อง (384 มิติ) เท่านั้น** — opt-in ถ้าต้องการ embedding บนคลาวด์ ถ้าไม่ตั้งค่าธงนี้ `OPENAI_API_KEY` ที่อยู่ใน shell จะถูกเพิกเฉย |
|
|
198
|
+
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | ไม่ตั้ง | ตั้งเป็น `1` เพื่อเปิดใช้โปรโตคอล working-model เชิงทดลอง (กรอบ CTO / Orchestrator / Agents) เพิ่มแบนเนอร์ตอนเริ่มเซสชัน การเตือนคำสั่ง Bash และเทเลเมตรี `verify_agent_work` ประสิทธิผลของโปรโตคอลกำลังถูกเก็บข้อมูล ยังไม่ได้พิสูจน์ — opt-in ถ้าต้องการเข้าร่วม **ค่าเริ่มต้นปิด**: ฟีเจอร์หน่วยความจำหลักทำงานได้โดยไม่ต้องเปิดธงนี้ |
|
|
199
|
+
| `MEMESH_AUTO_UPDATE` | `off` | นโยบายอัปเดตอัตโนมัติ `off` (ค่าเริ่มต้น) ไม่อัปเดตเลย; `patch` อนุญาต `X.Y.Z → X.Y.Z+N`; `minor` เพิ่ม `X.Y.Z → X.Y+1.0`; `major` อนุญาตทุกการเพิ่มเวอร์ชัน เมื่ออนุญาต `npm install -g` แบบ detached จะทำงานเมื่อจบเซสชัน (Stop hook) เพื่อไม่บล็อกงานของคุณ — ผลลัพธ์ลงใน `~/.memesh/auto-update.log` ตั้งใน `~/.memesh/config.json` ผ่านคีย์ `autoUpdate` ก็ได้ (env ชนะ) เมื่อเวอร์ชันที่ติดตั้งถูก deprecate (security advisory) `patch` จะถูกบังคับเปิดแม้ตั้งเป็น `off` — minor / major ยังต้องทำมือเพื่อหลีกเลี่ยงการเปลี่ยนพฤติกรรมเงียบ ๆ |
|
|
200
|
+
| `OPENAI_API_KEY` | ไม่ตั้ง | คีย์ OpenAI ของคุณ ใช้เฉพาะเมื่อ `MEMESH_AUTO_DETECT_LLM=1` หรือคุณตั้งค่าผู้ให้บริการอย่างชัดเจน |
|
|
201
|
+
| `OLLAMA_HOST` | `http://localhost:11434` | เปลี่ยนปลายทาง Ollama เมื่อใช้ผู้ให้บริการ Ollama ภายในเครื่อง |
|
|
202
|
+
|
|
203
|
+
`memesh doctor` พิมพ์การตั้งค่าที่ resolve แล้วเพื่อให้คุณเห็นว่าอะไรทำงานอยู่
|
|
204
|
+
|
|
205
|
+
เมื่อ npm ระบุว่าเวอร์ชันที่ติดตั้งถูก deprecate (โดยทั่วไปคือ security advisory) เซสชันถัดไปจะแสดงแบนเนอร์ `⚠️ MeMesh <ver> is DEPRECATED` แบบหนักนำหน้า และ `memesh update-status` จะแสดงบรรทัดเดียวกันจนกว่าคุณจะอัปเกรด การตรวจสอบถูก cache ที่ `~/.memesh/update-check.<version>.json` เพื่อไม่ให้ความล้มเหลวเครือข่ายชั่วคราวลดความสว่างของคำเตือน
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
176
209
|
## แดชบอร์ด
|
|
177
210
|
|
|
178
211
|
7 แท็บ 11 ภาษา ไม่มีการพึ่งพิ่นภายนอก เข้าถึงได้ที่ `http://localhost:3737/dashboard` เมื่อเซิร์ฟเวอร์ทำงาน
|
|
@@ -234,10 +267,12 @@ memesh # opens dashboard → Settings tab
|
|
|
234
267
|
|
|
235
268
|
| | ระดับ 0 (ค่าเริ่มต้น) | ระดับ 1 (Smart Mode) |
|
|
236
269
|
|---|---|---|
|
|
237
|
-
| **Search** | FTS5
|
|
270
|
+
| **Search** | FTS5 + sqlite-vec, 95.40% R@5 (~18ms ต่อ query) | คงเดิม — recall ไม่ใช้ LLM ในทุก level |
|
|
238
271
|
| **Auto-capture** | รูปแบบตามกฎ | + LLM สกัดการตัดสินใจ & บทเรียน |
|
|
239
|
-
| **
|
|
240
|
-
|
|
|
272
|
+
| **Auto-tagging** | แท็กด้วยตนเองเท่านั้น | + LLM สร้างแท็กให้ entity ใหม่ |
|
|
273
|
+
| **วิเคราะห์ความล้มเหลว** | ไม่พร้อมใช้ | + LLM แปลง session errors เป็น structured lessons |
|
|
274
|
+
| **Compression** | ไม่พร้อมใช้ | `consolidate` + `dream` บีบอัดหน่วยความจำ |
|
|
275
|
+
| **Cost** | ฟรี ไม่ต้องคีย์ API | ~$0.0001 ต่อ analysis call (Haiku) |
|
|
241
276
|
|
|
242
277
|
---
|
|
243
278
|
|
package/README.vi.md
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
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
|
-
|
|
4
1
|
🌐 [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)
|
|
5
2
|
|
|
6
3
|
<p align="center">
|
|
@@ -29,6 +26,22 @@ Package này là tầng bộ nhớ cục bộ của dòng sản phẩm MeMesh. N
|
|
|
29
26
|
|
|
30
27
|
---
|
|
31
28
|
|
|
29
|
+
## Proof — 95.40% R@5 trên LongMemEval-S
|
|
30
|
+
|
|
31
|
+
Engine truy hồi của MeMesh là **chỉ FTS5** (không LLM, không embeddings trên hot path), được đo trên benchmark công khai [LongMemEval-S](https://huggingface.co/datasets/xiaowu0162/longmemeval) (500 câu hỏi, giấy phép MIT):
|
|
32
|
+
|
|
33
|
+
| Hệ thống | R@5 | Nguồn |
|
|
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
|
+
Lệnh tái hiện, SHA256 của dataset, kết quả thô theo từng câu hỏi, và phân tích các lỗi đã biết đều có trong [`benchmarks/longmemeval/`](benchmarks/longmemeval/). Có thể chạy lại trong ~10 giây.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
32
45
|
## Bắt đầu trong 60 giây
|
|
33
46
|
|
|
34
47
|
### Bước 1: Cài đặt
|
|
@@ -173,6 +186,26 @@ Bạn không cần phải manually nhớ mọi thứ. MeMesh có **7 hooks** đ
|
|
|
173
186
|
|
|
174
187
|
---
|
|
175
188
|
|
|
189
|
+
## Cấu hình
|
|
190
|
+
|
|
191
|
+
Toàn bộ cấu hình thông qua biến môi trường. Các giá trị mặc định là local-only và zero-network — bạn không cần thiết lập gì để có một hệ thống hoạt động.
|
|
192
|
+
|
|
193
|
+
| Biến | Mặc định | Tác dụng |
|
|
194
|
+
|---|---|---|
|
|
195
|
+
| `MEMESH_DB_PATH` | `~/.memesh/knowledge-graph.db` | Ghi đè vị trí của database SQLite. |
|
|
196
|
+
| `MEMESH_AUTO_CAPTURE` | `true` | Tắt hoàn toàn các hooks auto-capture (`Stop`, `PreCompact`). |
|
|
197
|
+
| `MEMESH_AUTO_DETECT_LLM` | chưa đặt | Đặt thành `1` để memesh tự động phát hiện provider từ shell env (`OPENAI_API_KEY` v.v.) và chuyển sang BYOK embeddings. **Cài đặt mới mặc định chỉ dùng ONNX cục bộ (384-dim)** — opt in nếu bạn muốn cloud embeddings. Khi flag này không được đặt, một `OPENAI_API_KEY` còn sót trong shell sẽ bị bỏ qua. |
|
|
198
|
+
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | chưa đặt | Đặt thành `1` để bật một giao thức working-model thử nghiệm (CTO / Orchestrator / Agents framing). Thêm session-start banner, một Bash command nudge, và telemetry `verify_agent_work`. Hiệu quả của giao thức đang được instrument, chưa được chứng minh — opt in nếu bạn muốn tham gia. **Mặc định là OFF**: các tính năng bộ nhớ cốt lõi vẫn hoạt động mà không cần flag này. |
|
|
199
|
+
| `MEMESH_AUTO_UPDATE` | `off` | Chính sách auto-update. `off` (mặc định) không bao giờ tự cập nhật; `patch` cho phép `X.Y.Z → X.Y.Z+N`; `minor` thêm `X.Y.Z → X.Y+1.0`; `major` cho phép mọi bump. Khi được phép, một `npm install -g` detached chạy ở cuối session (Stop hook) để không bao giờ chặn công việc của bạn — kết quả lưu vào `~/.memesh/auto-update.log`. Cũng có thể đặt là `autoUpdate` trong `~/.memesh/config.json` (env thắng). Khi phiên bản đã cài bị maintainers đánh dấu deprecated (security advisory), `patch` sẽ được force-allowed ngay cả khi `off` — minor / major bumps vẫn manual để tránh behaviour drift im lặng. |
|
|
200
|
+
| `OPENAI_API_KEY` | chưa đặt | Khóa OpenAI của bạn. Chỉ được dùng khi `MEMESH_AUTO_DETECT_LLM=1` hoặc bạn cấu hình provider tường minh. |
|
|
201
|
+
| `OLLAMA_HOST` | `http://localhost:11434` | Ghi đè endpoint Ollama khi dùng local Ollama provider. |
|
|
202
|
+
|
|
203
|
+
`memesh doctor` in ra cấu hình đã resolve để bạn thấy cái gì đang active.
|
|
204
|
+
|
|
205
|
+
Khi npm gắn cờ phiên bản đã cài là deprecated (thường là security advisory), session-start kế tiếp sẽ thêm banner mạnh `⚠️ MeMesh <ver> is DEPRECATED` ở đầu và `memesh update-status` hiển thị cùng dòng đó cho đến khi bạn nâng cấp. Kết quả check được cache tại `~/.memesh/update-check.<version>.json` để một lỗi mạng tạm thời không làm mờ cảnh báo.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
176
209
|
## Dashboard
|
|
177
210
|
|
|
178
211
|
7 tabs, 11 ngôn ngữ, không phụ thuộc bên ngoài. Truy cập tại `http://localhost:3737/dashboard` khi server đang chạy.
|
|
@@ -219,7 +252,7 @@ Các imported bundles vẫn có thể tìm kiếm được, nhưng MeMesh không
|
|
|
219
252
|
|
|
220
253
|
## Mở khóa Smart Mode (Tuỳ chọn)
|
|
221
254
|
|
|
222
|
-
MeMesh hoạt động offline theo mặc định. Thêm LLM API key chỉ nếu bạn muốn
|
|
255
|
+
MeMesh hoạt động offline theo mặc định — recall luôn LLM-free (95.40% R@5 trên LongMemEval-S, không cần LLM). Thêm LLM API key chỉ nếu bạn muốn các luồng phân tích LLM-augmented bổ sung: trích xuất session thông minh hơn, auto-tagging cho memories mới, phân tích lỗi thành lessons có cấu trúc, và compression `consolidate` / `dream`:
|
|
223
256
|
|
|
224
257
|
```bash
|
|
225
258
|
memesh config set llm.provider anthropic
|
|
@@ -234,10 +267,12 @@ memesh # mở dashboard → Settings tab
|
|
|
234
267
|
|
|
235
268
|
| | Level 0 (default) | Level 1 (Smart Mode) |
|
|
236
269
|
|---|---|---|
|
|
237
|
-
| **Search** | FTS5
|
|
270
|
+
| **Search** | FTS5 + sqlite-vec, 95.40% R@5 (~18ms/query) | giữ nguyên — recall luôn LLM-free ở mọi level |
|
|
238
271
|
| **Auto-capture** | Rule-based patterns | + LLM extracts decisions & lessons |
|
|
239
|
-
| **
|
|
240
|
-
| **
|
|
272
|
+
| **Auto-tagging** | Chỉ thẻ thủ công | + LLM tự động gắn nhãn entity mới |
|
|
273
|
+
| **Phân tích lỗi** | Không có sẵn | + LLM chuyển session errors thành structured lessons |
|
|
274
|
+
| **Compression** | Không có sẵn | `consolidate` + `dream` nén verbose memories |
|
|
275
|
+
| **Chi phí** | Free, no API key | ~$0.0001 mỗi analysis call (Haiku) |
|
|
241
276
|
|
|
242
277
|
---
|
|
243
278
|
|
|
@@ -246,7 +281,7 @@ memesh # mở dashboard → Settings tab
|
|
|
246
281
|
| Tool | Nó làm gì |
|
|
247
282
|
|------|-------------|
|
|
248
283
|
| `remember` | Lưu trữ kiến thức với observations, relations, và tags |
|
|
249
|
-
| `recall` |
|
|
284
|
+
| `recall` | Tìm kiếm FTS5 + sqlite-vec với multi-factor scoring (relevance, recency, frequency, confidence, temporal validity) — không có LLM trong hot path |
|
|
250
285
|
| `forget` | Soft-archive (không bao giờ xóa) hoặc xóa observations cụ thể |
|
|
251
286
|
| `consolidate` | LLM-powered compression của verbose memories |
|
|
252
287
|
| `export` | Chia sẻ memories dưới dạng JSON giữa các dự án hoặc thành viên team |
|