跳到主內容

Theme / v3.11.0

MemPalace

本地優先的 AI 記憶宮殿

指令詳解

mempalace add

添加新的 Drawer(記憶)到 Palace,支援 Reference 與 Observation 兩種類型。

mempalace add

添加新的 Drawer(記憶)到 Palace,支援 Reference 與 Observation 兩種類型。

指令

mempalace add [options]

選項

選項 描述 預設值
–type Drawer 類型(reference/observation) observation
–title Drawer 標題 無
–content Observation Drawer 的內容 無
–file Reference Drawer 的本地檔案路徑 無
–range Reference Drawer 的引用範圍(檔案行號) 無
–source Reference Drawer 的外部來源 URL 無
–wing Wing 名稱 目前目錄對應的 Wing
–room Room 名稱 未分類 (uncategorized)
–tags 抽屜標籤(逗號分隔) 無
–sources Observation Drawer 的來源(格式:file:range) 無

範例

添加 Reference Drawer

# 引用網頁內容
mempalace add --type reference \
  --title "PostgreSQL JSONB 最佳實踐" \
  --source "https://www.postgresql.org/docs/current/datatype-json.html" \
  --range "lines 1-100" \
  --tags "postgresql,jsonb,performance"

# 引用專案中的 Markdown 文件
mempalace add --type reference \
  --title "測試策略規範" \
  --file "docs/testing-strategy.md" \
  --range "lines 20-45"

# 引用來源並指定 Wing 和 Room
mempalace add --type reference \
  --wing "d:/Repo/myproject" \
  --room "database-schema" \
  --title "PostgreSQL 關聯數據處理" \
  --source "https://www.postgresql.org/docs/current/queries-join.html" \
  --range "lines 50-150" \
  --tags "postgresql,join,performance"

添加 Observation Drawer

# 記錄見解
mempalace add --type observation \
  --title "測試範圍須涵蓋 80% 業務邏輯分支" \
  --content "根據過去專案的 Bug 分佈,主要集中在業務邏輯分支處理缺失。" \
  --sources "testing-strategy.md:20-45" \
  --tags "testing,press-release"

# 來源於會話對話
mempalace add --type observation \
  --wing "d:/Repo/myproject" \
  --room "architecture" \
  --title "微服務邊界按業務能力拆分" \
  --content "微服務應根據業務能力而非技術層次拆分,以提高團隊的自主性與互動需求。" \
  --sources "vscode-workspace-1/session-20260715T143000.md:120-145" \
  --tags "microservices,architecture,independence"

# 多來源的見解
mempalace add --type observation \
  --title "Claude 4.5 能更好地處理跨文件依賴追蹤" \
  --content "實際專案測試中,Claude 4.5 在 10 步以上的代碼追蹤成功率比 GPT-4o 高 38%。" \
  --sources "benchmark-report.md:45-89,session-20260715T143000.md:120-145" \
  --tags "models,benchmark,performance"

Drawer ID 自動分配

系統會為每個 Drawer 分配唯一 ID(三數字):

wing/room/drawer-001.md
wing/room/drawer-002.md
wing/room/drawer-003.md

檢視 Drawer 內容

# 列出某個 Room 下的 Drawers
mempalace list --wing "d:/Repo/myproject" --room "database-schema"

# 檢視特定 Drawer
mempalace view --drawer "d:/Repo/myproject/database-schema/drawer-001.md"

# 編輯 Drawer(可修改內容與 Links)
mempalace edit --drawer "d:/Repo/myproject/database-schema/drawer-001.md"

關聯到其他 Drawers

透過 mempalace link 將 Drawers 互相連接:

# 關聯兩個 Drawers
mempalace link --source "drawer-020" \
  --target "drawer-015" \
  --type "relates_to" \
  --reason "都涉及安全設計(認證 vs 加密)"

或在 Drawer 中直接編輯 Links:

mempalace edit --drawer "drawer-025 --add-links [{
  \"type\": \"extends_from\",
  \"target\": \"drawer-020\",
  \"reason\": \"在基礎架構上添加災難恢復設計\"
}]"

錯誤處理

# 缺少必要參數
$ mempalace add --type reference
✗ --title is required for reference drawers

# 未指定 Wing 且目前目錄不在 Palace
$ mempalace add
✗ No wing found. Please specify --wing or run from a tracked directory.

# 引用檔案不存在
$ mempalace add --type reference --file "missing-file.md"
✗ File not found: missing-file.md

# 來源格式錯誤
$ mempalace add --type observation --sources "wrong-format"
✗ Invalid sources format. Expected: --sources "file:line1-line2,file2:line3-line5"

相關指令

  • mempalace link - 關聯 Drawers
  • mempalace edit - 編輯 Drawer 內容與 Links
  • mempalace view - 檢視 Drawer 內容
  • mempalace list - 列出 Drawers