@pcircle/memesh 4.1.7 → 4.2.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.de.md +48 -10
- package/README.es.md +82 -17
- package/README.fr.md +49 -11
- package/README.ja.md +83 -17
- package/README.ko.md +86 -20
- package/README.md +12 -7
- package/README.pt.md +48 -10
- package/README.th.md +46 -8
- package/README.vi.md +48 -10
- package/README.zh-CN.md +83 -17
- package/README.zh-TW.md +110 -44
- package/dashboard/dist/index.html +9 -9
- package/dist/cli/view-live.js +2 -2
- package/dist/cli/view.d.ts.map +1 -1
- package/dist/cli/view.js +15 -12
- package/dist/cli/view.js.map +1 -1
- package/dist/core/analytics.d.ts +17 -0
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js +40 -0
- package/dist/core/analytics.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 +39 -0
- package/dist/core/kg-backfill.d.ts.map +1 -0
- package/dist/core/kg-backfill.js +362 -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 +128 -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 +204 -25
- 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 +376 -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.ja.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 で 95.40% R@5
|
|
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` にバイナリを直接配置したい場合(`memesh`、`memesh-mcp` 等が任意のターミナルで `npx` ルックアップなしに動作)、または `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)はこのダウンロードを必要としません。
|
|
69
|
+
|
|
70
|
+
### ステップ 1.5: MeMesh を Claude Code に接続(npm パスのみ)
|
|
41
71
|
|
|
42
|
-
|
|
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(プラグイン専用)のユーザーには等価な 2 つのパスがあります: 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
|
```
|
|
@@ -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 コマンド実行前** | 高い検証性を持つコマンド
|
|
206
|
+
| **bash コマンド実行前** | (オプトイン)高い検証性を持つコマンド(テスト、ビルド、lint、マイグレーション、デプロイ、ベンチマーク)をバックグラウンドエージェントとして実行するよう Claude を促す |
|
|
207
|
+
| **記憶を依頼したとき** | "remember this" / "guardar en memesh" / "sauvegarder dans memesh" / "記下來" の意図(5 言語)を検出し、Claude に memesh 使用をリマインド |
|
|
167
208
|
| **`git commit` 後** | 変更内容と diff 統計を記録 |
|
|
168
209
|
| **Claude 停止時** | 編集ファイル、修正エラー、失敗から自動生成した構造化教訓をキャプチャ |
|
|
169
210
|
| **コンテキスト圧縮前** | コンテキスト限界で失われる前に知識を保存 |
|
|
@@ -172,15 +213,36 @@ 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` | 未設定 | `1` に設定すると、memesh がシェル環境変数(`OPENAI_API_KEY` 等)からプロバイダを自動検出し BYOK エンベディングに切り替えます。**新規インストールのデフォルトはローカル ONNX(384 次元)のみ** — クラウドエンベディングを使いたい場合のみオプトインしてください。このフラグが未設定なら、シェルに `OPENAI_API_KEY` があっても無視されます。 |
|
|
225
|
+
| `MEMESH_ENABLE_AGENTIC_ORCHESTRATION` | 未設定 | `1` に設定すると、実験的なワーキングモデルプロトコル(CTO / Orchestrator / Agents のフレーミング)が有効になります。セッション開始バナー、Bash コマンドの促し、`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` は任意のバンプを許可。許可されている場合、デタッチ実行された `npm install -g` がセッション終了時(Stop フック)に発火するため作業をブロックしません — 結果は `~/.memesh/auto-update.log` に記録されます。`~/.memesh/config.json` の `autoUpdate` でも設定可能(env が優先)。インストール済みバージョンがメンテナーによって非推奨化された場合(セキュリティアドバイザリ)、`off` でも `patch` は強制的に許可されます — minor / major バンプはサイレントな挙動変化を避けるため手動のままです。 |
|
|
227
|
+
| `OPENAI_API_KEY` | 未設定 | OpenAI のキー。`MEMESH_AUTO_DETECT_LLM=1` のとき、または明示的にプロバイダを設定したときのみ使用。 |
|
|
228
|
+
| `OLLAMA_HOST` | `http://localhost:11434` | ローカル Ollama プロバイダ使用時の Ollama エンドポイントを上書き。 |
|
|
229
|
+
|
|
230
|
+
`memesh doctor` は解決された設定を表示するため、何が有効かを確認できます。
|
|
231
|
+
|
|
232
|
+
npm がインストール済みバージョンを非推奨としてフラグした場合(典型的にはセキュリティアドバイザリ)、次のセッション開始時に強い `⚠️ MeMesh <ver> is DEPRECATED` バナーが先頭に表示され、`memesh update-status` がアップグレードまで同じ行を表示し続けます。チェックは `~/.memesh/update-check.<version>.json` にキャッシュされ、一時的なネットワーク障害で警告が薄まらないようになっています。
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
175
236
|
## ダッシュボード
|
|
176
237
|
|
|
177
|
-
|
|
238
|
+
8 つのタブ、11 言語対応、外部依存なし。サーバー実行中は `http://localhost:3737/dashboard` でアクセス可能。
|
|
178
239
|
|
|
179
240
|
| タブ | 表示内容 |
|
|
180
241
|
|-----|--------|
|
|
242
|
+
| **Insights** | メモリインサイト — dreamer エンジンによる週次サマリーとパターン提案。ワンクリックで承認・拒否 |
|
|
181
243
|
| **Search** | 全メモリ対象の全文検索 + ベクトル類似度検索 |
|
|
182
244
|
| **Browse** | ページネーション表示された全エンティティ、アーカイブ・復元機能 |
|
|
183
|
-
| **Analytics** |
|
|
245
|
+
| **Analytics** | メモリ健全性スコア、30 日間タイムライン、PM ベロシティ + KG 接続性指標、作業パターン、クリーンアップ提案 |
|
|
184
246
|
| **Graph** | インタラクティブ力指向知識グラフ、型フィルタ、検索、エゴモード、再度ヒートマップ |
|
|
185
247
|
| **Lessons** | 過去の失敗から構造化された教訓 (エラー、根本原因、修正、予防) |
|
|
186
248
|
| **Manage** | エンティティのアーカイブ・復元 |
|
|
@@ -190,7 +252,7 @@ memesh export-schema \
|
|
|
190
252
|
|
|
191
253
|
## スマート機能
|
|
192
254
|
|
|
193
|
-
**🧠 スマート検索** — 「login security」で検索すると「OAuth PKCE
|
|
255
|
+
**🧠 スマート検索** — 「login security」で検索すると「OAuth PKCE」についてのメモリが見つかります。MeMesh は設定された LLM を使い、クエリを関連用語で拡張します。
|
|
194
256
|
|
|
195
257
|
**📊 スコア付きランキング** — 関連性 (30%) + 新しさ (25%) + 頻度 (15%) + 信頼度 (15%) + リコール影響度 (10%) + 時間的有効性 (5%) でランク付け。
|
|
196
258
|
|
|
@@ -198,6 +260,8 @@ memesh export-schema \
|
|
|
198
260
|
|
|
199
261
|
**⚠️ 矛盾検出** — 互いに矛盾するメモリが 2 つある場合、MeMesh が警告します。
|
|
200
262
|
|
|
263
|
+
**🕸️ ナレッジグラフ接続性** — `memesh kg backfill-relations --all-rules` はタグの共起・プロジェクトクラスタリング・セッションコンテキスト・名前類似度を使って孤立エンティティをリンク — LLM 不要。代表的なナレッジベースで孤立率を 89% から 12% 未満に削減。
|
|
264
|
+
|
|
201
265
|
**📦 チーム共有** — `memesh export > team-knowledge.json` → チームと共有 → `memesh import team-knowledge.json`。
|
|
202
266
|
インポートされたバンドルは検索可能ですが、MeMesh はレビュー・ローカル再保存まで Claude フックへの自動注入はしません。
|
|
203
267
|
|
|
@@ -218,7 +282,7 @@ memesh export-schema \
|
|
|
218
282
|
|
|
219
283
|
## スマートモードをアンロック (オプション)
|
|
220
284
|
|
|
221
|
-
MeMesh
|
|
285
|
+
MeMesh はデフォルトでオフライン動作します — リコールは厳密に LLM フリーのまま(箱出し状態で LongMemEval-S 95.40% R@5)。LLM API キーを追加するのは、その上に LLM 拡張の分析フローを重ねたい場合のみです: より賢いセッション抽出、新規メモリの自動タグ付け、失敗からのレッスン生成、`consolidate` / `dream` 圧縮:
|
|
222
286
|
|
|
223
287
|
```bash
|
|
224
288
|
memesh config set llm.provider anthropic
|
|
@@ -233,10 +297,12 @@ memesh # ダッシュボード → Settings タブを開く
|
|
|
233
297
|
|
|
234
298
|
| | レベル 0 (デフォルト) | レベル 1 (スマートモード) |
|
|
235
299
|
|---|---|---|
|
|
236
|
-
| **検索** | FTS5
|
|
300
|
+
| **検索** | FTS5 + sqlite-vec、95.40% R@5(~18ms/クエリ) | 変更なし — リコールはどのレベルでも LLM フリー |
|
|
237
301
|
| **自動キャプチャ** | ルールベースパターン | + LLM が判断・教訓を抽出 |
|
|
238
|
-
|
|
|
239
|
-
|
|
|
302
|
+
| **自動タグ付け** | 手動タグのみ | + LLM が新規メモリにタグを生成 |
|
|
303
|
+
| **失敗分析** | 利用不可 | + LLM がセッションエラーを構造化教訓に変換 |
|
|
304
|
+
| **圧縮** | 利用不可 | `consolidate` + `dream` が冗長メモリを圧縮 |
|
|
305
|
+
| **コスト** | 無料、API キー不要 | 分析呼び出しあたり ~$0.0001(Haiku) |
|
|
240
306
|
|
|
241
307
|
---
|
|
242
308
|
|
|
@@ -245,7 +311,7 @@ memesh # ダッシュボード → Settings タブを開く
|
|
|
245
311
|
| ツール | 機能 |
|
|
246
312
|
|------|------|
|
|
247
313
|
| `remember` | 観察、関係、タグ付きで知識を保存 |
|
|
248
|
-
| `recall` |
|
|
314
|
+
| `recall` | FTS5 + sqlite-vec 検索、多要素スコアリング(関連性、新しさ、頻度、信頼度、時間的有効性) — ホットパスに LLM なし |
|
|
249
315
|
| `forget` | ソフトアーカイブ (削除されない) または特定の観察を削除 |
|
|
250
316
|
| `consolidate` | LLM が冗長メモリを圧縮 |
|
|
251
317
|
| `export` | メモリを JSON でシェア (プロジェクト・チーム間) |
|
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)는 이 다운로드가 필요하지 않습니다.
|
|
69
|
+
|
|
70
|
+
### 1.5단계: MeMesh를 Claude Code에 연결 (npm 경로만)
|
|
41
71
|
|
|
42
|
-
|
|
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,15 +213,36 @@ 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
|
+
8개 탭, 11개 언어, 외부 의존성 없음. 서버 실행 중 `http://localhost:3737/dashboard`에서 접근합니다.
|
|
178
239
|
|
|
179
240
|
| 탭 | 내용 |
|
|
180
241
|
|------|---|
|
|
242
|
+
| **Insights** | 메모리 인사이트 — dreamer 엔진의 주간 요약 및 패턴 제안; 원클릭 수락/거절 |
|
|
181
243
|
| **Search** | 모든 메모리에 걸친 전체 텍스트 + 벡터 유사성 검색 |
|
|
182
244
|
| **Browse** | 보관 및 복구 옵션이 있는 모든 엔티티 페이지 리스트 |
|
|
183
|
-
| **Analytics** | 메모리 건강
|
|
245
|
+
| **Analytics** | 메모리 건강 점수, 30일 타임라인, PM 속도 + KG 연결성 지표, 작업 패턴, 정리 제안 |
|
|
184
246
|
| **Graph** | 타입 필터, 검색, 에고 모드, 최근성 히트맵이 있는 인터랙티브 포스 디렉션 지식 그래프 |
|
|
185
247
|
| **Lessons** | 과거 실패로부터 구조화된 교훈(에러, 근본 원인, 수정, 예방) |
|
|
186
248
|
| **Manage** | 엔티티 보관 및 복구 |
|
|
@@ -190,14 +252,16 @@ memesh export-schema \
|
|
|
190
252
|
|
|
191
253
|
## 스마트 기능
|
|
192
254
|
|
|
193
|
-
**🧠 스마트 검색** —
|
|
255
|
+
**🧠 스마트 검색** — FTS5 + sqlite-vec를 사용해 모든 메모리에서 즉시 검색. 핫 패스에 LLM이 없어 LongMemEval-S에서 R@5 95.40% 달성.
|
|
194
256
|
|
|
195
257
|
**📊 점수 순위 매김** — 결과는 관련성(30%) + 최근성(25%) + 빈도(15%) + 신뢰도(15%) + 회상 영향(10%) + 시계열 유효성(5%)으로 순위 매겨집니다.
|
|
196
258
|
|
|
197
|
-
**🔄 지식 진화** — 결정은 변합니다. `forget`으로 오래된 메모리 보관(절대 삭제 안 함). `supersedes` 관계가 구 →
|
|
259
|
+
**🔄 지식 진화** — 결정은 변합니다. `forget`으로 오래된 메모리 보관(절대 삭제 안 함). `supersedes` 관계가 구 → 신을 연결합니다. AI는 항상 최신 버전을 봅니다.
|
|
198
260
|
|
|
199
261
|
**⚠️ 충돌 감지** — 서로 모순되는 메모리 두 개가 있으면 MeMesh가 경고합니다.
|
|
200
262
|
|
|
263
|
+
**🕸️ 지식 그래프 연결성** — `memesh kg backfill-relations --all-rules`는 태그 공동 발생, 프로젝트 클러스터링, 세션 컨텍스트, 이름 유사성을 사용해 고아 엔티티를 연결 — LLM 불필요. 대표적인 지식 베이스에서 고아 비율을 89%에서 12% 미만으로 감소.
|
|
264
|
+
|
|
201
265
|
**📦 팀 공유** — `memesh export > team-knowledge.json` → 팀과 공유 → `memesh import team-knowledge.json`
|
|
202
266
|
임포트된 번들은 계속 검색 가능하지만, MeMesh는 검토하거나 로컬에 다시 저장할 때까지 Claude 훅에 임포트된 메모리를 자동 주입하지 않습니다.
|
|
203
267
|
|
|
@@ -216,9 +280,9 @@ memesh export-schema \
|
|
|
216
280
|
|
|
217
281
|
---
|
|
218
282
|
|
|
219
|
-
## 스마트 모드
|
|
283
|
+
## 스마트 모드 언락 (선택)
|
|
220
284
|
|
|
221
|
-
MeMesh는 기본적으로 오프라인에서
|
|
285
|
+
MeMesh는 기본적으로 오프라인에서 작동합니다 — 회상은 엄격히 LLM-free로 유지됩니다(기본 설치만으로 LongMemEval-S에서 R@5 95.40%). LLM API 키는 그 위에 LLM 증강 분석 흐름을 원할 때만 추가합니다: 더 스마트한 세션 추출, 새 메모리의 자동 태그 부여, 실패로부터의 교훈 생성, `consolidate` / `dream` 압축:
|
|
222
286
|
|
|
223
287
|
```bash
|
|
224
288
|
memesh config set llm.provider anthropic
|
|
@@ -233,10 +297,12 @@ memesh # 대시보드 열기 → Settings 탭
|
|
|
233
297
|
|
|
234
298
|
| | Level 0 (기본) | Level 1 (스마트 모드) |
|
|
235
299
|
|---|---|---|
|
|
236
|
-
| **검색** | FTS5
|
|
300
|
+
| **검색** | FTS5 + sqlite-vec, R@5 95.40% (~18ms/쿼리) | 변경 없음 — 회상은 모든 레벨에서 LLM-free |
|
|
237
301
|
| **자동 캡처** | 규칙 기반 패턴 | + LLM이 결정과 교훈 추출 |
|
|
238
|
-
|
|
|
239
|
-
|
|
|
302
|
+
| **자동 태그 부여** | 수동 태그만 | + LLM이 새 메모리에 태그 생성 |
|
|
303
|
+
| **실패 분석** | 사용 불가 | + LLM이 세션 에러를 구조화된 교훈으로 변환 |
|
|
304
|
+
| **압축** | 사용 불가 | `consolidate` + `dream`이 장황한 메모리 압축 |
|
|
305
|
+
| **비용** | 무료, API 키 불필요 | ~$0.0001 분석 호출당 (Haiku) |
|
|
240
306
|
|
|
241
307
|
---
|
|
242
308
|
|
|
@@ -245,7 +311,7 @@ memesh # 대시보드 열기 → Settings 탭
|
|
|
245
311
|
| 도구 | 역할 |
|
|
246
312
|
|---|---|
|
|
247
313
|
| `remember` | 관찰, 관계, 태그를 포함한 지식 저장 |
|
|
248
|
-
| `recall` | 다중 요소 점수
|
|
314
|
+
| `recall` | 다중 요소 점수 매김(관련성, 최근성, 빈도, 신뢰도, 시계열 유효성)이 있는 FTS5 + sqlite-vec 검색 — 핫 패스에 LLM 없음 |
|
|
249
315
|
| `forget` | 소프트 보관(절대 삭제 안 함) 또는 특정 관찰 제거 |
|
|
250
316
|
| `consolidate` | LLM 기반 장황한 메모리 압축 |
|
|
251
317
|
| `export` | 프로젝트나 팀 멤버 간 메모리 JSON 공유 |
|
package/README.md
CHANGED
|
@@ -235,13 +235,14 @@ When npm flags an installed version as deprecated (typically a security advisory
|
|
|
235
235
|
|
|
236
236
|
## Dashboard
|
|
237
237
|
|
|
238
|
-
|
|
238
|
+
8 tabs, 11 languages, zero external dependencies. Access at `http://localhost:3737/dashboard` when the server is running.
|
|
239
239
|
|
|
240
240
|
| Tab | What you see |
|
|
241
241
|
|-----|-------------|
|
|
242
|
+
| **Insights** | Memory insights — weekly recaps and pattern proposals from the dreamer engine; one-click accept/reject |
|
|
242
243
|
| **Search** | Full-text + vector similarity search across all memories |
|
|
243
244
|
| **Browse** | Paginated list of all entities with archive/restore |
|
|
244
|
-
| **Analytics** | Memory Health Score
|
|
245
|
+
| **Analytics** | Memory Health Score, 30-day timeline, PM velocity + KG connectivity metrics, work patterns, cleanup suggestions |
|
|
245
246
|
| **Graph** | Interactive force-directed knowledge graph with type filters, search, ego mode, recency heatmap |
|
|
246
247
|
| **Lessons** | Structured lessons from past failures (error, root cause, fix, prevention) |
|
|
247
248
|
| **Manage** | Archive and restore entities |
|
|
@@ -259,6 +260,8 @@ When npm flags an installed version as deprecated (typically a security advisory
|
|
|
259
260
|
|
|
260
261
|
**⚠️ Conflict Detection** — If you have two memories that contradict each other, MeMesh warns you.
|
|
261
262
|
|
|
263
|
+
**🕸️ Knowledge Graph Connectivity** — `memesh kg backfill-relations --all-rules` links orphan entities using tag co-occurrence, project clustering, session context, and name similarity — no LLM required. Reduces orphan rate from 89% to under 12% on a representative knowledge base.
|
|
264
|
+
|
|
262
265
|
**📦 Team Sharing** — `memesh export > team-knowledge.json` → share with your team → `memesh import team-knowledge.json`
|
|
263
266
|
Imported bundles stay searchable, but MeMesh does not auto-inject imported memories into Claude hooks until you review or re-store them locally.
|
|
264
267
|
|
|
@@ -279,7 +282,7 @@ Imported bundles stay searchable, but MeMesh does not auto-inject imported memor
|
|
|
279
282
|
|
|
280
283
|
## Unlock Smart Mode (Optional)
|
|
281
284
|
|
|
282
|
-
MeMesh works offline by default. Add an LLM API key only if you want
|
|
285
|
+
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
286
|
|
|
284
287
|
```bash
|
|
285
288
|
memesh config set llm.provider anthropic
|
|
@@ -294,10 +297,12 @@ memesh # opens dashboard → Settings tab
|
|
|
294
297
|
|
|
295
298
|
| | Level 0 (default) | Level 1 (Smart Mode) |
|
|
296
299
|
|---|---|---|
|
|
297
|
-
| **Search** | FTS5
|
|
300
|
+
| **Search** | FTS5 + sqlite-vec, 95.40% R@5 (~18ms/query) | unchanged — recall is LLM-free at every level |
|
|
298
301
|
| **Auto-capture** | Rule-based patterns | + LLM extracts decisions & lessons |
|
|
299
|
-
| **
|
|
300
|
-
| **
|
|
302
|
+
| **Auto-tagging** | Manual tags only | + LLM generates tags for new memories |
|
|
303
|
+
| **Failure analysis** | Not available | + LLM converts session errors into structured lessons |
|
|
304
|
+
| **Compression** | Not available | `consolidate` + `dream` compress verbose memories |
|
|
305
|
+
| **Cost** | Free, no API key | ~$0.0001 per analysis call (Haiku) |
|
|
301
306
|
|
|
302
307
|
---
|
|
303
308
|
|
|
@@ -306,7 +311,7 @@ memesh # opens dashboard → Settings tab
|
|
|
306
311
|
| Tool | What it does |
|
|
307
312
|
|------|-------------|
|
|
308
313
|
| `remember` | Store knowledge with observations, relations, and tags |
|
|
309
|
-
| `recall` |
|
|
314
|
+
| `recall` | FTS5 + sqlite-vec search with multi-factor scoring (relevance, recency, frequency, confidence, temporal validity) — no LLM in the hot path |
|
|
310
315
|
| `forget` | Soft-archive (never deletes) or remove specific observations |
|
|
311
316
|
| `consolidate` | LLM-powered compression of verbose memories |
|
|
312
317
|
| `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,15 +186,36 @@ 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
|
+
8 abas, 11 idiomas, zero dependências externas. Acesse em `http://localhost:3737/dashboard` quando o servidor estiver rodando.
|
|
179
212
|
|
|
180
213
|
| Aba | O que você vê |
|
|
181
214
|
|-----|-------------|
|
|
215
|
+
| **Insights** | Insights de memória — resumos semanais e propostas de padrões do motor dreamer; aceitar/rejeitar com um clique |
|
|
182
216
|
| **Search** | Busca full-text + similaridade vetorial em todas as memórias |
|
|
183
217
|
| **Browse** | Lista paginada de todas as entidades com archive/restore |
|
|
184
|
-
| **Analytics** | Memory Health Score
|
|
218
|
+
| **Analytics** | Memory Health Score, timeline de 30 dias, velocidade PM + métricas de conectividade KG, padrões de trabalho, sugestões de limpeza |
|
|
185
219
|
| **Graph** | Grafo de conhecimento interativo force-directed com filtros por tipo, busca, modo ego, heatmap de recência |
|
|
186
220
|
| **Lessons** | Lições estruturadas de falhas passadas (erro, causa raiz, fix, prevenção) |
|
|
187
221
|
| **Manage** | Archive e restore de entidades |
|
|
@@ -199,6 +233,8 @@ Você não precisa lembrar tudo manualmente. MeMesh tem **7 hooks** que capturam
|
|
|
199
233
|
|
|
200
234
|
**⚠️ Detecção de Conflitos** — Se você tem duas memórias que se contradizem, MeMesh te avisa.
|
|
201
235
|
|
|
236
|
+
**🕸️ Conectividade do grafo de conhecimento** — `memesh kg backfill-relations --all-rules` liga entidades órfãs usando co-ocorrência de tags, agrupamento de projetos, contexto de sessão e similaridade de nomes — sem LLM. Reduz a taxa de órfãos de 89% para menos de 12% numa base de conhecimento representativa.
|
|
237
|
+
|
|
202
238
|
**📦 Compartilhamento em Equipe** — `memesh export > team-knowledge.json` → compartilhe com sua equipe → `memesh import team-knowledge.json`
|
|
203
239
|
Bundles importados permanecem pesquisáveis, mas MeMesh não injeta automaticamente memórias importadas nos hooks do Claude até você revisar ou re-armazená-las localmente.
|
|
204
240
|
|
|
@@ -219,7 +255,7 @@ Bundles importados permanecem pesquisáveis, mas MeMesh não injeta automaticame
|
|
|
219
255
|
|
|
220
256
|
## Desbloqueie Smart Mode (Opcional)
|
|
221
257
|
|
|
222
|
-
MeMesh funciona offline por padrão. Adicione uma chave de API de LLM apenas se quiser
|
|
258
|
+
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
259
|
|
|
224
260
|
```bash
|
|
225
261
|
memesh config set llm.provider anthropic
|
|
@@ -234,10 +270,12 @@ memesh # abre dashboard → aba Settings
|
|
|
234
270
|
|
|
235
271
|
| | Level 0 (padrão) | Level 1 (Smart Mode) |
|
|
236
272
|
|---|---|---|
|
|
237
|
-
| **Busca** |
|
|
273
|
+
| **Busca** | FTS5 + sqlite-vec, 95,40% R@5 (~18ms/query) | inalterado — recall é LLM-free em todos os níveis |
|
|
238
274
|
| **Auto-capture** | Padrões baseados em regras | + LLM extrai decisões & lições |
|
|
239
|
-
| **
|
|
240
|
-
| **
|
|
275
|
+
| **Auto-tagging** | Apenas tags manuais | + LLM gera tags para novas memórias |
|
|
276
|
+
| **Análise de falhas** | Não disponível | + LLM converte erros de sessão em structured lessons |
|
|
277
|
+
| **Compressão** | Não disponível | `consolidate` + `dream` comprimem memórias verbosas |
|
|
278
|
+
| **Custo** | Grátis, sem chave de API | ~$0.0001 por analysis call (Haiku) |
|
|
241
279
|
|
|
242
280
|
---
|
|
243
281
|
|
|
@@ -246,7 +284,7 @@ memesh # abre dashboard → aba Settings
|
|
|
246
284
|
| Ferramenta | O que faz |
|
|
247
285
|
|------|-------------|
|
|
248
286
|
| `remember` | Armazena conhecimento com observações, relações e tags |
|
|
249
|
-
| `recall` | Busca
|
|
287
|
+
| `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
288
|
| `forget` | Soft-archive (nunca deleta) ou remove observações específicas |
|
|
251
289
|
| `consolidate` | Compressão com LLM de memórias verbosas |
|
|
252
290
|
| `export` | Compartilha memórias como JSON entre projetos ou membros da equipe |
|