一套給 Claude Code 的持久記憶系統。讓 Claude 在不同對話之間記住你的偏好、決策與知識,並透過反思機制越來越懂你。
A portable, persistent memory system for Claude Code.
Gives Claude the ability to remember conversations, evolve over time, and never repeat the same mistakes.
每次對話
↓
Claude 自動偵測重要內容(偏好、決策、問題解法)
↓
/capture 手動確保存入記憶庫
↓
/dream 深度整理 + 反思 + 提煉行為準則
↓
你審核準則 → 批准 → 永久寫入 doctrine.md(CLAUDE.md 只留一行指向它)
↓
下次對話 Claude 自動讀取並遵守,越來越懂你
| 指令 | 功能 |
|---|---|
/capture |
立刻把這次對話存進記憶(含技能培育進度條) |
/dream |
深度整理:實體掃描 → 去重 → 反思進化 → 更新索引 |
/status |
查看記憶庫健康狀態與技能培育進度 |
/schedule-dream |
設定每天自動整理記憶的時間 |
/review-doctrine |
審核 Claude 提煉的行為準則,批准後永久生效 |
- 下載並解壓縮這個資料夾
- 打開
claude-memory-system資料夾 - 在空白處按住
Shift+ 右鍵 → 「在這裡開啟 PowerShell 視窗」 - 輸入:
.\install.ps1如果出現「無法執行腳本」錯誤,先執行:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
chmod +x install.sh && ./install.sh重啟 VS Code,輸入 /status 確認安裝成功。
想做機器級的健康檢查(連結是否壞、知識頁格式是否正確…),隨時可跑:
~\.claude\memory-lint.ps1 # Windows~/.claude/memory-lint.sh # Mac/LinuxWindows: C:\Users\你的帳號\.claude\
Mac/Linux: ~/.claude/
.claude/
├── commands/ ← 5 個指令的 .md
├── skills/ ← 升格後的正式技能(含 skill-creator)
├── hooks/ ← block-failed-actions.ps1 / .sh(失效行為強制層)
├── settings.json ← 安裝時自動註冊 PreToolUse hook(保留你既有設定)
├── memory-lint.ps1 / .sh ← 記憶健康檢查器(可隨時手動跑)
└── memory/
├── MEMORY.md ← 主索引(每次對話自動載入;頂部含「環境限制」指令區)
├── blocked-actions.json ← 失效工具登記簿(hook 讀它來硬擋)
├── feedback_user_style.md ← 你的偏好
├── reflection.md ← Claude 的反思日誌(自動累積)
├── doctrine.md ← 已批准的永久行為準則
├── doctrine_candidates.md ← 待審核準則候選
├── conversations/ ← 每天對話紀錄(archive/ 自動封存)
└── knowledge/ ← 工具 / 專案知識頁(archive/ 自動封存)
Claude 在每次對話中偵測信號(偏好 / 決策 / 問題解法),自動寫入 conversations/今天.md。
每次執行 /dream 會:
- 從對話中找出做對的、卡住的、下次怎麼改
- 累積寫入
reflection.md - 跨 2 次以上的模式 → 提煉為 doctrine 候選
反思發現模式 → 提煉準則候選 → 你審核批准
↓
寫入 doctrine.md → CLAUDE.md 指向這個檔案
↓
下次對話 Claude 自動讀取並遵守
同一主題在不同天對話中出現 ≥3 次 → 自動呼叫 skill-creator 建立正式技能。
某個技能出錯時(你說「不對」、它漏掉情況),/capture 會記下來,/dream 再把它寫進該技能的
「Known Limitations & Fallbacks」段。下次該技能觸發前 Claude 先讀這段,主動避開同樣的錯。
/capture 萃取知識前先過一道閘門:本次對話的產物(你剛寫好的 tetris.html、某個函式)
是「成果」不是「知識」,絕不建知識頁。判斷捷徑:「三個月後另一個專案我會想翻這頁嗎?」
會 → 存;不會 → 丟。避免記憶庫被一次性檔名稀釋。
記憶若只是「筆記」,Claude 可能讀了照樣犯。本層讓「失效的工具」物理上叫不動:
偵測(/capture)→ 工具在此環境失效(如 WebSearch 回 400)
→ 第1層:寫成 MEMORY.md 頂部「環境限制」可執行指令(每次載入)
→ 第2層:登記進 blocked-actions.json → PreToolUse hook 在呼叫前直接擋下、改用替代工具
→ 第3層:非單一工具的壞習慣 → 升級成 doctrine
hook 是資料驅動的:它不認識任何特定工具,只讀登記簿,所以日後封鎖新工具不必改任何程式碼。
⚠️ 別把「工具失效」當成「技能失敗」:內建工具壞掉(WebSearch 回 400…)要走這層硬攔截, 不是上面的「技能失敗兜底」。技能兜底會寫進某個SKILL.md、且只在該技能觸發時才讀—— 內建工具沒有 SKILL.md、也不會那樣觸發,記在那裡等於沒記、照樣呼叫。
conversations/> 30 個檔案 → 封存最舊的knowledge/*.md> 200 行 → 封存最舊的時間軸(保留「當前狀態」)doctrine.md> 80 條 → /dream 自動合併重複準則
- Claude Code(VS Code 擴充功能或 CLI)
- 僅此而已,不需要資料庫、不需要 API Key
- 自動偵測是盡力而為:Claude 用判斷力,不是背景程序。用
/capture才能保證存到 - 沒有向量搜尋:關鍵字搜尋(不像 GBrain 有 embedding)
- 大多靠 Claude 遵守指令:記憶與準則是軟性約束(約 95% 可靠)。例外是失效工具的強制層——登記在
blocked-actions.json的工具由 PreToolUse hook 硬擋,這部分是 100% 技術保證(需重啟 Claude Code 後生效)
| 檔案 | 內容 |
|---|---|
| 新手指南.md | 👈 先看這個:白話快速上手(小白) |
| MEMORY_GUIDE.md | 繁體中文完整使用說明(進階參考) |
| TECHNICAL_GUIDE.md | 機制技術詳解(進階) |
| CHANGELOG.md | 變更歷程(改了什麼、為什麼) |
| ROADMAP.md | 延後工作清單(低優先項何時做、怎麼做) |
MIT